Created attachment 36137 [details]
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.
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.
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?
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.
> terrain is still blueish rather than green as with swrastg or r300g without
Now that bug #28169 is fixed, also the game, other than the editor, has all textures blueish.
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.
Fixed with commit 392a2515c0967c395be098cac6a37f325dd66b90. Closing..