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

Issue 1813163003: Fix PRIMITIVE_RESTART_FIXED_INDEX handling in command buffer and WebGL 2.0. (Closed)

Created:
4 years, 9 months ago by Ken Russell (switch to Gerrit)
Modified:
4 years, 9 months ago
CC:
chromium-reviews, blink-reviews, piman+watch_chromium.org, qiankun
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix PRIMITIVE_RESTART_FIXED_INDEX handling in command buffer and WebGL 2.0. Adapted from yunchao.he@intel.com's https://codereview.chromium.org/1783763002 . This fixes the command buffer's index validation and WebGL 2.0's implicit enabling of this capability. Emulation of this feature on top of earlier desktop OpenGL versions will be implemented in a later CL. BUG=594021, 295792 TEST=deqp/functional/gles3/primitiverestart.html CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/0b677e15ebe36546b0d946af78657be3d8b3f0b0 Cr-Commit-Position: refs/heads/master@{#382497}

Patch Set 1 #

Total comments: 13

Patch Set 2 : Addressed review feedback from piman. #

Patch Set 3 : Addressed more review feedback from piman. #

Patch Set 4 : Refactored and expanded unittests. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+253 lines, -127 lines) Patch
M gpu/command_buffer/service/buffer_manager.h View 1 2 4 chunks +10 lines, -4 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager.cc View 1 3 chunks +53 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager_unittest.cc View 1 2 3 5 chunks +170 lines, -115 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 2 chunks +14 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp View 1 2 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 35 (13 generated)
Ken Russell (switch to Gerrit)
This is based on yunchao.he@intel.com's https://codereview.chromium.org/1783763002/ and implements my suggestion from that CL. I think ...
4 years, 9 months ago (2016-03-19 00:08:41 UTC) #3
piman
https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc File gpu/command_buffer/service/buffer_manager.cc (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc#newcode223 gpu/command_buffer/service/buffer_manager.cc:223: this->initial_target() == GL_ELEMENT_ARRAY_BUFFER ? true : false; nit: "? ...
4 years, 9 months ago (2016-03-19 00:56:11 UTC) #4
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc File gpu/command_buffer/service/buffer_manager.cc (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc#newcode223 gpu/command_buffer/service/buffer_manager.cc:223: this->initial_target() == GL_ELEMENT_ARRAY_BUFFER ? true : false; On 2016/03/19 ...
4 years, 9 months ago (2016-03-19 04:06:53 UTC) #5
yunchao
https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc File gpu/command_buffer/service/buffer_manager.cc (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc#newcode223 gpu/command_buffer/service/buffer_manager.cc:223: this->initial_target() == GL_ELEMENT_ARRAY_BUFFER ? true : false; On 2016/03/19 ...
4 years, 9 months ago (2016-03-21 15:11:35 UTC) #7
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc File gpu/command_buffer/service/buffer_manager.cc (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.cc#newcode223 gpu/command_buffer/service/buffer_manager.cc:223: this->initial_target() == GL_ELEMENT_ARRAY_BUFFER ? true : false; On 2016/03/21 ...
4 years, 9 months ago (2016-03-21 17:41:46 UTC) #8
piman
lgtm https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.h File gpu/command_buffer/service/buffer_manager.h (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.h#newcode110 gpu/command_buffer/service/buffer_manager.h:110: primitive_restart_enabled ? GL_TRUE : GL_FALSE) { On 2016/03/19 ...
4 years, 9 months ago (2016-03-21 19:14:41 UTC) #9
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.h File gpu/command_buffer/service/buffer_manager.h (right): https://codereview.chromium.org/1813163003/diff/1/gpu/command_buffer/service/buffer_manager.h#newcode110 gpu/command_buffer/service/buffer_manager.h:110: primitive_restart_enabled ? GL_TRUE : GL_FALSE) { On 2016/03/21 19:14:41, ...
4 years, 9 months ago (2016-03-21 22:22:29 UTC) #10
Ken Russell (switch to Gerrit)
P.S. rebased and re-ran all tests. CQ'ing.
4 years, 9 months ago (2016-03-21 22:22:58 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1813163003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1813163003/40001
4 years, 9 months ago (2016-03-21 22:23:28 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chromium_gn_compile_dbg/builds/38966) mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, ...
4 years, 9 months ago (2016-03-21 22:36:24 UTC) #16
Ken Russell (switch to Gerrit)
Refactored and expanded the unittests. Didn't know whether ::testing::TestWithParam<bool> could be brought in via multiple ...
4 years, 9 months ago (2016-03-21 23:20:35 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1813163003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1813163003/60001
4 years, 9 months ago (2016-03-21 23:21:12 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: mac_optional_gpu_tests_rel on tryserver.chromium.mac (JOB_TIMED_OUT, no build URL)
4 years, 9 months ago (2016-03-22 01:22:05 UTC) #22
Ken Russell (switch to Gerrit)
On 2016/03/22 01:22:05, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 9 months ago (2016-03-22 03:18:31 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1813163003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1813163003/60001
4 years, 9 months ago (2016-03-22 03:18:51 UTC) #26
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 9 months ago (2016-03-22 03:23:34 UTC) #28
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/0b677e15ebe36546b0d946af78657be3d8b3f0b0 Cr-Commit-Position: refs/heads/master@{#382497}
4 years, 9 months ago (2016-03-22 03:27:34 UTC) #30
Jamie Madill
On 2016/03/22 03:27:34, commit-bot: I haz the power wrote: > Patchset 4 (id:??) landed as ...
4 years, 9 months ago (2016-03-22 13:50:36 UTC) #31
Ken Russell (switch to Gerrit)
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/1827693002/ by kbr@chromium.org. ...
4 years, 9 months ago (2016-03-23 00:13:52 UTC) #32
Ken Russell (switch to Gerrit)
On 2016/03/22 13:50:36, Jamie Madill wrote: > On 2016/03/22 03:27:34, commit-bot: I haz the power ...
4 years, 9 months ago (2016-03-23 00:15:30 UTC) #33
yunchao
On 2016/03/23 00:15:30, Ken Russell wrote: > On 2016/03/22 13:50:36, Jamie Madill wrote: > > ...
4 years, 9 months ago (2016-03-23 00:25:49 UTC) #34
yunchao
4 years, 9 months ago (2016-03-23 00:29:56 UTC) #35
Message was sent while issue was closed.
On 2016/03/23 00:25:49, yunchao wrote:
> On 2016/03/23 00:15:30, Ken Russell wrote:
> > On 2016/03/22 13:50:36, Jamie Madill wrote:
> > > On 2016/03/22 03:27:34, commit-bot: I haz the power wrote:
> > > > Patchset 4 (id:??) landed as
> > > > https://crrev.com/0b677e15ebe36546b0d946af78657be3d8b3f0b0
> > > > Cr-Commit-Position: refs/heads/master@{#382497}
> > > 
> > > Failing the Mac GPU FYI webgl2_conformance_tests:
> > > 
> > >
> >
>
https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%...
> > > 
> > > WebglConformance.deqp_data_gles3_shaders_arrays
> > > WebglConformance.deqp_data_gles3_shaders_conditionals
> > > WebglConformance.deqp_data_gles3_shaders_constants
> > > WebglConformance.deqp_data_gles3_shaders_constant_expressions
> > > WebglConformance.deqp_data_gles3_shaders_conversions
> > > WebglConformance.deqp_data_gles3_shaders_declarations
> > > WebglConformance.deqp_data_gles3_shaders_fragdata
> > > WebglConformance.deqp_data_gles3_shaders_invalid_texture_functions
> > > WebglConformance.deqp_data_gles3_shaders_keywords
> > > WebglConformance.deqp_data_gles3_shaders_negative
> > > WebglConformance.deqp_data_gles3_shaders_switch
> > > 
> > > You actually had a mac job fail with these failures in your try job list
> above
> > > too:
> > > 
> > >
> >
>
http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_optional_gpu_...
> > 
> > Sorry, I didn't realize the failures were caused by this CL. I received a
> > notification that mac_optional_gpu_tests_rel had timed out with no build,
and
> > assumed incorrectly that the previous failure was also
infrastructure-related.
> 
> I have noticed this error in my previous patch:
> https://codereview.chromium.org/1783763002/. Just skip the primitive restart
on
> mac (It is OGL 4.1? ). You can refer to my original patch.

In the function DoDisable() and DoEnable() in gles_cmd_decoder.cc in my original
patch, I add a TODO and avoid to enable primitive restart for OLD desktop OGL.

Powered by Google App Engine
This is Rietveld 408576698