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

Stefan Dösinger stefan at codeweavers.com
Fri Apr 11 10:35:21 CDT 2008


Am Freitag, 11. April 2008 17:22:20 schrieb Chris Robinson:
> In all cases, it should pick one and stick with it through the life of the
> process, for both D3D shaders and D3D fixed-function. Don't use atifs if
> ARB is available, don't use GLSL if nv-supplimented ARB is available, etc.
There are three issues that lead to this discussion:

*) We may want to mix shader backends. GLSL is a pain on MacOS at least on the 
vertex side, but it works okish on the fragment shader side. It may be 
helpful to compile a ARB vertex shader and a GLSL pixel shader. Also an ARB 
replacement may be faster there because the GLSL compiler on MacOS often 
creates slow code.

*) We have an NVTS and ATIFS replacement now, but no ARB or GLSL fragment 
processing code, and it would be cool if we can make use of the ATIFS code on 
newer cards as well. NVTS currently works because it is included in the 
baseshader/fixed function backend.

*) It's also about getting the design right in principle, and finding a design 
that doesn't need an entire rework when dx10 and geometry shaders are 
introduced.



More information about the wine-devel mailing list