[WINED3D 1/5] Resend: Make register counting pass the same

Ivan Gyurdiev ivg2 at cornell.edu
Tue May 9 17:01:05 CDT 2006


This is a resend. The patch was modified to incorporate subsequent trace 
bugfixes.

ChangeLog was:
==========================

I have a patch which will merge the counting pass for vertex and pixel 
shaders. They're 90% similar, but some things get in the way - get rid 
of them here.

- immediate constants are constants which override the ones set with 
SetShaderConstantF().
 They're allowed for both pixel and vertex shaders. They're handled by a 
PARAM declaration, and a bitmap to track which constants were overriden. 
However, it doesn't make sense to mark a constant overriden in the first 
pass, and make a PARAM declaration later when we see the DEF 
instruction. The GL spec says that symbol names can't be used before 
they are defined, so we might as well mark it overriden at the point 
where it's defined (later). Note that pixel shaders do the same thing 
already.

- input parameter usage declaration is necessary for vertex shaders, but 
not for pixel shaders. To avoid dealing with this now, move the 
declaration related things earlier into SetFunction. This is the correct 
thing to do anyway, since this is the GenerateProgramARB() function, and 
declaration things don't generate any shader code - they'll be necessary 
for GLSL as well.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0012.make_register_pass_same.diff
Type: text/x-patch
Size: 4597 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060509/94975abe/0012.make_register_pass_same.diff


More information about the wine-patches mailing list