|
|
Chromium Code Reviews
Description[Command buffer] blitFramebuffer should not disable scissor test
BUG=634525
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Committed: https://crrev.com/123afb9598205d150fdb8b91cd1d8152393514f2
Cr-Commit-Position: refs/heads/master@{#420797}
Patch Set 1 #Patch Set 2 : remove TODO #Patch Set 3 : Fix bots failure: we don't disable scissor test deliberately now #
Total comments: 1
Messages
Total messages: 30 (22 generated)
Description was changed from ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 ========== to ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
The CQ bit was checked by yunchao.he@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_optional_gpu_tests_rel on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_...)
The CQ bit was checked by yunchao.he@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by yunchao.he@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
yunchao.he@intel.com changed reviewers: + kbr@chromium.org, piman@chromium.org, qiankun.miao@intel.com, zmo@chromium.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_optional_gpu_tests_rel on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_...)
According to GLES 3.0 spec (and OGL spec), blitFramebuffer should honor the scissor test. The conformance test is added at https://github.com/KhronosGroup/WebGL/pull/2060/. It fails both on Linux desktop and MacOSX. With this patch applied, that conformance test can pass on these two platforms. PTAL. Thanks!
The CQ bit was checked by yunchao.he@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... gpu/command_buffer/service/gles2_cmd_decoder.cc:7727: state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); You can only remove this conditionally. The CHROMIUM extension does say BlitFramebuffer isn't affected by scissor (probably just for coding convenience at the time, now it's a messy situation). So only remove this if it's ES3 contexts and then stop advertise that extension in FeatureInfo when it's ES3.
On 2016/09/23 18:35:21, Zhenyao Mo wrote: > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): > > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > gpu/command_buffer/service/gles2_cmd_decoder.cc:7727: > state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); > You can only remove this conditionally. The CHROMIUM extension does say > BlitFramebuffer isn't affected by scissor (probably just for coding convenience > at the time, now it's a messy situation). Is this documented somewhere? I couldn't find a CHROMIUM_framebuffer_blit.txt in src/gpu/GLES2/extensions/CHROMIUM/ , nor by searching the web. Could we just change the rules for CHROMIUM_framebuffer_blit so that it honors the scissor rectangle? ANGLE_framebuffer_blit honors it, and I doubt anyone's relying on it not being honored. > So only remove this if it's ES3 contexts and then stop advertise that extension > in FeatureInfo when it's ES3.
On 2016/09/23 19:18:07, Ken Russell wrote: > On 2016/09/23 18:35:21, Zhenyao Mo wrote: > > > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > > File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): > > > > > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > > gpu/command_buffer/service/gles2_cmd_decoder.cc:7727: > > state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); > > You can only remove this conditionally. The CHROMIUM extension does say > > BlitFramebuffer isn't affected by scissor (probably just for coding > convenience > > at the time, now it's a messy situation). > > Is this documented somewhere? I couldn't find a CHROMIUM_framebuffer_blit.txt in > src/gpu/GLES2/extensions/CHROMIUM/ , nor by searching the web. > > Could we just change the rules for CHROMIUM_framebuffer_blit so that it honors > the scissor rectangle? ANGLE_framebuffer_blit honors it, and I doubt anyone's > relying on it not being honored. The only place in chromium that uses this is in DrawingBuffer::commit, which disables scissor before and enables scissor after, so I guess we are fine here. Nacl is another concern but probably not worth the mess. > > > So only remove this if it's ES3 contexts and then stop advertise that > extension > > in FeatureInfo when it's ES3.
On 2016/09/23 19:42:36, Zhenyao Mo wrote: > On 2016/09/23 19:18:07, Ken Russell wrote: > > On 2016/09/23 18:35:21, Zhenyao Mo wrote: > > > > > > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > > > File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): > > > > > > > > > https://codereview.chromium.org/2362163003/diff/40001/gpu/command_buffer/serv... > > > gpu/command_buffer/service/gles2_cmd_decoder.cc:7727: > > > state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); > > > You can only remove this conditionally. The CHROMIUM extension does say > > > BlitFramebuffer isn't affected by scissor (probably just for coding > > convenience > > > at the time, now it's a messy situation). > > > > Is this documented somewhere? I couldn't find a CHROMIUM_framebuffer_blit.txt > in > > src/gpu/GLES2/extensions/CHROMIUM/ , nor by searching the web. > > > > Could we just change the rules for CHROMIUM_framebuffer_blit so that it honors > > the scissor rectangle? ANGLE_framebuffer_blit honors it, and I doubt anyone's > > relying on it not being honored. > > The only place in chromium that uses this is in DrawingBuffer::commit, which > disables scissor before and enables scissor after, so I guess we are fine here. > > Nacl is another concern but probably not worth the mess. > > > > > > So only remove this if it's ES3 contexts and then stop advertise that > > extension > > > in FeatureInfo when it's ES3. lgtm
The CQ bit was checked by yunchao.he@intel.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== [Command buffer] blitFramebuffer should not disable scissor test BUG=634525 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/123afb9598205d150fdb8b91cd1d8152393514f2 Cr-Commit-Position: refs/heads/master@{#420797} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/123afb9598205d150fdb8b91cd1d8152393514f2 Cr-Commit-Position: refs/heads/master@{#420797} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
