Bug 24047 - s3tc broken on r600
Summary: s3tc broken on r600
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/R600 (show other bugs)
Version: git
Hardware: Other Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
: 25159 25337 27584 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-20 11:26 UTC by Bug
Modified: 2011-11-29 17:01 UTC (History)
11 users (show)

See Also:
i915 platform:
i915 features:


Attachments
screenshot with texcompress demo (659.29 KB, image/png)
2009-10-14 22:09 UTC, Andrew Randrianasulu
Details
st3c (277.85 KB, image/jpeg)
2010-01-04 02:53 UTC, jonathan
Details
disables s3tc on r600 and prints a message to stderr (1.08 KB, patch)
2010-07-23 10:07 UTC, Michal Suchanek
Details | Splinter Review
the same patch with consistent whitespace (1.05 KB, patch)
2010-07-23 10:25 UTC, Michal Suchanek
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Bug 2009-09-20 11:26:48 UTC
games that use s3tc (vegastrike, wolfenstein mods, springrts) show corrupt textures, it seems the video memory adresses are read out, but there's not the correct data at that address, so you get ugly tiled unrelated textures in unexpected places.
Comment 1 Bug 2009-09-20 11:28:55 UTC
fyi this all used to work fine on r300
Comment 2 Andrew Randrianasulu 2009-10-14 22:09:25 UTC
Created attachment 30439 [details]
screenshot with texcompress demo
Comment 3 Alex Deucher 2009-11-18 07:55:20 UTC
*** Bug 25159 has been marked as a duplicate of this bug. ***
Comment 4 Alex Deucher 2009-11-18 08:53:20 UTC
I've gone ahead and disabled compressed texture support as it's not supported yet in the driver.
Comment 5 Alex Deucher 2009-11-28 23:47:36 UTC
*** Bug 25337 has been marked as a duplicate of this bug. ***
Comment 6 jonathan 2010-01-04 02:53:35 UTC
Created attachment 32428 [details]
st3c

a screenshot of regnum online
Comment 7 jonathan 2010-04-17 10:39:21 UTC
in wich release this bug is fixed?
because currently i use:
$ rpm -qa | grep mesa
mesa-dri-drivers-experimental-7.8-0.18.fc13.x86_64
mesa-libGLU-7.8-0.18.fc13.x86_64
mesa-libOSMesa-7.8-0.18.fc13.i686
mesa-libGL-7.8-0.18.fc13.i686
mesa-libGL-7.8-0.18.fc13.x86_64
mesa-libGL-devel-7.8-0.18.fc13.x86_64
mesa-libGLU-devel-7.8-0.18.fc13.i686
mesa-libGLw-6.5.1-8.fc12.x86_64
mesa-libGLU-devel-7.8-0.18.fc13.x86_64
mesa-libOSMesa-7.8-0.18.fc13.x86_64
mesa-dri-drivers-7.8-0.18.fc13.x86_64
mesa-libGLw-6.5.1-8.fc12.i686
mesa-dri-drivers-7.8-0.18.fc13.i686
mesa-libGLU-7.8-0.18.fc13.i686

and they are no texture with s3tc
Comment 8 jonathan 2010-04-18 09:58:36 UTC
hello, today i have an update and now s3tc are enable.
$ rpm -qa | grep mesa
mesa-libOSMesa-7.8.1-1.fc13.x86_64
mesa-libGLU-7.8.1-1.fc13.x86_64
mesa-libGLU-7.8.1-1.fc13.i686
mesa-libGLU-devel-7.8.1-1.fc13.x86_64
mesa-libGLU-devel-7.8.1-1.fc13.i686
mesa-dri-drivers-7.8.1-1.fc13.x86_64
mesa-dri-drivers-7.8.1-1.fc13.i686
mesa-dri-drivers-experimental-7.8.1-1.fc13.x86_64
mesa-libGLw-6.5.1-8.fc12.x86_64
mesa-libOSMesa-7.8.1-1.fc13.i686
mesa-libGL-devel-7.8.1-1.fc13.x86_64
mesa-libGL-7.8.1-1.fc13.x86_64
mesa-libGL-7.8.1-1.fc13.i686
mesa-libGLw-6.5.1-8.fc12.i686

nice work, stille some artefact with ennemy territory quake wars
Comment 9 jonathan 2010-05-26 17:02:29 UTC
when i launch ennemy territory quake wars i have this error :

