Henri Verbeet : wined3d: Use the "sysval_semantic" field instead of " semantic_name" to recognize SV_POSITION.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 24 10:00:44 CDT 2015


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Tue Mar 24 09:38:24 2015 +0100

wined3d: Use the "sysval_semantic" field instead of "semantic_name" to recognize SV_POSITION.

---

 dlls/wined3d/glsl_shader.c | 2 +-
 dlls/wined3d/shader.c      | 2 +-
 include/wine/wined3d.h     | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0b307d3..a61d268 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -4167,7 +4167,7 @@ static void shader_glsl_input_pack(const struct wined3d_shader *shader, struct w
 
         if (vertexprocessing == vertexshader)
         {
-            if (!strcmp(semantic_name, "SV_POSITION") && !semantic_idx)
+            if (input->sysval_semantic == WINED3D_SV_POSITION)
                 shader_addline(buffer, "ps_in[%u]%s = vpos%s;\n",
                         shader->u.ps.input_reg_map[input->register_idx], reg_mask, reg_mask);
             else
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index f162fb5..31b391b 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -1045,7 +1045,7 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st
         {
             reg_maps->input_registers |= 1 << input_signature->elements[i].register_idx;
             if (shader_version.type == WINED3D_SHADER_TYPE_PIXEL
-                    && !strcmp(input_signature->elements[i].semantic_name, "SV_POSITION"))
+                    && input_signature->elements[i].sysval_semantic == WINED3D_SV_POSITION)
                 reg_maps->vpos = 1;
         }
     }
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 2348be8..dcf7212 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -767,6 +767,8 @@ enum wined3d_decl_usage
 
 enum wined3d_sysval_semantic
 {
+    WINED3D_SV_POSITION = 1,
+
     WINED3D_SV_DEPTH = 0xffffffff,
     WINED3D_SV_TARGET0 = 0,
     WINED3D_SV_TARGET1 = 1,




More information about the wine-cvs mailing list