diff options
author | sievers@chromium.org <sievers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 23:53:32 +0000 |
---|---|---|
committer | sievers@chromium.org <sievers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 23:53:32 +0000 |
commit | 81fc9d04622c12919783e52302e6d72054f68ed3 (patch) | |
tree | 99c82e80be95d646527f1663abe454b9076c7ec5 /gpu | |
parent | 37d6cba6df242a38e1e60b21c84513f4d075003f (diff) | |
download | chromium_src-81fc9d04622c12919783e52302e6d72054f68ed3.zip chromium_src-81fc9d04622c12919783e52302e6d72054f68ed3.tar.gz chromium_src-81fc9d04622c12919783e52302e6d72054f68ed3.tar.bz2 |
Android: Extend QualComm scissor bug workaround
This extends the workaround from
https://codereview.chromium.org/11734037/
Apparently, the driver also applies an incorrect scissor after we change the texture to FBO binding with glFramebufferTexture2D().
BUG=188600
NOTRY=True
Review URL: https://codereview.chromium.org/12566032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index 0d6ba07..5e3bea65d 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -3790,6 +3790,7 @@ void GLES2DecoderImpl::RestoreTextureState(unsigned service_id) const { void GLES2DecoderImpl::OnFboChanged() const { if (workarounds().restore_scissor_on_fbo_change) + // The driver forgets the correct scissor when modifying the FBO binding. glScissor(state_.scissor_x, state_.scissor_y, state_.scissor_width, state_.scissor_height); } @@ -4810,6 +4811,7 @@ void GLES2DecoderImpl::DoFramebufferRenderbuffer( if (framebuffer == state_.bound_draw_framebuffer) { clear_state_dirty_ = true; } + OnFboChanged(); } void GLES2DecoderImpl::DoDisable(GLenum cap) { @@ -4968,6 +4970,7 @@ void GLES2DecoderImpl::DoFramebufferTexture2D( if (framebuffer == state_.bound_draw_framebuffer) { clear_state_dirty_ = true; } + OnFboChanged(); } void GLES2DecoderImpl::DoGetFramebufferAttachmentParameteriv( |