Henri Verbeet : wined3d: SM4 immediate constants are typeless.

Alexandre Julliard julliard at winehq.org
Fri Oct 8 12:38:09 CDT 2010


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Oct  8 13:12:18 2010 +0200

wined3d: SM4 immediate constants are typeless.

---

 dlls/wined3d/glsl_shader.c     |    4 ++--
 dlls/wined3d/shader.c          |    4 ++--
 dlls/wined3d/shader_sm4.c      |   12 ++++++------
 dlls/wined3d/wined3d_private.h |   12 +++---------
 4 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 8e9795e..0b5bb36 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1477,11 +1477,11 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
         case WINED3DSPR_IMMCONST:
             switch (reg->immconst_type)
             {
-                case WINED3D_IMMCONST_FLOAT:
+                case WINED3D_IMMCONST_SCALAR:
                     sprintf(register_name, "%.8e", *(const float *)reg->immconst_data);
                     break;
 
-                case WINED3D_IMMCONST_FLOAT4:
+                case WINED3D_IMMCONST_VEC4:
                     sprintf(register_name, "vec4(%.8e, %.8e, %.8e, %.8e)",
                             *(const float *)&reg->immconst_data[0], *(const float *)&reg->immconst_data[1],
                             *(const float *)&reg->immconst_data[2], *(const float *)&reg->immconst_data[3]);
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index 075c204..bc39b3b 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -1033,11 +1033,11 @@ static void shader_dump_register(const struct wined3d_shader_register *reg,
         TRACE("(");
         switch (reg->immconst_type)
         {
-            case WINED3D_IMMCONST_FLOAT:
+            case WINED3D_IMMCONST_SCALAR:
                 TRACE("%.8e", *(const float *)reg->immconst_data);
                 break;
 
-            case WINED3D_IMMCONST_FLOAT4:
+            case WINED3D_IMMCONST_VEC4:
                 TRACE("%.8e, %.8e, %.8e, %.8e",
                         *(const float *)&reg->immconst_data[0], *(const float *)&reg->immconst_data[1],
                         *(const float *)&reg->immconst_data[2], *(const float *)&reg->immconst_data[3]);
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index ecd1ec3..a438614 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -90,8 +90,8 @@ enum wined3d_sm4_register_type
 
 enum wined3d_sm4_immconst_type
 {
-    WINED3D_SM4_IMMCONST_FLOAT  = 0x1,
-    WINED3D_SM4_IMMCONST_FLOAT4 = 0x2,
+    WINED3D_SM4_IMMCONST_SCALAR = 0x1,
+    WINED3D_SM4_IMMCONST_VEC4   = 0x2,
 };
 
 struct wined3d_sm4_data
@@ -354,14 +354,14 @@ static void shader_sm4_read_src_param(void *data, const DWORD **ptr, struct wine
 
         switch(immconst_type)
         {
-            case WINED3D_SM4_IMMCONST_FLOAT:
-                src_param->reg.immconst_type = WINED3D_IMMCONST_FLOAT;
+            case WINED3D_SM4_IMMCONST_SCALAR:
+                src_param->reg.immconst_type = WINED3D_IMMCONST_SCALAR;
                 memcpy(src_param->reg.immconst_data, *ptr, 1 * sizeof(DWORD));
                 *ptr += 1;
                 break;
 
-            case WINED3D_SM4_IMMCONST_FLOAT4:
-                src_param->reg.immconst_type = WINED3D_IMMCONST_FLOAT4;
+            case WINED3D_SM4_IMMCONST_VEC4:
+                src_param->reg.immconst_type = WINED3D_IMMCONST_VEC4;
                 memcpy(src_param->reg.immconst_data, *ptr, 4 * sizeof(DWORD));
                 *ptr += 4;
                 break;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 467eb28..3651c32 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -313,8 +313,8 @@ typedef enum _WINED3DSHADER_PARAM_REGISTER_TYPE
 
 enum wined3d_immconst_type
 {
-    WINED3D_IMMCONST_FLOAT,
-    WINED3D_IMMCONST_FLOAT4,
+    WINED3D_IMMCONST_SCALAR,
+    WINED3D_IMMCONST_VEC4,
 };
 
 #define WINED3DSP_NOSWIZZLE (0 | (1 << 2) | (2 << 4) | (3 << 6))
@@ -2821,13 +2821,7 @@ static inline BOOL shader_is_scalar(const struct wined3d_shader_register *reg)
             }
 
         case WINED3DSPR_IMMCONST:
-            switch(reg->immconst_type)
-            {
-                case WINED3D_IMMCONST_FLOAT:
-                    return TRUE;
-                default:
-                    return FALSE;
-            }
+            return reg->immconst_type == WINED3D_IMMCONST_SCALAR;
 
         default:
             return FALSE;




More information about the wine-cvs mailing list