[4/22] WineD3D: A shader backend descriptor for the ati fragment shader backend

Stefan Dösinger stefan at codeweavers.com
Sun Mar 16 17:25:53 CDT 2008

Am Sonntag, 16. März 2008 15:00:49 schrieb Ivan Gyurdiev:
> I don't quite understand why it's necessary to write ARB, GLSL, and NONE
> shader descriptors inside the ati_shader file.
> How will this infrastructure scale to a new shader backend added a year
> from now ?
Currently I am doing that so ATI cards which have ARB_fp or GLSL can use the 
fragment replacement code and d3d pshaders at the same time. As commented in 
the code we can remove all but the ATIfs+ARBvp backend the day we have a ffp 
replacement in ARB or GLSL. Thus there's no need for that to scale, what we 
have here is the worst case.

> I very much like that backend-specific functionality ends up in the
> appropriate backend - as per patches 10, 11, and 14.
> However, it seems those patches stand on their own, independent of the
> rest of the patchset and this feature.
You're right, the shader model changes do not really need the ATIfs code to 
work. However, separating them would be quite a pain, and I do not see any 
gain from that beyong the point where the patches are applied. It won't 
affect regression testing really.

The reason why I wrote it that way was that I needed an implementation of an 
ffp replacement to see where the whole thing goes. I couldn't do that with 
the existing nvts code because nvrc+nvts are quite different from 
arb/glsl/atifs and as described in the other mail putting that code into a 
separate shader backend won't help us much.

More information about the wine-devel mailing list