Voodoo3, Banshee and D3D
wine at troy.rollo.name
Sat Mar 5 16:19:19 CST 2005
The Voodoo3/Banshee driver reverts to software rendering under the following
- Setting GL_LIGHT_MODEL_COLOR_CONTROL to GL_SEPARATE_SPECULAR_COLOR.
- Enabling line stippling or polygon stippling.
- Enabling point smoothing or polygon smoothing.
- Enabling line smoothing when line width is not 1.0. That is, antialiased
lines are done in hardware only when the line width is 1.0.
- Using 1-D or 3-D texture maps.
- Using the GL_BLEND texture environment.
- Using stencil operations.
- Using the accumulation buffer.
- Using glBlendEquation(GL_LOGIC_OP).
- Using glDrawBuffer(GL_FRONT_AND_BACK).
- Using glPolygonMode(face, GL_POINT) or glPolygonMode(face, GL_LINE).
- Using point size attenuation (i.e. GL_DISTANCE_ATTENUATION_EXT).
- Using glColorMask(r, g, b, a) when r!=g or g!=b.
Both wined3d/directx.c and d3d8/directx.c have an IWineD3DImpl_CreateDevice
that includes the following call:
In effect this prevents WINE from using the Voodoo3 for 3D rendering. Not only
does this make D3D games intolerably slow (forget measuring FPS - start
measuring FPM or worse), the result for many operations is just plain wrong.
Commenting out the offending line makes it work much better (at least until it
hits one of the other problems), but with a list of software fallbacks this
large, and given that the Voodoo3 is over 5 years old now, there must be some
question as to whether this is worth fixing. Is the response to people with
this problem "just go pick up an old GeForce card for $30"?
More information about the wine-devel