[Bug 14762] Max Payne 2: sepia tone filter issues (high PPE)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 2 20:25:55 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=14762





--- Comment #17 from Stefan Dösinger <stefandoesinger at gmx.at>  2008-11-02 20:25:54 ---
> 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.
You definitely have a point here. It can't be any worse than broken.

Ok, one may argue that it can. Currently the rendering is incorrect. The worst
case with the uniform limitation is that the app fails to run(if we report the
limit), or the shader fails to compile(thus incorrect rendering, gl errors,
etc)

> I'm just referring to the uniform count. I totally agree that additional
> depedencies inside the state code are a really bad thing.
We can now build the state linking based on the GL extensions that are
available. You may be able to limit the problems to GF5 cards

> What's going on with other cards, like the <=4-series?
GF2 cards have no pixel shaders and no vertex shaders. We just fix up in the
fixed function pipeline and are happy

GF3 and GF4 cards have vertex shader support in wine right now, so in theory we
can run into the VS+FFP problem, but I haven't seen any app doing that yet.
They also support pixel shaders, but only via GL_NV_texture_shader, which we
don't support for pixel shaders yet. If we implement it, we have the same
problem on those cards

> I wonder how this is done in a native environment.
It works just fine, because in d3d conditional NP2 textures are addressed using
normalized coords. This is an odd invention of GL_ARB_texture_rectangle that
makes the problems here.

So here's the possible irony: We burn 2 uniforms per texture to upload the
texture size, and the opengl driver probably re-normalizes the coordinates and
eats another 2 uniforms. So in the end we may need a full 4 component vector to
something that is a NOP in the end.

wrt noveau, if it ever goes somewhere, we can implement the fast GL_TEXTURE_2D
emulation that we make use of with WINE_normalized_texrect to avoid the whole
mess.

You could file a feature request at Nvidia too, it's worth a try.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list