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

Issue 477623004: command_buffer: Support instanced path rendering in gpu command buffer (Closed)

Created:
6 years, 4 months ago by Kimmo Kinnunen
Modified:
5 years, 1 month ago
CC:
vbuzinov, Chris Dalton, chromium-reviews, piman+watch_chromium.org, extensions-reviews_chromium.org, chromium-apps-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@new-03-path-funcs
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

command_buffer: Support instanced path rendering in gpu command buffer Implement support for instanced path rendering in gpu command buffer. Exposes following new functions through command buffer: glStencilFillPathInstancedCHROMIUM glStencilStrokePathInstancedCHROMIUM glCoverFillPathInstancedCHROMIUM glCoverStrokePathInstancedCHROMIUM glStencilThenCoverFillPathInstancedCHROMIUM glStencilThenCoverStrokePathInstancedCHROMIUM These functions are exposed as part of the CHROMIUM_path_rendering GL ES extension. Converts the NV_path_rendering functions that Skia calls to these functions, passes the calls through the command buffer and then calls the corresponding NV_path_rendering functions. BUG=344330 Committed: https://crrev.com/fb3f117d605fcba79a9a6e85dad021a6d77d57cc Cr-Commit-Position: refs/heads/master@{#356526}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : rebase #

Patch Set 5 : add mode validation #

Patch Set 6 : rebase and add a test. #

Patch Set 7 : #

Patch Set 8 : rebase #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Patch Set 11 : rebase #

Patch Set 12 : rebase #

Patch Set 13 : rebase #

Patch Set 14 : rebase #

Patch Set 15 : rebase #

Patch Set 16 : modify according to the feedback of first patch #

Patch Set 17 : make more consistent #

Patch Set 18 : #

Patch Set 19 : #

Patch Set 20 : rebase #

Patch Set 21 : rebase #

Patch Set 22 : rebase #

Patch Set 23 : rebas #

Total comments: 4

Patch Set 24 : address review comments #

Patch Set 25 : rebase #

Patch Set 26 : rebase #

Patch Set 27 : rebase #

Total comments: 30

Patch Set 28 : address review comments #

Total comments: 12

Patch Set 29 : address review comments #

Patch Set 30 : rebase #

