Ivan Gyurdiev : wined3d: Only run parse_decl_usage on vshader INPUT registers.

Alexandre Julliard julliard at wine.codeweavers.com
Mon May 22 05:20:21 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 438d88e1e83ce0ead842a29aee2fc4ffdde39461
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=438d88e1e83ce0ead842a29aee2fc4ffdde39461

Author: Ivan Gyurdiev <ivg2 at cornell.edu>
Date:   Sun May 21 17:12:53 2006 -0400

wined3d: Only run parse_decl_usage on vshader INPUT registers.

---

 dlls/wined3d/vertexshader.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 29a92d1..ff6d6ed 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -709,7 +709,7 @@ inline static void vshader_program_add_p
   }
 }
 
-static void parse_decl_usage(IWineD3DVertexShaderImpl *This, INT usage, INT arrayNo)
+static void vshader_parse_input_decl_usage(IWineD3DVertexShaderImpl *This, INT usage, INT arrayNo)
 {
     switch(usage & 0xFFFF) {
         case D3DDECLUSAGE_POSITION:
@@ -1541,8 +1541,10 @@ HRESULT WINAPI IWineD3DVertexShaderImpl_
 
                     DWORD usage = *pToken;
                     DWORD param = *(pToken + 1);
+                    DWORD regtype = shader_get_regtype(param);
 
-                    parse_decl_usage(This, usage, param & D3DSP_REGNUM_MASK);
+                    if (regtype == D3DSPR_INPUT)
+                        vshader_parse_input_decl_usage(This, usage, param & D3DSP_REGNUM_MASK);
                     shader_program_dump_decl_usage(usage, param);
                     shader_dump_ins_modifiers(param);
                     TRACE(" ");




More information about the wine-cvs mailing list