Aren't most of these 2.0 and 3.0 instructions ? What's the goal of adding them to ARB - you won't be able to implement full 2.0/3.0 support in ARB.
I think most of these were left unimplemented on purpose.
Ivan
Am Donnerstag, 27. September 2007 02:57:01 schrieb Ivan Gyurdiev:
Aren't most of these 2.0 and 3.0 instructions ? What's the goal of adding them to ARB - you won't be able to implement full 2.0/3.0 support in ARB.
We can implement 2.0(but not 2.a/b). Whenever it's easy to do, I'm adding 3.0-Specific behavior too. The reason is that GLSL is a bloody pain on MacOS, with ARB I can bypass many abstraction layers that have a huge number of software fallback pitfalls.
Stefan Dösinger wrote:
Am Donnerstag, 27. September 2007 02:57:01 schrieb Ivan Gyurdiev:
Aren't most of these 2.0 and 3.0 instructions ? What's the goal of adding them to ARB - you won't be able to implement full 2.0/3.0 support in ARB.
We can implement 2.0(but not 2.a/b). Whenever it's easy to do, I'm adding 3.0-Specific behavior too. The reason is that GLSL is a bloody pain on MacOS, with ARB I can bypass many abstraction layers that have a huge number of software fallback pitfalls.
Are you saying you intend to advertise 3.0 support on ARB only? If not, then why add any 3.0 features at all ?
Ivan
Am Donnerstag, 27. September 2007 13:02:31 schrieb Ivan Gyurdiev:
Are you saying you intend to advertise 3.0 support on ARB only? If not, then why add any 3.0 features at all ?
No, I certainly do not intend to advertise 3.0 because we cannot implement things like branching, dsx/dsy or vertex textures, but I'll propably advertise 2.0 some day, if I feel like causing a lot of extensions(Or I think that our shader tests are good enough to safely do this).
The ARB shader backend tries to eat everything it is fed with though, even 3.0 shaders. Some games require a specific shader model, but use only a subset of it that is supportable. Having the code to support some 3.0 specials makes my life easier since I can just go and lie about the caps on macos for specific games(e.g. in crossover). I don't put special focus on SM 3.0 support, but if I come across something that is easy to add, I'm adding it. Also, some day we may implement the 3.0 features using the NV extensions.
Of course if it's preferred to keep the arb shader backend clean from version == 3.0 checks I can keep the things I have in my junk branch, as long as I don't have to explain why I'm not submitting $GAMEFIX to Wine. Pretending SM 3.0 support is a hack, implementing the parts of 3.0 we can implement properly isn't IMHO.