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

Issue 1309743005: command_buffer: Implement EXT_blend_func_extended (Closed)

Created:
5 years, 3 months ago by Kimmo Kinnunen
Modified:
5 years ago
CC:
chromium-reviews, extensions-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, chromium-apps-reviews_chromium.org, piman+watch_chromium.org, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@new-05-path-fragment-input-gen
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

command_buffer: Implement EXT_blend_func_extended Implement EXT_blend_func_extended for command buffer ES 2.0 and ES 3.0 contexts. For the ES 2.0 context, the extension supports dual-source blending with pre-defined gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT variables. Currently EXT_blend_func_extended is only exposed if the service context supports program interface query. This means OpenGL context or OpenGL ES 3.1 context. This is to simplify the unit test expectation conditions. Theoretically also ES 2.0 and ES 3.0 service contexts could support EXT_blend_func_extended, but probably there will never be such a driver. BUG=506765 Committed: https://crrev.com/8cefb231216c2777281f37a30e3fb8e67513ee2b Cr-Commit-Position: refs/heads/master@{#363175}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : ~ #

Total comments: 15

Patch Set 5 : nullptrs #

Patch Set 6 : #

Total comments: 31

Patch Set 7 : wip query names from the driver #

Patch Set 8 : #

Patch Set 9 : address review comments #

Total comments: 27

Patch Set 10 : clean rebase #

Patch Set 11 : remove piq usage and fix array handling #

Patch Set 12 : fix a bug with array handling and add a conflict test #

Patch Set 13 : remove redundant/errorneous dcheck #

Patch Set 14 : rebase #

