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

Issue 2838743002: Fix blits from multisampled renderbuffers to alpha:false WebGL back buffer. (Closed)

Created:
3 years, 7 months ago by Ken Russell (switch to Gerrit)
Modified:
3 years, 7 months ago
Reviewers:
Zhenyao Mo, ccameron
CC:
chromium-reviews, extensions-reviews_chromium.org, krit, drott+blinkwatch_chromium.org, blink-reviews-platform-graphics_chromium.org, dshwang, jam, pdr+graphicswatchlist_chromium.org, fmalita+watch_chromium.org, blink-reviews, Rik, darin-cc_chromium.org, Justin Novosad, piman+watch_chromium.org, haraken, chromium-apps-reviews_chromium.org, kinuko+watch, mac-reviews_chromium.org, ajuma+watch_chromium.org, Stephen Chennney, rwlbuis
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix blits from multisampled renderbuffers to alpha:false WebGL back buffer. (Re-land after fix to avoid deleting nonexistent textures.) Blitting from a multisampled RGB8 renderbuffer to an alpha:false WebGL back buffer is supposed to work, and from an RGBA8 renderbuffer is supposed to not work. The emulation of IOSurface-backed RGB textures using RGBA textures didn't handle this case. Add BindTexImage2DWithInternalformatCHROMIUM to the command buffer to allow internal format to be overridden; currently this is only supported on macOS. Use this to bind a second texture to the IOSurface and use it only for BlitFramebuffer calls from WebGL, fixing up the alpha channel afterward. Covered by new conformance test in https://github.com/KhronosGroup/WebGL/pull/2377 . BUG=699566 TBR=zmo@chromium.org,ccameron@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;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 Review-Url: https://codereview.chromium.org/2838743002 Cr-Commit-Position: refs/heads/master@{#466878} Committed: https://chromium.googlesource.com/chromium/src/+/e90ed61ee27f039c110fea16425a723f82bdbaf9

Patch Set 1 #

Patch Set 2 : Fix assertion failure. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+525 lines, -114 lines) Patch
M content/test/gpu/gpu_tests/webgl2_conformance_expectations.py View 1 chunk +0 lines, -3 lines 0 comments Download
M gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt View 2 chunks +35 lines, -5 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/GLES2/gl2extchromium.h View 3 chunks +16 lines, -15 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 2 chunks +12 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_cmd_helper_autogen.h View 1 chunk +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_impl_autogen.h View 1 chunk +15 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest_autogen.h View 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 1 chunk +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_autogen.h View 1 chunk +46 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_test_autogen.h View 1 chunk +15 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_ids_autogen.h View 1 chunk +54 lines, -53 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 4 chunks +43 lines, -15 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_autogen.h View 1 chunk +18 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc View 1 chunk +28 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc View 1 chunk +8 lines, -15 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc View 1 chunk +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h View 5 chunks +31 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp View 1 4 chunks +93 lines, -0 lines 0 comments Download
M ui/gl/gl_image.h View 1 chunk +7 lines, -0 lines 0 comments Download
M ui/gl/gl_image.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M ui/gl/gl_image_io_surface.h View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl_image_io_surface.mm View 3 chunks +14 lines, -6 lines 0 comments Download

Messages

Total messages: 9 (6 generated)
Ken Russell (switch to Gerrit)
zmo, ccameron: CQ'ing this re-land TBR'd because the fix for the underlying assertion failure was ...
3 years, 7 months ago (2017-04-25 01:42:23 UTC) #3
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/2838743002/20001
3 years, 7 months ago (2017-04-25 01:43:19 UTC) #6
commit-bot: I haz the power
3 years, 7 months ago (2017-04-25 05:18:19 UTC) #9
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/chromium/src/+/e90ed61ee27f039c110fea16425a...

Powered by Google App Engine
This is Rietveld 408576698