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

Issue 1953623002: Clean up multisampled color mask workaround for DrawingBuffer. (Closed)

Created:
4 years, 7 months ago by erikchen
Modified:
4 years, 7 months ago
CC:
chromium-reviews, krit, pdr+graphicswatchlist_chromium.org, drott+blinkwatch_chromium.org, blink-reviews-platform-graphics_chromium.org, dshwang, jbroman, Justin Novosad, danakj+watch_chromium.org, Rik, f(malita), blink-reviews, piman+watch_chromium.org, kinuko+watch, Stephen Chennney, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@temp40_drawingbuffer_cleanup
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Clean up multisampled color mask workaround for DrawingBuffer. On old AMD GPUs, glColorMask() doesn't work correctly for multisampled renderbuffers. The old workaround used a GL_RGB renderbuffer, resolved to a GL_RGBA renderbuffer, and then blitted to the destination texture (GL_RGBA). The new workaround uses glColorMask() with a GL_RGBA renderbuffer. On GPUs where glColorMask() doesn't work correctly, the alpha channel of the destination texture is cleared to 1 after the resolve. On all other GPUs, no additional clear is necessary. BUG=595948 Committed: https://crrev.com/824f8b72a0ecde812abe61c0582f0f57bd230d6e Cr-Commit-Position: refs/heads/master@{#391902}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Fix bug. #

Total comments: 2

Patch Set 4 : Comments from kbr and fix up a conditional. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -67 lines) Patch
M third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h View 1 3 chunks +10 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp View 1 2 3 8 chunks +35 lines, -59 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 10 (4 generated)
erikchen
kbr: Please review.
4 years, 7 months ago (2016-05-05 00:46:49 UTC) #2
Ken Russell (switch to Gerrit)
Thanks, looks great. Despite the fact that a second full-canvas pass (the clear) is done, ...
4 years, 7 months ago (2016-05-05 18:19:23 UTC) #3
erikchen
https://codereview.chromium.org/1953623002/diff/40001/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp File third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/1953623002/diff/40001/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode779 third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp:779: // alpha channel. Clear the alpha channel of |m_fbo|. ...
4 years, 7 months ago (2016-05-05 18:33:27 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1953623002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1953623002/60001
4 years, 7 months ago (2016-05-05 18:34:30 UTC) #7
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 7 months ago (2016-05-05 21:31:59 UTC) #8
commit-bot: I haz the power
4 years, 7 months ago (2016-05-05 21:33:22 UTC) #10
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/824f8b72a0ecde812abe61c0582f0f57bd230d6e
Cr-Commit-Position: refs/heads/master@{#391902}

Powered by Google App Engine
This is Rietveld 408576698