Closed
Bug 1048110
Opened 11 years ago
Closed 11 years ago
Tiling doesn't handle padding correctly
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
(Depends on 1 open bug)
Details
Attachments
(2 files, 1 obsolete file)
21.99 KB,
patch
|
bas.schouten
:
review+
|
Details | Diff | Splinter Review |
5.73 KB,
patch
|
bas.schouten
:
review+
|
Details | Diff | Splinter Review |
Jeff fixed this for mobile with bug 1023473, but that fix doesn't help the path we use on desktop.
I want to fix this the same way we do for other backends, by padding the region we draw out to include all pixels that might potentially be sampled. This makes the extra pixels either contain real content (if some exists) or transparent if not. This isn't the same as clamping (which is what 1023473 implements) but it's much simpler and won't give us artifacts of undefined content.
Assignee | ||
Comment 1•11 years ago
|
||
This matches our RotatedBuffer etc logic for avoiding resampling issues for complex regions.
We still have resampling issues for the 'outer' edges of buffers which previously were on the edge of a texture (and thus got CLAMP behaviour) and now likely exist in the middle of a tile.
Attachment #8466882 -
Flags: review?(bas)
Assignee | ||
Comment 2•11 years ago
|
||
This should make sure we have a border of real content/transparent pixels around the visible region so we always sample from something sane.
It could be improved slightly by not expanding edges that already sit on a tile boundary. I'll have a look into doing that.
Attachment #8466883 -
Flags: feedback?(jmuizelaar)
Comment 3•11 years ago
|
||
Comment on attachment 8466882 [details] [diff] [review]
Expand complex regions out if we're resampling
Review of attachment 8466882 [details] [diff] [review]:
-----------------------------------------------------------------
This has me a little worried. This increases the potential for overfill significantly which is bad. There's better things we can do here by using slightly more complex vertex buffers. Longer term that's in my opinion what we should be looking into.
::: gfx/layers/composite/ContentHost.h
@@ +74,2 @@
> {}
> +
nit: whitespace
::: gfx/layers/composite/TiledContentHost.cpp
@@ +342,5 @@
> if (!mLowPrecisionTiledBuffer.HasDoubleBufferedTiles()) {
> mLowPrecisionTiledBuffer.ReadUnlock();
> }
> }
> +
nit: whitespace
Attachment #8466882 -
Flags: review?(bas) → review+
Assignee | ||
Comment 4•11 years ago
|
||
Attachment #8466883 -
Attachment is obsolete: true
Attachment #8466883 -
Flags: feedback?(jmuizelaar)
Attachment #8467439 -
Flags: review?(bas)
Updated•11 years ago
|
Attachment #8467439 -
Flags: review?(bas) → review+
Assignee | ||
Comment 5•11 years ago
|
||
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/a06f75001b0f for various Android mochitest failures: https://tbpl.mozilla.org/?tree=Mozilla-Inbound&jobname=Android%204.0%20Panda%20mozilla-inbound%20debug%20test%20mochitest-&rev=0d43f74dad13
Flags: needinfo?(matt.woodrow)
Assignee | ||
Comment 7•11 years ago
|
||
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/a287654390b1
https://hg.mozilla.org/mozilla-central/rev/da90bd5e5145
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Assignee | ||
Updated•11 years ago
|
Flags: needinfo?(matt.woodrow)
You need to log in
before you can comment on or make changes to this bug.
Description
•