[Bug 9888] No Pixel Shaders 1.1 support on Geforce3/4 and Radeon 8500/9000 hardware

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jul 31 17:57:44 CDT 2008


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





--- Comment #15 from Stefan Dösinger <stefandoesinger at gmx.at>  2008-07-31 17:57:44 ---
I think this code itself is not very useful as is, but it is probably a good
guideline. There are a few differences between what the code does and what Wine
needs:

* This code uses GL_ATI_text_fragment_shader, whereas the open source dri
driver has GL_ATI_fragment_shader only. The concept is the same, but the
programming interface slightly different(actually, the docs say so. The code
uses GL_ATI_fragment_shader)

* The code parses assmbly shaders, in WineD3D you have the shader
bytecode(which is easier to read in a program though)

* Also watch out with the license. It is not LGPL, but I think you are free to
use the code if you keep the copyright notices intact.

If anyone wants to implement pixel shaders, feel free to ask me any question.
This is roughly what you have to do:

-> Provide a shader_backend_t structure which implements the functions using
atifs. For the start don't care about vertex shaders. The structure will have
to borrow code from the arb program code for vertex shaders.

-> The bytecode format is not documented(it was, docs were removed), but the
arb_program_shader.c and glsl_shader.c files have code parsing the tokens. The
format is a pretty simple collection of flags though

-> For documentation how to use the atifs extension, refer to the specification
of the extension, and see how the fixed function pipeline implementation makes
use of it.


-- 
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