Patch Set 15 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2608 lines, -340 lines) Patch
M gpu/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 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 1 chunk +4 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 1 chunk +35 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 2 chunks +26 lines, -0 lines 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 2 chunks +28 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 1 chunk +32 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 1 chunk +1 line, -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 2 chunks +56 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 1 chunk +11 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 1 chunk +8 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 1 chunk +8 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 1 chunk +12 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 1 chunk +8 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 1 chunk +23 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/program_info_manager.h View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/program_info_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +38 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 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 1 chunk +160 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 1 chunk +46 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 1 chunk +4 lines, -1 line 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 4 chunks +19 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_group.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_group.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +9 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/disk_cache_proto.proto View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +34 lines, -2 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 18 chunks +219 lines, -35 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.h View 1 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +15 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +9 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +41 lines, -9 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 1 chunk +20 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -9 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 1 chunk +5 lines, -1 line 0 comments Download
M gpu/command_buffer/service/memory_program_cache.h View 1 2 3 4 5 6 7 8 4 chunks +12 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/memory_program_cache.cc View 1 2 3 4 5 6 7 8 11 chunks +53 lines, -34 lines 0 comments Download
M gpu/command_buffer/service/memory_program_cache_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +32 lines, -7 lines 0 comments Download
M gpu/command_buffer/service/mocks.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +11 lines, -10 lines 0 comments Download
M gpu/command_buffer/service/program_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 15 chunks +57 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/program_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 chunks +237 lines, -8 lines 0 comments Download
M gpu/command_buffer/service/program_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 32 chunks +179 lines, -58 lines 0 comments Download
M gpu/command_buffer/service/shader_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +17 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/shader_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +25 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/shader_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +30 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/shader_translator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/shader_translator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +8 lines, -1 line 0 comments Download
M gpu/command_buffer/service/shader_translator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 chunks +54 lines, -82 lines 0 comments Download
M gpu/command_buffer/service/test_helper.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +29 lines, -10 lines 0 comments Download
M gpu/command_buffer/service/test_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 chunks +82 lines, -28 lines 0 comments Download
A gpu/command_buffer/tests/gl_ext_blend_func_extended_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +653 lines, -0 lines 0 comments Download
M gpu/gpu.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -1 line 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 1 chunk +2 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 1 chunk +8 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 1 chunk +17 lines, -0 lines 0 comments Download
M 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 1 chunk +13 lines, -0 lines 0 comments Download
A + 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 4 chunks +18 lines, -20 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 2 3 4 5 6 7 8 9 10 2 chunks +16 lines, -3 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 1 chunk +10 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_api_autogen_gl.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_gl.h View 1 2 3 4 5 6 7 8 7 chunks +8 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 chunks +55 lines, -2 lines 0 comments Download
M ui/gl/gl_bindings_autogen_mock.h View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_mock.cc View 1 2 3 4 5 6 7 8 5 chunks +37 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 4 chunks +18 lines, -0 lines 0 comments Download
M ui/gl/gl_mock_autogen_gl.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 40 (15 generated)
Mark Kilgard
LGTM good testing for all this 1) perhaps gl_bindings_skia_in_process.cc changes could be reverted? 2) arguably ...
5 years, 3 months ago (2015-08-28 19:53:25 UTC) #3
Kimmo Kinnunen
https://chromiumcodereview.appspot.com/1309743005/diff/60001/gpu/command_buffer/service/program_manager_unittest.cc File gpu/command_buffer/service/program_manager_unittest.cc (right): https://chromiumcodereview.appspot.com/1309743005/diff/60001/gpu/command_buffer/service/program_manager_unittest.cc#newcode82 gpu/command_buffer/service/program_manager_unittest.cc:82: feature_info_ = nullptr; On 2015/08/28 19:53:24, Mark Kilgard wrote: ...
5 years, 3 months ago (2015-08-31 12:22:59 UTC) #4
Zhenyao Mo
https://chromiumcodereview.appspot.com/1309743005/diff/100001/gpu/command_buffer/build_gles2_cmd_buffer.py File gpu/command_buffer/build_gles2_cmd_buffer.py (right): https://chromiumcodereview.appspot.com/1309743005/diff/100001/gpu/command_buffer/build_gles2_cmd_buffer.py#newcode2825 gpu/command_buffer/build_gles2_cmd_buffer.py:2825: 'unsafe': True, Remove the 'unsafe'. It is only intended ...
5 years, 3 months ago (2015-08-31 21:12:31 UTC) #6
Mark Kilgard
Spec now public in Khronos OpenGL ES registry: https://www.khronos.org/registry/gles/ https://www.khronos.org/registry/gles/extensions/EXT/EXT_blend_func_extended.txt
5 years, 3 months ago (2015-09-03 23:12:03 UTC) #7
Mark Kilgard
On 2015/09/03 23:12:03, Mark Kilgard wrote: > Spec now public in Khronos OpenGL ES registry: ...
5 years, 3 months ago (2015-09-15 21:17:30 UTC) #8
Kimmo Kinnunen
Thanks for the comments. A new version with consistent queries of output variables from the ...
5 years, 3 months ago (2015-09-24 13:16:28 UTC) #9
Zhenyao Mo
https://codereview.chromium.org/1309743005/diff/100001/gpu/command_buffer/service/disk_cache_proto.proto File gpu/command_buffer/service/disk_cache_proto.proto (right): https://codereview.chromium.org/1309743005/diff/100001/gpu/command_buffer/service/disk_cache_proto.proto#newcode35 gpu/command_buffer/service/disk_cache_proto.proto:35: repeated ShaderAttributeProto output_variables = 5; On 2015/09/24 13:16:27, Kimmo ...
5 years, 2 months ago (2015-09-30 00:23:48 UTC) #10
Zhenyao Mo
I have a suggestion. With such a large CL, reviewing takes a lot of time. ...
5 years, 2 months ago (2015-09-30 00:26:16 UTC) #11
Kimmo Kinnunen
So I had to remove the usage of program interface query. This is due to ...
5 years, 2 months ago (2015-10-08 13:18:12 UTC) #12
Zhenyao Mo
LGTM
5 years, 2 months ago (2015-10-08 21:02:26 UTC) #13
Kimmo Kinnunen
piman@: Could you review third_party/mojo/src/mojo/public/c/gles2/gles2_call_visitor_chromium_extension_autogen.h ? Thanks!
5 years, 2 months ago (2015-10-09 11:51:15 UTC) #14
piman
RS LGTM for _autogen file.
5 years, 2 months ago (2015-10-09 17:10:58 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1309743005/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1309743005/220001
5 years, 1 month ago (2015-11-03 11:59:27 UTC) #17
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/135084)
5 years, 1 month ago (2015-11-03 12:56:28 UTC) #19
Kimmo Kinnunen
jam: would you have time to look at third_party/mojo/src/mojo/public/c/gles2/gles2_call_visitor_chromium_extension_autogen.h? Thanks. zmo: I'm sorry, I had ...
5 years, 1 month ago (2015-11-03 13:37:14 UTC) #21
jam
On 2015/11/03 13:37:14, Kimmo Kinnunen wrote: > jam: would you have time to look at ...
5 years, 1 month ago (2015-11-03 17:10:22 UTC) #22
Kimmo Kinnunen
On 2015/11/03 13:37:14, Kimmo Kinnunen wrote: > zmo: I'm sorry, I had to update this ...
5 years ago (2015-12-03 12:32:17 UTC) #23
Zhenyao Mo
On 2015/12/03 12:32:17, Kimmo Kinnunen wrote: > On 2015/11/03 13:37:14, Kimmo Kinnunen wrote: > > ...
5 years ago (2015-12-03 18:50:04 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1309743005/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1309743005/260001
5 years ago (2015-12-04 06:51:44 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/144754) mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, ...
5 years ago (2015-12-04 06:53:38 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1309743005/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1309743005/280001
5 years ago (2015-12-04 07:30:24 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/65718) chromeos_x86-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, ...
5 years ago (2015-12-04 07:34:06 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1309743005/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1309743005/280001
5 years ago (2015-12-04 09:05:43 UTC) #36
commit-bot: I haz the power
Committed patchset #15 (id:280001)
5 years ago (2015-12-04 09:36:40 UTC) #38
commit-bot: I haz the power
5 years ago (2015-12-04 09:37:23 UTC) #40
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/8cefb231216c2777281f37a30e3fb8e67513ee2b
Cr-Commit-Position: refs/heads/master@{#363175}

Powered by Google App Engine
This is Rietveld 408576698