| 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 <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 5678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5689 } | 5689 } |
| 5690 } | 5690 } |
| 5691 | 5691 |
| 5692 void GLES2DecoderImpl::RestoreClearState() { | 5692 void GLES2DecoderImpl::RestoreClearState() { |
| 5693 framebuffer_state_.clear_state_dirty = true; | 5693 framebuffer_state_.clear_state_dirty = true; |
| 5694 glClearColor( | 5694 glClearColor( |
| 5695 state_.color_clear_red, state_.color_clear_green, state_.color_clear_blue, | 5695 state_.color_clear_red, state_.color_clear_green, state_.color_clear_blue, |
| 5696 state_.color_clear_alpha); | 5696 state_.color_clear_alpha); |
| 5697 glClearStencil(state_.stencil_clear); | 5697 glClearStencil(state_.stencil_clear); |
| 5698 glClearDepth(state_.depth_clear); | 5698 glClearDepth(state_.depth_clear); |
| 5699 if (state_.enable_flags.scissor_test) { | 5699 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, |
| 5700 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, true); | 5700 state_.enable_flags.scissor_test); |
| 5701 } | 5701 glScissor(state_.scissor_x, state_.scissor_y, state_.scissor_width, |
| 5702 state_.scissor_height); |
| 5702 } | 5703 } |
| 5703 | 5704 |
| 5704 GLenum GLES2DecoderImpl::DoCheckFramebufferStatus(GLenum target) { | 5705 GLenum GLES2DecoderImpl::DoCheckFramebufferStatus(GLenum target) { |
| 5705 Framebuffer* framebuffer = | 5706 Framebuffer* framebuffer = |
| 5706 GetFramebufferInfoForTarget(target); | 5707 GetFramebufferInfoForTarget(target); |
| 5707 if (!framebuffer) { | 5708 if (!framebuffer) { |
| 5708 return GL_FRAMEBUFFER_COMPLETE; | 5709 return GL_FRAMEBUFFER_COMPLETE; |
| 5709 } | 5710 } |
| 5710 GLenum completeness = framebuffer->IsPossiblyComplete(); | 5711 GLenum completeness = framebuffer->IsPossiblyComplete(); |
| 5711 if (completeness != GL_FRAMEBUFFER_COMPLETE) { | 5712 if (completeness != GL_FRAMEBUFFER_COMPLETE) { |
| (...skipping 3216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8928 } | 8929 } |
| 8929 glClearStencil(0); | 8930 glClearStencil(0); |
| 8930 state_.SetDeviceStencilMaskSeparate(GL_FRONT, kDefaultStencilMask); | 8931 state_.SetDeviceStencilMaskSeparate(GL_FRONT, kDefaultStencilMask); |
| 8931 state_.SetDeviceStencilMaskSeparate(GL_BACK, kDefaultStencilMask); | 8932 state_.SetDeviceStencilMaskSeparate(GL_BACK, kDefaultStencilMask); |
| 8932 glClearDepth(1.0f); | 8933 glClearDepth(1.0f); |
| 8933 state_.SetDeviceDepthMask(GL_TRUE); | 8934 state_.SetDeviceDepthMask(GL_TRUE); |
| 8934 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, true); | 8935 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, true); |
| 8935 glScissor(xoffset, yoffset, width, height); | 8936 glScissor(xoffset, yoffset, width, height); |
| 8936 glClear(GL_DEPTH_BUFFER_BIT | (have_stencil ? GL_STENCIL_BUFFER_BIT : 0)); | 8937 glClear(GL_DEPTH_BUFFER_BIT | (have_stencil ? GL_STENCIL_BUFFER_BIT : 0)); |
| 8937 | 8938 |
| 8938 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); | |
| 8939 RestoreClearState(); | 8939 RestoreClearState(); |
| 8940 | 8940 |
| 8941 glDeleteFramebuffersEXT(1, &fb); | 8941 glDeleteFramebuffersEXT(1, &fb); |
| 8942 Framebuffer* framebuffer = | 8942 Framebuffer* framebuffer = |
| 8943 GetFramebufferInfoForTarget(GL_DRAW_FRAMEBUFFER_EXT); | 8943 GetFramebufferInfoForTarget(GL_DRAW_FRAMEBUFFER_EXT); |
| 8944 GLuint fb_service_id = | 8944 GLuint fb_service_id = |
| 8945 framebuffer ? framebuffer->service_id() : GetBackbufferServiceId(); | 8945 framebuffer ? framebuffer->service_id() : GetBackbufferServiceId(); |
| 8946 glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, fb_service_id); | 8946 glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, fb_service_id); |
| 8947 return true; | 8947 return true; |
| 8948 } | 8948 } |
| (...skipping 4480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13429 } | 13429 } |
| 13430 } | 13430 } |
| 13431 | 13431 |
| 13432 // Include the auto-generated part of this file. We split this because it means | 13432 // Include the auto-generated part of this file. We split this because it means |
| 13433 // we can easily edit the non-auto generated parts right here in this file | 13433 // we can easily edit the non-auto generated parts right here in this file |
| 13434 // instead of having to edit some template or the code generator. | 13434 // instead of having to edit some template or the code generator. |
| 13435 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 13435 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
| 13436 | 13436 |
| 13437 } // namespace gles2 | 13437 } // namespace gles2 |
| 13438 } // namespace gpu | 13438 } // namespace gpu |
| OLD | NEW |