[4/22] WineD3D: A shader backend descriptor for the ati fragment shader backend
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