Implement more GLSL instructions

Ivan Gyurdiev ivg231 at
Wed Jun 14 02:52:27 CDT 2006

> As of this patch, Wine now supports more opcodes in GLSL than
> ARB_vp/fp and we can handle many of the shader 2.0+ instructions not
> available before.  There are a few missing texture operations compared
> to ARB still, and we're not properly handling textures for any shaders
> <2.0, but that's true in ARB as well.
Yes, the missing texture operations are kind of important, I think [ but 
they are valid in SM 1.x only ].
Other suggestions I have:
- fix swizzle, make it work consistently across all instructions (see cmp).
- may be a good idea to centralize casting in one place to avoid 
failures [ yes, I probably should have done that when adding casting in 
my patch :)
- merge the rest of the SHADER_ARB code, and organize it the same as the 
SHADER_GLSL code (in arb_shader.c or something like that). Then go 
through and compare the two and make sure modifiers and other such 
things work the same way.

For 1.x texture support we could delay compilation until we know what 
kind of textures will be bound, and then recompile if textures change 
their dimensionality [ which hopefully they won't ].

More information about the wine-devel mailing list