WineD3D: WineD3D: Use the shader backend to enable / disable atifs and nvts
stefan at codeweavers.com
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