Bug 28437 - [r300g] wrong texture colors with libtxc_dxtn.so
Summary: [r300g] wrong texture colors with libtxc_dxtn.so
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r300 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
Depends on:
Reported: 2010-06-08 02:15 UTC by Fabio Pedretti
Modified: 2010-07-08 15:54 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

console output (6.63 KB, text/plain)
2010-06-08 02:15 UTC, Fabio Pedretti

Description Fabio Pedretti 2010-06-08 02:15:37 UTC
Created attachment 36137 [details]
console output

When running the 0ad game editor ('0ad -editor') terrain is blue rather than green, and when I press the 'Terrain' button I see lots of:
Mesa 7.9-devel implementation error: util_create_rgba_surface() failed in decompress_with_blit()
Please report at bugzilla.freedesktop.org

It works fine with r300g without libtxc_dxtn.so, as well as with swrastg with or without libtxc_dxtn.so.

I am using mesa up to 3a876e84 with:
GL_RENDERER   = Gallium 0.4 on RV530
GL_VERSION    = 2.1 Mesa 7.9-devel

Full console output is attached.
Comment 1 Roland Scheidegger 2010-06-08 07:45:57 UTC
Looks to me like that's because decompress_with_blit adds a PIPE_BIND_TRANSFER_READ bind flag (apart from the PIPE_BIND_RENDER_TARGET flag), which the r300g driver thinks it can't handle in is_format_supported.
I think this flag is actually quite inconsistently used, pretty much all other places assume transfers are possible anyway even without this flag, though I guess the driver shouldn't choke on it.
Comment 2 Marek Olšák 2010-06-08 15:34:17 UTC
I think the transfer bind flags were added to note that a Direct3D surface should be lockable (it's possible to create a non-lockable surface there, especially when comes to depth-stencil formats, and a Direct3D driver is free not to support a lockable depth-stencil buffer if it doesn't want to).

Fabio, I've committed some fixes. Could you please test the 0ad editor again?
Comment 3 Fabio Pedretti 2010-06-09 00:05:52 UTC
The 'Mesa 7.9-devel implementation error: ...' no longer appears, however the terrain is still blueish rather than green as with swrastg or r300g without libtxc_dxtn.so.
Comment 4 Fabio Pedretti 2010-07-02 09:41:49 UTC
> terrain is still blueish rather than green as with swrastg or r300g without
> libtxc_dxtn.so.

Now that bug #28169 is fixed, also the game, other than the editor, has all textures blueish.
Comment 5 Alan Swanson 2010-07-02 10:09:58 UTC
Seems to affect UT2004 too on an AGP X1650 Pro running current mesa git when S3TC textures are enabled with libtxc_dxtn.so, the blue and red colours are swapped.
Comment 6 Marek Olšák 2010-07-08 15:54:33 UTC
Fixed with commit 392a2515c0967c395be098cac6a37f325dd66b90. Closing..

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.