[Bug 9888] Transformers (Game): No Pixel Shaders 1.1 support!

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Oct 20 01:09:16 CDT 2007


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





--- Comment #9 from H. Verbeet <hverbeet at gmail.com>  2007-10-20 01:09:16 ---
It appears to me you're missing some background information, and misunderstood
my comment #5 and its logical conclusion, comment #7.

The first step is understanding what PS 1.1 actually means. MSDN has some
information on that topic:
http://msdn2.microsoft.com/en-us/library/bb219842.aspx
http://msdn2.microsoft.com/en-us/library/bb219851.aspx
http://msdn2.microsoft.com/en-us/library/bb172917.aspx
http://msdn2.microsoft.com/en-us/library/bb219849.aspx

What wined3d has to do is map that Direct3D functionality to equivalent OpenGL
functionality. The direct equivalents of Direct3D pixel shaders in OpenGL are
fragment programs and GLSL fragment shaders:
http://www.opengl.org/registry/specs/ARB/fragment_program.txt
http://www.opengl.org/registry/specs/ARB/fragment_shader.txt
http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf

If either of those is present wined3d can currently use that to implement
support for Direct3D pixel shaders. Unfortunately, as you can see at
http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_fragment_program
and
http://www.delphi3d.net/hardware/extsupport.php?extension=GL_ARB_fragment_shader,
your graphics card supports neither of those. You can also verify this by
looking at the output of "glxinfo".

However, the register combiners OpenGL extensions provides much of the
functionality that PS 1.1 provides,
(http://www.opengl.org/registry/specs/NV/register_combiners.txt &
http://www.opengl.org/registry/specs/NV/register_combiners2.txt) and these
extension are supported by your graphics card:
http://www.delphi3d.net/hardware/extsupport.php?extension=GL_NV_register_combiners
http://www.delphi3d.net/hardware/extsupport.php?extension=GL_NV_register_combiners2

The problem is that because the interface provided by register combiners is
quite different from the one provided by Direct3D pixel shaders, it will take a
significant amount of work to implement pixel shaders on top of register
combiners within wined3d. This makes it somewhat unlikely anyone will
implements this anytime soon.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list