Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Issue 2496813002: [Command buffer] workaround the framebuffer completeness bug for Intel Mac (Closed)

Created:
4 years, 1 month ago by yunchao
Modified:
3 years, 10 months ago
CC:
chromium-reviews, piman+watch_chromium.org, Yang Gu
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

workaround the framebuffer completeness bug for Intel Mac. If the read buffer or draw buffers have missing image, but the fbo have image attached to other color buffer(s), then reset corresponding readbuffer/drawbufers to GL_NONE, before check framebuffer status for Intel Mac. BUG=630800 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

Patch Set 1 #

Patch Set 2 : fix #

Patch Set 3 : apply the workaround to all Mac vendors, not only Mac Intel #

Total comments: 5

Patch Set 4 : confine to intel only #

Patch Set 5 : don't need to check color buffers #

Patch Set 6 : Another workaround: reset attachment point to GL_NONE if it has no image #

Patch Set 7 : Reset (not restore) read buffer and/or draw buffers for all read/draw related APIs #

Total comments: 20

Patch Set 8 : addressed zmo@'s feedback, with some fixes to clear and clearbuffer* #

Patch Set 9 : code refactoring per zmo@'s suggestion: move read/draw buffer adjustment into CheckBound{Read|Draw}FramebufferValid #

Total comments: 9

Patch Set 10 : code rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -36 lines) Patch
M content/test/gpu/gpu_tests/webgl2_conformance_expectations.py View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +37 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 8 9 31 chunks +178 lines, -29 lines 0 comments Download
M gpu/config/gpu_driver_bug_list_json.cc View 1 2 3 4 5 6 7 2 chunks +13 lines, -1 line 0 comments Download
M gpu/config/gpu_driver_bug_workaround_type.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 60 (49 generated)
yunchao
PTAL. Thanks a lot!
4 years, 1 month ago (2016-11-11 14:52:47 UTC) #27
qiankun
The commit description should also be changed if this CL isn't Intel specific. https://codereview.chromium.org/2496813002/diff/140001/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py File ...
4 years, 1 month ago (2016-11-11 15:30:48 UTC) #28
Zhenyao Mo
See my comments on crbug.com/630800 I don't think this is a good workaround.
4 years, 1 month ago (2016-11-11 21:21:49 UTC) #31
yunchao
On 2016/11/11 21:21:49, Zhenyao Mo wrote: > See my comments on crbug.com/630800 > > I ...
4 years, 1 month ago (2016-11-14 16:21:21 UTC) #42
Zhenyao Mo
Yunchao, thanks for working on this. I had some high level design suggestions. I reviewed ...
4 years, 1 month ago (2016-11-14 19:42:24 UTC) #43
yunchao
Thanks for your review, Qiankun. https://codereview.chromium.org/2496813002/diff/140001/gpu/command_buffer/service/framebuffer_manager.cc File gpu/command_buffer/service/framebuffer_manager.cc (right): https://codereview.chromium.org/2496813002/diff/140001/gpu/command_buffer/service/framebuffer_manager.cc#newcode640 gpu/command_buffer/service/framebuffer_manager.cc:640: if (attachments_.find(GL_COLOR_ATTACHMENT0 + i) ...
4 years, 1 month ago (2016-11-15 16:04:34 UTC) #52
yunchao
Thanks for your review, Zhenyao. Could you take another look at the latest patch set? ...
4 years, 1 month ago (2016-11-15 16:21:59 UTC) #53
yunchao
> https://codereview.chromium.org/2496813002/diff/220001/gpu/config/gpu_driver_bug_workaround_type.h#newcode19 > gpu/config/gpu_driver_bug_workaround_type.h:19: > adjust_framebuffer_complete_status) \ > On 2016/11/14 19:42:24, Zhenyao Mo wrote: > ...
4 years, 1 month ago (2016-11-15 16:29:08 UTC) #54
Zhenyao Mo
This CL still needs some careful thinking about designing. At this point, I would suggest ...
4 years, 1 month ago (2016-11-16 03:27:28 UTC) #58
yunchao
On 2016/11/16 03:27:28, Zhenyao Mo wrote: > This CL still needs some careful thinking about ...
4 years, 1 month ago (2016-11-16 06:04:54 UTC) #59
yunchao
3 years, 10 months ago (2017-02-15 06:36:58 UTC) #60
On 2016/11/16 06:04:54, yunchao wrote:
> On 2016/11/16 03:27:28, Zhenyao Mo wrote:
> > This CL still needs some careful thinking about designing.
> > 
> > At this point, I would suggest we move it to after M56 branching point
because
> > this is a high risk CL.
> 
> Make sense. readbuffer and drawbuffers missing image is not well covered by
> WebGL CTS. So the bots can not catch errors.
> 
> I use https://github.com/KhronosGroup/WebGL/pull/2137 to validate this patch.
> But that pr is not landed too.

As Zhenyao said at the corresponding crbug/630800. This workaround seems to be
nasty. And we have already filed radar (29715965) to Apple. I would like to
close this patch.

Powered by Google App Engine
This is Rietveld 408576698