[WINED3D] Support more than 6 temporary registers

Ivan Gyurdiev ivg2 at cornell.edu
Sat Apr 15 16:01:25 CDT 2006


Pixel Shaders 2.0+ support more than 6 temporaries, but we hardcode them 
to 6. This patch borrows code from the Vertex Shader "first pass", and 
uses it to track how many temporary and texture registers are used. 
Declarations are only emitted for used registers, unlike before. 
Additionally, up to numTemps temporary registers are now supported 
(determined by the shader version).

Future use might be to also track constants, and address registers [ if 
merged with vertex first pass ].
Note that I use a DWORD bitmap to track usage, but that seems ok [ at 
least for now ], since no more than 32 registers are allowed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine.more_than_6_temps.diff
Type: text/x-patch
Size: 5547 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060415/db5aa925/wine.more_than_6_temps.diff


More information about the wine-patches mailing list