| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| 6 | 6 |
| 7 #include <limits.h> | 7 #include <limits.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 #include <stdio.h> | 10 #include <stdio.h> |
| (...skipping 16610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16621 LOCAL_SET_GL_ERROR( | 16621 LOCAL_SET_GL_ERROR( |
| 16622 GL_INVALID_OPERATION, | 16622 GL_INVALID_OPERATION, |
| 16623 "glCreateAndConsumeTextureCHROMIUM", "invalid target"); | 16623 "glCreateAndConsumeTextureCHROMIUM", "invalid target"); |
| 16624 return; | 16624 return; |
| 16625 } | 16625 } |
| 16626 | 16626 |
| 16627 texture_ref = texture_manager()->Consume(client_id, texture); | 16627 texture_ref = texture_manager()->Consume(client_id, texture); |
| 16628 } | 16628 } |
| 16629 | 16629 |
| 16630 void GLES2DecoderImpl::DoApplyScreenSpaceAntialiasingCHROMIUM() { | 16630 void GLES2DecoderImpl::DoApplyScreenSpaceAntialiasingCHROMIUM() { |
| 16631 if (!feature_info_->feature_flags().chromium_screen_space_antialiasing) { |
| 16632 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, |
| 16633 "glApplyScreenSpaceAntialiasingCHROMIUM", |
| 16634 "command not supported"); |
| 16635 return; |
| 16636 } |
| 16637 |
| 16638 Framebuffer* bound_framebuffer = |
| 16639 GetFramebufferInfoForTarget(GL_DRAW_FRAMEBUFFER); |
| 16640 if (!bound_framebuffer) { |
| 16641 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, |
| 16642 "glApplyScreenSpaceAntialiasingCHROMIUM", |
| 16643 "no bound framebuffer object"); |
| 16644 return; |
| 16645 } |
| 16646 |
| 16631 // Apply CMAA(Conservative Morphological Anti-Aliasing) algorithm to the | 16647 // Apply CMAA(Conservative Morphological Anti-Aliasing) algorithm to the |
| 16632 // color attachments of currently bound draw framebuffer. | 16648 // color attachments of currently bound draw framebuffer. |
| 16633 // Reference GL_INTEL_framebuffer_CMAA for details. | 16649 // Reference GL_INTEL_framebuffer_CMAA for details. |
| 16634 // Use platform version if available. | 16650 // Use platform version if available. |
| 16635 if (!feature_info_->feature_flags() | 16651 if (!feature_info_->feature_flags() |
| 16636 .use_chromium_screen_space_antialiasing_via_shaders) { | 16652 .use_chromium_screen_space_antialiasing_via_shaders) { |
| 16637 glApplyFramebufferAttachmentCMAAINTEL(); | 16653 glApplyFramebufferAttachmentCMAAINTEL(); |
| 16638 } else { | 16654 } else { |
| 16639 // Defer initializing the CopyTextureCHROMIUMResourceManager until it is | 16655 // Defer initializing the CopyTextureCHROMIUMResourceManager until it is |
| 16640 // needed because it takes ??s of milliseconds to initialize. | 16656 // needed because it takes ??s of milliseconds to initialize. |
| 16641 if (!apply_framebuffer_attachment_cmaa_intel_.get()) { | 16657 if (!apply_framebuffer_attachment_cmaa_intel_.get()) { |
| 16642 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER( | 16658 LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER( |
| 16643 "glApplyFramebufferAttachmentCMAAINTEL"); | 16659 "glApplyFramebufferAttachmentCMAAINTEL"); |
| 16644 apply_framebuffer_attachment_cmaa_intel_.reset( | 16660 apply_framebuffer_attachment_cmaa_intel_.reset( |
| 16645 new ApplyFramebufferAttachmentCMAAINTELResourceManager()); | 16661 new ApplyFramebufferAttachmentCMAAINTELResourceManager()); |
| 16646 apply_framebuffer_attachment_cmaa_intel_->Initialize(this); | 16662 apply_framebuffer_attachment_cmaa_intel_->Initialize(this); |
| 16647 RestoreCurrentFramebufferBindings(); | 16663 RestoreCurrentFramebufferBindings(); |
| 16648 if (LOCAL_PEEK_GL_ERROR("glApplyFramebufferAttachmentCMAAINTEL") != | 16664 if (LOCAL_PEEK_GL_ERROR("glApplyFramebufferAttachmentCMAAINTEL") != |
| 16649 GL_NO_ERROR) | 16665 GL_NO_ERROR) |
| 16650 return; | 16666 return; |
| 16651 } | 16667 } |
| 16652 apply_framebuffer_attachment_cmaa_intel_ | 16668 apply_framebuffer_attachment_cmaa_intel_ |
| 16653 ->ApplyFramebufferAttachmentCMAAINTEL( | 16669 ->ApplyFramebufferAttachmentCMAAINTEL(this, bound_framebuffer); |
| 16654 this, GetFramebufferInfoForTarget(GL_DRAW_FRAMEBUFFER)); | |
| 16655 } | 16670 } |
| 16656 } | 16671 } |
| 16657 | 16672 |
| 16658 void GLES2DecoderImpl::DoInsertEventMarkerEXT( | 16673 void GLES2DecoderImpl::DoInsertEventMarkerEXT( |
| 16659 GLsizei length, const GLchar* marker) { | 16674 GLsizei length, const GLchar* marker) { |
| 16660 if (!marker) { | 16675 if (!marker) { |
| 16661 marker = ""; | 16676 marker = ""; |
| 16662 } | 16677 } |
| 16663 debug_marker_manager_.SetMarker( | 16678 debug_marker_manager_.SetMarker( |
| 16664 length ? std::string(marker, length) : std::string(marker)); | 16679 length ? std::string(marker, length) : std::string(marker)); |
| (...skipping 1852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 18517 } | 18532 } |
| 18518 | 18533 |
| 18519 // Include the auto-generated part of this file. We split this because it means | 18534 // Include the auto-generated part of this file. We split this because it means |
| 18520 // we can easily edit the non-auto generated parts right here in this file | 18535 // we can easily edit the non-auto generated parts right here in this file |
| 18521 // instead of having to edit some template or the code generator. | 18536 // instead of having to edit some template or the code generator. |
| 18522 #include "base/macros.h" | 18537 #include "base/macros.h" |
| 18523 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 18538 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
| 18524 | 18539 |
| 18525 } // namespace gles2 | 18540 } // namespace gles2 |
| 18526 } // namespace gpu | 18541 } // namespace gpu |
| OLD | NEW |