Henri Verbeet : wined3d: Explicitly pass shader_data and reg_maps to reserved_vs_const().

Alexandre Julliard julliard at winehq.org
Mon Dec 6 13:18:32 CST 2010


Module: wine
Branch: master
Commit: 0405733ff72ecaec591dc80d62602a8c6bf091cc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0405733ff72ecaec591dc80d62602a8c6bf091cc

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Sun Dec  5 23:46:53 2010 +0100

wined3d: Explicitly pass shader_data and reg_maps to reserved_vs_const().

---

 dlls/wined3d/arb_program_shader.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 63d1495..05e4fcd 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -344,15 +344,14 @@ static BOOL need_helper_const(const struct arb_vshader_private *shader_data,
     return FALSE;
 }
 
-static unsigned int reserved_vs_const(IWineD3DVertexShaderImpl *shader, const struct wined3d_gl_info *gl_info)
+static unsigned int reserved_vs_const(const struct arb_vshader_private *shader_data,
+        const struct shader_reg_maps *reg_maps, const struct wined3d_gl_info *gl_info)
 {
     unsigned int ret = 1;
     /* We use one PARAM for the pos fixup, and in some cases one to load
      * some immediate values into the shader. */
-    if (need_helper_const(shader->baseShader.backend_data,
-            &shader->baseShader.reg_maps, gl_info)) ++ret;
-    if (need_rel_addr_const(shader->baseShader.backend_data,
-            &shader->baseShader.reg_maps, gl_info)) ++ret;
+    if (need_helper_const(shader_data, reg_maps, gl_info)) ++ret;
+    if (need_rel_addr_const(shader_data, reg_maps, gl_info)) ++ret;
     return ret;
 }
 
@@ -725,6 +724,7 @@ static DWORD shader_generate_arb_declarations(IWineD3DBaseShader *iface, const s
     }
     else
     {
+        const struct arb_vshader_private *shader_data = This->baseShader.backend_data;
         max_constantsF = gl_info->limits.arb_vs_native_constants;
         /* 96 is the minimum MAX_PROGRAM_ENV_PARAMETERS_ARB value.
          * Also prevents max_constantsF from becoming less than 0 and
@@ -735,7 +735,7 @@ static DWORD shader_generate_arb_declarations(IWineD3DBaseShader *iface, const s
         if(This->baseShader.reg_maps.usesrelconstF) {
             DWORD highest_constf = 0, clip_limit;
 
-            max_constantsF -= reserved_vs_const((IWineD3DVertexShaderImpl *)This, gl_info);
+            max_constantsF -= reserved_vs_const(shader_data, reg_maps, gl_info);
             max_constantsF -= count_bits(This->baseShader.reg_maps.integer_constants);
 
             for(i = 0; i < This->baseShader.limits.constant_float; i++)




More information about the wine-cvs mailing list