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

Issue 12036091: Fixes a bug when the framebuffer is cleared with invalid scissor rect (Closed)

Created:
7 years, 11 months ago by slavi
Modified:
7 years, 10 months ago
Reviewers:
danakj, jamesr, piman
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

Fixes a bug when the framebuffer is cleared with invalid scissor rect. BUG=170305 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=179498

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Only clear the damage rect with *blue* on DEBUG builds. #

Patch Set 4 : Another approach: only clear the larget-than-necessary-part of transparent render pass texturex on … #

Patch Set 5 : #

Patch Set 6 : Only do full clears on "recycled" larger-than-necessary textures. #

Patch Set 7 : Cleaned up. #

Patch Set 8 : Some more clean up. #

Total comments: 3

Patch Set 9 : Track the used size of CachedResources. #

Patch Set 10 : Using Dana's fix. #

Patch Set 11 : Rebase + DCHECK in gl_renderer so we don't regress #

Patch Set 12 : Moved check to FakeRendererGL. #

Total comments: 2

Patch Set 13 : Addressing feedback. #

Patch Set 14 : #

Patch Set 15 : #

Total comments: 1

Patch Set 16 : #

Total comments: 1

Patch Set 17 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -1 line) Patch
M cc/direct_renderer.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -1 line 0 comments Download
M cc/gl_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +58 lines, -0 lines 0 comments Download
M cc/test/render_pass_test_utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +5 lines, -0 lines 0 comments Download
M cc/test/render_pass_test_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (0 generated)
slavi
7 years, 11 months ago (2013-01-24 20:56:51 UTC) #1
jamesr
Can you add or extend the tests in cc/gl_renderer_pixeltest.cc to cover this? There's a very ...
7 years, 11 months ago (2013-01-24 20:59:24 UTC) #2
danakj
Why does it need to be cleared? Once that part is meant to be used, ...
7 years, 11 months ago (2013-01-24 20:59:40 UTC) #3
piman
How does that not break partial updates?
7 years, 11 months ago (2013-01-24 21:10:40 UTC) #4
slavi
On 2013/01/24 20:59:40, danakj wrote: > Why does it need to be cleared? Once that ...
7 years, 11 months ago (2013-01-24 21:40:24 UTC) #5
slavi
I think I finally got a proper fix. I'll try to add a test to ...
7 years, 11 months ago (2013-01-24 23:16:34 UTC) #6
danakj
This seems like it would break partial swaps still. You make a surface 50x50, gets ...
7 years, 11 months ago (2013-01-24 23:23:18 UTC) #7
jamesr
The other thing that's a little weird about this is why are we sampling outside ...
7 years, 11 months ago (2013-01-24 23:28:00 UTC) #8
slavi
On 2013/01/24 23:23:18, danakj wrote: > This seems like it would break partial swaps still. ...
7 years, 11 months ago (2013-01-24 23:37:38 UTC) #9
danakj
I'm unclear how clearing outside the scissor is helping, maybe you can explain? Anything that ...
7 years, 11 months ago (2013-01-24 23:38:04 UTC) #10
danakj
https://codereview.chromium.org/12036091/diff/7/cc/direct_renderer.cc File cc/direct_renderer.cc (right): https://codereview.chromium.org/12036091/diff/7/cc/direct_renderer.cc#newcode148 cc/direct_renderer.cc:148: texture->setNeedsFullClear(true); On 2013/01/24 23:23:18, danakj wrote: > Doesn't this ...
7 years, 11 months ago (2013-01-24 23:39:25 UTC) #11
danakj
I strongly believe this is the fix you want: diff --git a/cc/direct_renderer.cc b/cc/direct_renderer.cc index 31f48e5..f9fb233 ...
7 years, 11 months ago (2013-01-25 00:26:10 UTC) #12
slavi
On 2013/01/25 00:26:10, danakj wrote: > I strongly believe this is the fix you want: ...
7 years, 11 months ago (2013-01-25 02:16:47 UTC) #13
danakj
Ya looks good, can you please add a test to make sure we don't regress ...
7 years, 11 months ago (2013-01-25 02:19:07 UTC) #14
slavi
On 2013/01/25 02:19:07, danakj wrote: > Ya looks good, can you please add a test ...
7 years, 10 months ago (2013-01-28 22:55:37 UTC) #15
danakj
https://codereview.chromium.org/12036091/diff/24004/cc/gl_renderer.h File cc/gl_renderer.h (right): https://codereview.chromium.org/12036091/diff/24004/cc/gl_renderer.h#newcode91 cc/gl_renderer.h:91: bool isScissorEnabledForTesting() { return m_isScissorEnabled; } const method https://codereview.chromium.org/12036091/diff/24004/cc/gl_renderer_unittest.cc ...
7 years, 10 months ago (2013-01-29 00:00:46 UTC) #16
slavi
On 2013/01/29 00:00:46, danakj wrote: > https://codereview.chromium.org/12036091/diff/24004/cc/gl_renderer.h > File cc/gl_renderer.h (right): > > https://codereview.chromium.org/12036091/diff/24004/cc/gl_renderer.h#newcode91 > ...
7 years, 10 months ago (2013-01-29 20:47:29 UTC) #17
danakj
Cool, thanks for the test! It looks good but I don't think you need to ...
7 years, 10 months ago (2013-01-29 21:39:20 UTC) #18
slavi
On 2013/01/29 21:39:20, danakj wrote: > Cool, thanks for the test! It looks good but ...
7 years, 10 months ago (2013-01-29 22:46:06 UTC) #19
danakj
LGTM https://codereview.chromium.org/12036091/diff/34008/cc/gl_renderer_unittest.cc File cc/gl_renderer_unittest.cc (right): https://codereview.chromium.org/12036091/diff/34008/cc/gl_renderer_unittest.cc#newcode678 cc/gl_renderer_unittest.cc:678: addClippedQuad(grandChildPass, viewportRect, SK_ColorYELLOW); can use gfx::Rect(25, 25) or ...
7 years, 10 months ago (2013-01-29 22:47:42 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/12036091/35006
7 years, 10 months ago (2013-01-29 22:54:28 UTC) #21
commit-bot: I haz the power
7 years, 10 months ago (2013-01-30 01:32:30 UTC) #22
Message was sent while issue was closed.
Change committed as 179498

Powered by Google App Engine
This is Rietveld 408576698