http://bugs.winehq.org/show_bug.cgi?id=14762
--- Comment #16 from Tobias Jakobi liquid.acid@gmx.net 2008-11-02 18:20:33 --- (In reply to comment #15)
The other bad aspect is that the coordinate correction needs at least 2 single float uniforms per sampler, which are supposed to be available to the application. (even hardcoding the values into the shader won't help - the driver needs a uniform for this)
I wonder if this has any effect at all on the current situation. I mean the fixup code would only be needed for the 5-series. And currently situations where it's needed are not even rendered close to what it looks like in a native environment. So if after some fixup code exists the amount of uniforms is too large for the driver, we'll end up in the same situation. Scene is not rendered correctly.
Or would this have additional impacts on previously "working" apps?
I'm just referring to the uniform count. I totally agree that additional depedencies inside the state code are a really bad thing.
I think the best is to close this bug as WONTFIX and ignore the issue. It only occurs on one card type, the GeForce 5 series. All other cards either have native NP2 texture support, or the driver emulates it in hardware if we stick to the texture rectangle limitations.
What's going on with other cards, like the <=4-series? I dunno their HW caps, but AFAIK the GeForce2 already support tex_rect, but probably no real tex_npot. I realize that these cards are old, but thanks to nouveau we'll probably get some long-term support for these :)
I really hate to do that - my credo is that everything that works on Windows should work on Wine, with the same hardware, at the same feature level and the same performance. But this is one of the corner cases we can't fix.
I wonder how this is done in a native environment.
How comes the OpenGL driver implements this software fallback when on Windows it works just fine. Is this really a flaw in the hardware design or is it just the driver?
If it's a hw thing then why can't I find any information about a similar fallback in D3D?
Greets, Tobias