|
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
|
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
|
Total messages: 9 (6 generated)
|