Patch Set 31 : fix msvc signedness warning in an unittest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5440 lines, -385 lines) Patch
M gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 4 chunks +512 lines, -2 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +12 lines, -0 lines 0 comments Download
M gpu/GLES2/gl2extchromium.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 4 chunks +135 lines, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3 chunks +69 lines, -1 line 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 2 chunks +108 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_cmd_helper_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +116 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +320 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +57 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +53 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +51 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +54 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +51 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +96 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/transfer_buffer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +634 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_test_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +153 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_ids_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +317 lines, -311 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 2 chunks +39 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 7 chunks +64 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 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 10 chunks +528 lines, -66 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 4 chunks +634 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_extensions_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +12 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_validation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 4 chunks +29 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_chromium_path_rendering_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +175 lines, -3 lines 0 comments Download
M gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +10 lines, -0 lines 0 comments Download
M mojo/gpu/mojo_gles2_impl_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +53 lines, -0 lines 0 comments Download
M mojo/gpu/mojo_gles2_impl_autogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +82 lines, -0 lines 0 comments Download
M third_party/mojo/src/mojo/public/c/gles2/gles2_call_visitor_chromium_extension_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +108 lines, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +32 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +9 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_api_autogen_gl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 chunks +50 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_gl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 12 chunks +127 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_gl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 chunks +468 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_mock.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 chunks +54 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_mock.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 8 chunks +105 lines, -0 lines 0 comments Download
M ui/gl/gl_enums_implementation_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 6 chunks +28 lines, -1 line 0 comments Download
M ui/gl/gl_mock_autogen_gl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 chunks +54 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (6 generated)
Kimmo Kinnunen
6 years, 4 months ago (2014-08-22 12:57:57 UTC) #1
Kimmo Kinnunen
Depends on: https://codereview.chromium.org/169603002/ Add initial support for NV_path_rendering extension to gpu command buffer https://codereview.chromium.org/169403005/ Support ...
6 years, 4 months ago (2014-08-25 12:39:37 UTC) #2
Kimmo Kinnunen
ptal if you have time..
6 years, 3 months ago (2014-09-08 11:19:48 UTC) #3
vmiura
5 years, 6 months ago (2015-06-19 20:26:11 UTC) #5
vmiura
https://codereview.chromium.org/477623004/diff/730001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt File gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt (right): https://codereview.chromium.org/477623004/diff/730001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt#newcode74 gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt:74: BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM nit: BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM 0x909C ? https://codereview.chromium.org/477623004/diff/730001/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): ...
5 years, 3 months ago (2015-08-28 20:02:32 UTC) #6
Kimmo Kinnunen
https://codereview.chromium.org/477623004/diff/730001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt File gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt (right): https://codereview.chromium.org/477623004/diff/730001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt#newcode74 gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt:74: BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM On 2015/08/28 20:02:32, vmiura wrote: > nit: BOUNDING_BOX_OF_BOUNDING_BOXES_CHROMIUM ...
5 years, 3 months ago (2015-08-31 07:36:53 UTC) #7
Kimmo Kinnunen
On 2015/08/31 07:36:53, Kimmo Kinnunen wrote: Ping: Would it be possible to get a review ...
5 years, 3 months ago (2015-09-21 12:12:48 UTC) #8
Kimmo Kinnunen
jam@: could you take a look at third_party/mojo/src/mojo/public/c/gles2/gles2_call_visitor_chromium_extension_autogen.h? Thanks! Since https://codereview.chromium.org/1349233002 , all extension functions ...
5 years, 3 months ago (2015-09-22 12:19:58 UTC) #10
jam
On 2015/09/22 12:19:58, Kimmo Kinnunen wrote: > jam@: could you take a look at > ...
5 years, 3 months ago (2015-09-22 15:52:13 UTC) #11
piman
+zmo to do the review, I can rubber stamp once he's happy.
5 years, 3 months ago (2015-09-22 19:16:46 UTC) #13
Zhenyao Mo
Kimmo, can you do another rebase? I'll start reviewing this CL. It would be easier ...
5 years, 2 months ago (2015-09-30 02:39:44 UTC) #14
Kimmo Kinnunen
On 2015/09/30 02:39:44, Zhenyao Mo wrote: > Kimmo, can you do another rebase? I'll start ...
5 years, 2 months ago (2015-10-01 11:17:39 UTC) #15
Zhenyao Mo
On 2015/10/01 11:17:39, Kimmo Kinnunen wrote: > On 2015/09/30 02:39:44, Zhenyao Mo wrote: > > ...
5 years, 2 months ago (2015-10-01 20:43:12 UTC) #16
Zhenyao Mo
Mostly looks good. https://codereview.chromium.org/477623004/diff/810001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/477623004/diff/810001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode227 gpu/command_buffer/service/gles2_cmd_decoder.cc:227: !GLES2Util::IsNPOT(mask + 1); overflow check for ...
5 years, 2 months ago (2015-10-06 22:51:01 UTC) #17
Kimmo Kinnunen
Thanks for the thorough inspection. A new version, ptal. https://codereview.chromium.org/477623004/diff/810001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/477623004/diff/810001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode227 gpu/command_buffer/service/gles2_cmd_decoder.cc:227: ...
5 years, 2 months ago (2015-10-08 09:28:29 UTC) #18
Zhenyao Mo
Mostly look good. Please fix these minor comments. Also a question about |paths| with negative ...
5 years, 2 months ago (2015-10-08 23:10:59 UTC) #19
Kimmo Kinnunen
piman@: Could you review: third_party/mojo/src/mojo/public/c/gles2/gles2_call_visitor_chromium_extension_autogen.h https://codereview.chromium.org/477623004/diff/830001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/477623004/diff/830001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode14598 gpu/command_buffer/service/gles2_cmd_decoder.cc:14598: GLuint* AllocateOrAdopt(GLuint num_paths, T*) ...
5 years, 2 months ago (2015-10-09 11:43:48 UTC) #20
piman
RS LGTM for _autogen file. Am I even an OWNER there?
5 years, 2 months ago (2015-10-09 17:10:30 UTC) #21
Kimmo Kinnunen
zmo@: Ping. PTAL when you have time.. The other patches depend on this first patch.
5 years, 2 months ago (2015-10-22 11:10:52 UTC) #22
Zhenyao Mo
LGTM if bots are green
5 years, 1 month ago (2015-10-26 22:19:34 UTC) #23
Kimmo Kinnunen
On 2015/09/22 15:52:13, jam wrote: > On 2015/09/22 12:19:58, Kimmo Kinnunen wrote: > > jam@: ...
5 years, 1 month ago (2015-10-27 11:31:04 UTC) #24
Zhenyao Mo
On 2015/10/27 11:31:04, Kimmo Kinnunen wrote: > On 2015/09/22 15:52:13, jam wrote: > > On ...
5 years, 1 month ago (2015-10-27 21:42:08 UTC) #26
yzshen1
On 2015/10/27 21:42:08, Zhenyao Mo wrote: > On 2015/10/27 11:31:04, Kimmo Kinnunen wrote: > > ...
5 years, 1 month ago (2015-10-28 07:12:38 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/477623004/890001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/477623004/890001
5 years, 1 month ago (2015-10-28 07:36:46 UTC) #30
commit-bot: I haz the power
Committed patchset #31 (id:890001)
5 years, 1 month ago (2015-10-28 08:50:09 UTC) #31
commit-bot: I haz the power
5 years, 1 month ago (2015-10-28 08:51:14 UTC) #32
Message was sent while issue was closed.
Patchset 31 (id:??) landed as
https://crrev.com/fb3f117d605fcba79a9a6e85dad021a6d77d57cc
Cr-Commit-Position: refs/heads/master@{#356526}

Powered by Google App Engine
This is Rietveld 408576698