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...