← Back to team overview

registry team mailing list archive

[Bug 217908] Re: FFe: Pixellated Images in Firefox/Opera due to incorrect EXTEND_PAD implementation in several video drivers

 

Launchpad has imported 19 comments from the remote bug at
http://bugs.freedesktop.org/show_bug.cgi?id=19712.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2009-01-23T17:08:48+00:00 Tom Jaeger wrote:

XRender supports four possible repeat types: RepeatNone, RepeatNormal,
RepeatPad and RepeatReflect.  The driver currently only handles the
first two, so it should fall back to software when it encounters
RepeatPad or RepeatReflect.  This is currently forcing cairo to use slow
client-side rendering, thus preventing firefox from enabling bilinear
filtering on linux.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/122

------------------------------------------------------------------------
On 2009-01-23T17:09:25+00:00 Tom Jaeger wrote:

Created an attachment (id=22191)
patch

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/123

------------------------------------------------------------------------
On 2009-01-24T02:14:02+00:00 Michel-daenzer wrote:

Pushed, thanks.

Note that I think it should be easy to accelerate RepeatPad and
RepeatReflect, as in contrast to RepeatNormal they have similar
semantics to 3D APIs.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/124

------------------------------------------------------------------------
On 2009-01-24T02:18:31+00:00 Michel-daenzer wrote:

(In reply to comment #2)
> Note that I think it should be easy to accelerate RepeatPad and RepeatReflect,
> as in contrast to RepeatNormal they have similar semantics to 3D APIs.

Err, s/RepeatNormal/RepeatNone/ .

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/125

------------------------------------------------------------------------
On 2009-01-24T13:16:01+00:00 Clemens Eisserer wrote:

At least accalerated RepeatPad would be great, basically I think its
even more important RepeatNone (if that wouldn't be default).

Mozilla is evaluating using RepeatPad for their images, and my Java2D
XRender backend uses it a lot too.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/126

------------------------------------------------------------------------
On 2009-01-26T10:12:27+00:00 Michel-daenzer wrote:

Created an attachment (id=22250)
Start of acceleration for RepeatPad and RepeatReflect

Here's a possible start for acceleration of RepeatPad and RepeatReflect.
R100/R200 parts only compile tested, R300 parts only lightly tested -
are there any simple tests for RepeatPad/Reflect?

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/128

------------------------------------------------------------------------
On 2009-01-26T11:21:19+00:00 Tom Jaeger wrote:

Here's a very simple test:

http://lists.freedesktop.org/archives/xorg/2008-February/032973.html

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/129

------------------------------------------------------------------------
On 2009-01-27T00:10:14+00:00 Michel-daenzer wrote:

(In reply to comment #6)
> http://lists.freedesktop.org/archives/xorg/2008-February/032973.html

Thanks for reminding me of this. It passes on my RV350. :)

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/130

------------------------------------------------------------------------
On 2009-01-29T07:22:18+00:00 agd5f wrote:

both r100 and r200 fail on the repeat reflect test.  OTOH, the reflect
test fails even without the patch.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/136

------------------------------------------------------------------------
On 2009-01-29T07:42:17+00:00 Michel-daenzer wrote:

(In reply to comment #8)
> both r100 and r200 fail on the repeat reflect test.

Do you see the problem in the repeat-test-reflect-out.png file generated
by the test? Have you tried other *_CLAMP_S/T_MIRROR_* flags?

> OTOH, the reflect test fails even without the patch.

Hmm, so maybe something else is (also) broken on your system?

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/137

------------------------------------------------------------------------
On 2009-01-29T07:49:19+00:00 Michel-daenzer wrote:

Actually, the 2x2 source used by the test is probably a fallback because
it doesn't match the hardware's implicit POT texture pitch. So the
problem you're seeing is probably a pixman bug, but I haven't really
verified my change either. :}

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/138

------------------------------------------------------------------------
On 2009-01-29T08:07:25+00:00 Michel-daenzer wrote:

Created an attachment (id=22354)
Modified test using an 8x8 source, which should hit hardware acceleration

This still passes on my RV350. :)

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/139

------------------------------------------------------------------------
On 2009-01-29T09:01:45+00:00 Tom Jaeger wrote:

Sorry, I probably should have mentioned this earlier.  This is a known
bug in pixman:

http://bugs.freedesktop.org/show_bug.cgi?id=19704

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/140

------------------------------------------------------------------------
On 2009-01-29T11:56:18+00:00 agd5f wrote:

8 isn't big enough since the EXA pitch alignment is 64 bytes.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/141

------------------------------------------------------------------------
On 2009-01-29T12:14:10+00:00 Clemens Eisserer wrote:

Some documentation about hardware restrictions would be quite cool - I
am currently working on a Java2D XRender backend - and optimal
performance across different driver/gpu combinations causes a lot of
guessing.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/142

------------------------------------------------------------------------
On 2009-01-30T00:52:34+00:00 Michel-daenzer wrote:

Created an attachment (id=22375)
Test using a 16x16 source, really hits hardware acceleration for me

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/143

------------------------------------------------------------------------
On 2009-01-30T01:07:42+00:00 Michel-daenzer wrote:

(In reply to comment #13)
> 8 isn't big enough since the EXA pitch alignment is 64 bytes.

Argh. Try the 16x16 test. I also forgot this doesn't matter for >= R300,
so I was hitting acceleration even with 2x2.


(In reply to comment #14)
> Some documentation about hardware restrictions would be quite cool - I am
> currently working on a Java2D XRender backend - and optimal performance across
> different driver/gpu combinations causes a lot of guessing.

In general, older hardware tends to only support repeat with power-of-
two dimensions. And pre-R300 Radeons have this peculiarity where you
can't choose an explicit pitch for power-of-two textures, the hardware
just rounds up the width to the next multiple of 32 bytes. For other
reasons, we can currently only use multiples of 64 bytes for the pitch,
so if those pitches don't match (and the height is > 1) we can't do
repeat. See RADEONPitchMatches() and its callers.


(In reply to comment #12)
> Sorry, I probably should have mentioned this earlier.  This is a known bug in
> pixman:
> 
> http://bugs.freedesktop.org/show_bug.cgi?id=19704

So it looks like this patch already gets us ahead of software fallbacks,
at least on >= R300. :)

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/144

------------------------------------------------------------------------
On 2009-01-30T06:56:04+00:00 agd5f wrote:

Both r1xx and r2xx pass the test.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/145

------------------------------------------------------------------------
On 2009-01-30T07:23:32+00:00 Michel-daenzer wrote:

(In reply to comment #17)
> Both r1xx and r2xx pass the test.

Yay! I pushed the patch, someone may want to look into extending the
source tile code to handle RepeatReflect as well.

Reply at: https://bugs.launchpad.net/firefox/+bug/217908/comments/146


** Changed in: xf86-video-ati
   Importance: Unknown => Medium

** Bug watch added: freedesktop.org Bugzilla #19704
   http://bugs.freedesktop.org/show_bug.cgi?id=19704

-- 
FFe: Pixellated Images in Firefox/Opera due to incorrect EXTEND_PAD implementation in several video drivers
https://bugs.launchpad.net/bugs/217908
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Libpixman.