failed to validate texture for unit 1.
unsupported texture format in setup_hardware_state
failed to validate texture for unit 4.
unsupported texture format in setup_hardware_state
failed to validate texture for unit 5.
unsupported texture format in setup_hardware_state
failed to validate texture for unit 0.
Comment 10 jonathan 2010-05-31 19:51:02 UTC
ping
Comment 11 Andy Furniss 2010-06-01 02:59:35 UTC
(In reply to comment #10)
> ping

s3tc has never worked for me using a RV670 with git drivers, it affects all the games I've tried - etqw, quake4 demo, et wolf, ut2004 demo and doom3 demo.

Of course disabling s3tc in .driconf will workaround it apart from quake 4 (refuses to start without s3tc) and etqw (which then hits some other shader errors).
Comment 12 Andy Furniss 2010-06-01 03:15:13 UTC
(In reply to comment #11)

> Of course disabling s3tc in .driconf will workaround 

Oops - I meant .drirc in your home dir, not .driconf - the contents I use to disable s3tc are -

<driconf>
    <device screen="0" driver="r600">
        <application name="Default">
            <option name="force_s3tc_enable" value="false" />
            <option name="disable_s3tc" value="true" />
        </application>
    </device>
</driconf>
Comment 13 Gael Le Mignot 2010-06-02 10:45:39 UTC
*** Bug 27584 has been marked as a duplicate of this bug. ***
Comment 14 Chris Rankin 2010-07-12 13:25:46 UTC
This bug is important for WoW to work, as well. WoW will crash immediately if the OpenGL S3TC extensions are not available.
Comment 15 Michal Suchanek 2010-07-23 05:58:35 UTC
I think that Mesa should not advertise s3tc on drivers that don't support uploading compressed textures.

Some programs try to set the flag which forces advertising the s3tc although only upload is supported in the hope they can use precompressed textures. In the case of r600 the feature should not be advertised anyway.
Comment 16 jonathan 2010-07-23 07:32:12 UTC
(In reply to comment #15)
> I think that Mesa should not advertise s3tc on drivers that don't support
> uploading compressed textures.
> 
> Some programs try to set the flag which forces advertising the s3tc although
> only upload is supported in the hope they can use precompressed textures. In
> the case of r600 the feature should not be advertised anyway.

hi, i woulk like know if my graphic card support s3tc? and if yes in which revision appear this feature?
thanks

0.0 VGA compatible controller: ATI Technologies Inc RV730XT [Radeon HD 4670]
model name	: AMD Phenom(tm) II X4 955 Processor
cpu MHz		: 3211.224
model name	: AMD Phenom(tm) II X4 955 Processor
cpu MHz		: 3211.224
model name	: AMD Phenom(tm) II X4 955 Processor
cpu MHz		: 3211.224
model name	: AMD Phenom(tm) II X4 955 Processor
cpu MHz		: 3211.224
  dimensions:    2960x1050 pixels (783x278 millimeters)
  depth of root window:    24 planes
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
--
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RV730 9490) 20090101  TCL DRI2
OpenGL version string: 2.0 Mesa 7.8.1
Linux 2.6.33.6-147.fc13.x86_64
Comment 17 Michal Suchanek 2010-07-23 10:07:16 UTC
Created attachment 37338 [details] [review]
disables s3tc on r600 and prints a message to stderr

This patch fixes Crystalspace3D for me.
It's a workaround, it only disables the extension completely since it is unsupported on r600 cards.
Comment 18 Michal Suchanek 2010-07-23 10:25:19 UTC
Created attachment 37339 [details] [review]
the same patch with consistent whitespace
Comment 19 Niels P. 2011-07-31 03:44:35 UTC
s3tc is fixed on r600/r600g with the third party Library.
Comment 20 Matt McHenry 2011-11-28 19:29:43 UTC
(In reply to comment #19)
> s3tc is fixed on r600/r600g with the third party Library.

What is "the third party Library"?

I'm trying to get StarCraft II to run on this hardware:

$ glxinfo | egrep -i render\|vendor
direct rendering: Yes
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RV610
    GL_NV_conditional_render, GL_AMD_draw_buffers_blend,
Comment 21 Phil Armstrong 2011-11-29 01:47:07 UTC
http://dri.freedesktop.org/wiki/S3TC

Look for libtxc_dxtn in your distributions non-free or contrib section. Hopefullly the patent issues will get cleared up & the library will then be merged into mesa proper.
Comment 22 Niels P. 2011-11-29 01:49:39 UTC
libtxc-dxtn http://cgit.freedesktop.org/~mareko/libtxc_dxtn/
Comment 23 Michal Suchanek 2011-11-29 02:18:36 UTC
it cannot be fixed by s3tc.

What r600 does not support should work without any library: uploading textures which are already compressed.
Comment 24 Tobias Jakobi 2011-11-29 07:04:00 UTC
There is no r600 (classic mesa) anymore, only r600g. And r600g doesn't have any problems with s3tc or texture compression in general.
Comment 25 Matt McHenry 2011-11-29 17:01:07 UTC
Awesome -- 'emerge -av media-libs/libtxc_dxtn' got SC2 working for me on gentoo.  Thanks!


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.