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

Issue 2570823002: Reland [Command buffer]: Generate INVALID_OPERATION if designated attachments in read fb miss image (Closed)

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

Description

[Command buffer]: Generate INVALID_OPERATION if designated attachments in read fb miss image during blitting BUG=672719 TEST=conformance2/rendering/read-draw-when-missing-image.html 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/25231a97c1a3eba9e26ff8fa5601e29b21672b73 Committed: https://crrev.com/fd697d665dfbc3e40166ab144b5573413628e2e4 Cr-Original-Commit-Position: refs/heads/master@{#438477} Cr-Commit-Position: refs/heads/master@{#439080}

Patch Set 1 #

Patch Set 2 : update webgl2 expectation #

Patch Set 3 : fix bugs in gpu_unittests #

Patch Set 4 : A small fix for back buffer #

Total comments: 4

Patch Set 5 : addressed zmo@'s feedback #

Patch Set 6 : Update webgl 2 expectation #

Total comments: 2

Patch Set 7 : suppress the webgl 2 expectation #

Unified diffs Side-by-side diffs Delta from patch set Stats (+38 lines, -14 lines) Patch
M content/test/gpu/gpu_tests/webgl2_conformance_expectations.py View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 chunks +31 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc View 1 2 3 4 2 chunks +6 lines, -12 lines 0 comments Download

Messages

Total messages: 39 (22 generated)
yunchao
Zhenyao and Ken, PTAL. Thanks a lot! I also update the tests accordingly in WebGL ...
4 years ago (2016-12-13 15:21:18 UTC) #4
Zhenyao Mo
Mostly looks good. https://codereview.chromium.org/2570823002/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2570823002/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode7945 gpu/command_buffer/service/gles2_cmd_decoder.cc:7945: BoundFramebufferHasDepthAttachment()) || This is unnecessary. This ...
4 years ago (2016-12-13 19:21:37 UTC) #6
yunchao
Thanks for your review, Zhenyao. Could you take a look into the comment inline? https://codereview.chromium.org/2570823002/diff/60001/gpu/command_buffer/service/gles2_cmd_decoder.cc ...
4 years ago (2016-12-14 02:04:44 UTC) #7
Zhenyao Mo
On 2016/12/14 02:04:44, yunchao wrote: > Thanks for your review, Zhenyao. Could you take a ...
4 years ago (2016-12-14 03:32:04 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2570823002/80001
4 years ago (2016-12-14 10:56:10 UTC) #14
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years ago (2016-12-14 11:01:11 UTC) #17
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/25231a97c1a3eba9e26ff8fa5601e29b21672b73 Cr-Commit-Position: refs/heads/master@{#438477}
4 years ago (2016-12-14 11:03:10 UTC) #19
sugoi1
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/2578633002/ by sugoi@chromium.org. ...
4 years ago (2016-12-14 15:52:33 UTC) #20
Zhenyao Mo
On 2016/12/14 15:52:33, sugoi1 wrote: > A revert of this CL (patchset #5 id:80001) has ...
4 years ago (2016-12-14 17:29:26 UTC) #21
yunchao
On 2016/12/14 17:29:26, Zhenyao Mo wrote: > On 2016/12/14 15:52:33, sugoi1 wrote: > > A ...
4 years ago (2016-12-15 02:42:25 UTC) #22
yunchao
On 2016/12/14 17:29:26, Zhenyao Mo wrote: > On 2016/12/14 15:52:33, sugoi1 wrote: > > A ...
4 years ago (2016-12-15 07:14:33 UTC) #24
Zhenyao Mo
LGTM No, the _angle tests still go through command buffer, but using an ANGLE backend ...
4 years ago (2016-12-15 19:10:46 UTC) #25
yunchao
Thank you, Zhenyao. Merging again. https://codereview.chromium.org/2570823002/diff/100001/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py File content/test/gpu/gpu_tests/webgl2_conformance_expectations.py (right): https://codereview.chromium.org/2570823002/diff/100001/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py#newcode52 content/test/gpu/gpu_tests/webgl2_conformance_expectations.py:52: ['opengl'], bug=672719) # WebGL ...
4 years ago (2016-12-16 09:50:57 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2570823002/120001
4 years ago (2016-12-16 09:51:23 UTC) #33
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years ago (2016-12-16 09:57:00 UTC) #36
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/fd697d665dfbc3e40166ab144b5573413628e2e4 Cr-Commit-Position: refs/heads/master@{#439080}
4 years ago (2016-12-16 09:59:10 UTC) #38
yunchao
4 years ago (2016-12-16 15:28:32 UTC) #39
Message was sent while issue was closed.
On 2016/12/15 19:10:46, Zhenyao Mo wrote:
> LGTM
> 
> No, the _angle tests still go through command buffer, but using an ANGLE
backend
> rather than direct GL backend.  It's OK to suppress the test for now, but
> someone if not you will need to take a look what's wrong.
> 
> You can easily reproduce the failure if you have a Linux NVidia bot locally,
> just run chrome with --use-gl=angle

Yeah. I can reproduce the failure when run chromium with --use-gl=angle on a NV
graphics card. 
I traced the code, it is a driver issue. When both read fbo and draw fbo have no
image, 
it will generate INVALID_OPERATION, instead of silently do nothing.  

I have a workaround about this at https://codereview.chromium.org/2581973002/.
When draw buffers
in draw fbo have no image at all, we can early return. I think it is reasonable
to do this,
even on the other platforms. The check is rather cheap, but it can save time for
this situation.
So I didn't add the small fix into a workaround in
src/gpu/config/gpu_driver_bug_list_json.cc. 
PTAL. 

> 
>
https://codereview.chromium.org/2570823002/diff/100001/content/test/gpu/gpu_t...
> File content/test/gpu/gpu_tests/webgl2_conformance_expectations.py (right):
> 
>
https://codereview.chromium.org/2570823002/diff/100001/content/test/gpu/gpu_t...
> content/test/gpu/gpu_tests/webgl2_conformance_expectations.py:52: ['opengl'],
> bug=672719) # WebGL 2.0.1
> Please limit this to Linux NVIDIA only.

Powered by Google App Engine
This is Rietveld 408576698