WineD3D: WineD3D: Use the shader backend to enable / disable atifs and nvts

Stefan Dösinger stefan at
Fri Apr 11 02:59:56 CDT 2008

Am Freitag, 11. April 2008 08:58:05 schrieb H. Verbeet:

First of all: We really want that patch to go in, Wine is currently badly 
broken on fglrx.

> This patch doesn't make sense at all. Wasn't ATIFS supposed to be an
> implementation of fixed function fragment processing for ATI cards? In
> that case it doesn't make sense to only use it on cards that don't
> support ARB or GLSL. That will only make newer ATI cards have worse
> fixed function fragment processing (assuming ATIFS works as
> advertised). Of course what it comes down to again is that the shader
> backend isn't the right place to implement this.
We need that in a shader backend if we are ever going to implement pixel 
shaders using atifs. We also have to make nvts/nvrc a shader backend if we 
ever implement pixel shaders using that extension.

As for the worse fragment processing on newer ATI cards: We do not want to use 
ATIFS on those cards anyway, because ATIFS has a hardcoded limitation of 6 
simultanous textures, whereas radeon 9500+ cards support 8 textures with 
regular OpenGL fixed function processing. Also fglrx supports 
GL_ATI_envmap_bumpmap on those cards, so we have bump mapping without ATIFS 
as well(Still missing stuff like specular color input and rare blending 
parameters though). For newer ATI cards we need an ARBFP / GLSL pipeline 
replacement, no matter what we do with ATIFS.

Remember, my original patchset used ATIFS with newer cards as well. Ivan did 
not like the 3 inherited atifs backends, so I've limited ATIFS to its final 
use in a 'perfect' wine that has an ARBFP and GLSL replacement.

> (Not to mention the 
> issue of making a workaround for a Mesa bug part of the shader
> infrastructure... that bug should be fixed in Mesa.)
It is fixed there already, but we're using the workaround to allow users of 
older Mesa versions to run the tests without crashing. If it's just about me 
we can take the workaround out again, I have the newest Mesa code...

More information about the wine-devel mailing list