=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Recognize SM5 vicp register.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 4 10:37:02 CDT 2016


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Mon Apr  4 11:26:31 2016 +0200

wined3d: Recognize SM5 vicp register.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/shader.c          |  4 ++
 dlls/wined3d/shader_sm4.c      | 91 +++++++++++++++++++++---------------------
 dlls/wined3d/wined3d_private.h |  1 +
 3 files changed, 51 insertions(+), 45 deletions(-)

diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index 644ebef..920abd7 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -1690,6 +1690,10 @@ static void shader_dump_register(struct wined3d_string_buffer *buffer,
             shader_addline(buffer, "vForkInstanceId");
             break;
 
+        case WINED3DSPR_INCONTROLPOINT:
+            shader_addline(buffer, "vicp");
+            break;
+
         case WINED3DSPR_TESSCOORD:
             shader_addline(buffer, "vDomainLocation");
             break;
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index 4c8558d..a949312 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -211,20 +211,21 @@ enum wined3d_sm4_opcode
 
 enum wined3d_sm4_register_type
 {
-    WINED3D_SM4_RT_TEMP             = 0x0,
-    WINED3D_SM4_RT_INPUT            = 0x1,
-    WINED3D_SM4_RT_OUTPUT           = 0x2,
-    WINED3D_SM4_RT_IMMCONST         = 0x4,
-    WINED3D_SM4_RT_SAMPLER          = 0x6,
-    WINED3D_SM4_RT_RESOURCE         = 0x7,
-    WINED3D_SM4_RT_CONSTBUFFER      = 0x8,
-    WINED3D_SM4_RT_IMMCONSTBUFFER   = 0x9,
-    WINED3D_SM4_RT_PRIMID           = 0xb,
-    WINED3D_SM4_RT_DEPTHOUT         = 0xc,
-    WINED3D_SM4_RT_NULL             = 0xd,
-    WINED3D_SM5_RT_FORK_INSTANCE_ID = 0x17,
-    WINED3D_SM5_RT_DOMAIN_LOCATION  = 0x1c,
-    WINED3D_SM5_RT_UAV              = 0x1e,
+    WINED3D_SM4_RT_TEMP                 = 0x0,
+    WINED3D_SM4_RT_INPUT                = 0x1,
+    WINED3D_SM4_RT_OUTPUT               = 0x2,
+    WINED3D_SM4_RT_IMMCONST             = 0x4,
+    WINED3D_SM4_RT_SAMPLER              = 0x6,
+    WINED3D_SM4_RT_RESOURCE             = 0x7,
+    WINED3D_SM4_RT_CONSTBUFFER          = 0x8,
+    WINED3D_SM4_RT_IMMCONSTBUFFER       = 0x9,
+    WINED3D_SM4_RT_PRIMID               = 0xb,
+    WINED3D_SM4_RT_DEPTHOUT             = 0xc,
+    WINED3D_SM4_RT_NULL                 = 0xd,
+    WINED3D_SM5_RT_FORK_INSTANCE_ID     = 0x17,
+    WINED3D_SM5_RT_INPUT_CONTROL_POINT  = 0x19,
+    WINED3D_SM5_RT_DOMAIN_LOCATION      = 0x1c,
+    WINED3D_SM5_RT_UAV                  = 0x1e,
 };
 
 enum wined3d_sm4_output_primitive_type
@@ -729,37 +730,37 @@ static const struct wined3d_sm4_opcode_info opcode_table[] =
 
 static const enum wined3d_shader_register_type register_type_table[] =
 {
-    /* WINED3D_SM4_RT_TEMP */             WINED3DSPR_TEMP,
-    /* WINED3D_SM4_RT_INPUT */            WINED3DSPR_INPUT,
-    /* WINED3D_SM4_RT_OUTPUT */           WINED3DSPR_OUTPUT,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM4_RT_IMMCONST */         WINED3DSPR_IMMCONST,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM4_RT_SAMPLER */          WINED3DSPR_SAMPLER,
-    /* WINED3D_SM4_RT_RESOURCE */         WINED3DSPR_RESOURCE,
-    /* WINED3D_SM4_RT_CONSTBUFFER */      WINED3DSPR_CONSTBUFFER,
-    /* WINED3D_SM4_RT_IMMCONSTBUFFER */   WINED3DSPR_IMMCONSTBUFFER,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM4_RT_PRIMID */           WINED3DSPR_PRIMID,
-    /* WINED3D_SM4_RT_DEPTHOUT */         WINED3DSPR_DEPTHOUT,
-    /* WINED3D_SM4_RT_NULL */             WINED3DSPR_NULL,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM5_RT_FORK_INSTANCE_ID */ WINED3DSPR_FORKINSTID,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM5_RT_DOMAIN_LOCATION */  WINED3DSPR_TESSCOORD,
-    /* UNKNOWN */                         ~0u,
-    /* WINED3D_SM5_RT_UAV */              WINED3DSPR_UAV,
+    /* WINED3D_SM4_RT_TEMP */                    WINED3DSPR_TEMP,
+    /* WINED3D_SM4_RT_INPUT */                   WINED3DSPR_INPUT,
+    /* WINED3D_SM4_RT_OUTPUT */                  WINED3DSPR_OUTPUT,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM4_RT_IMMCONST */                WINED3DSPR_IMMCONST,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM4_RT_SAMPLER */                 WINED3DSPR_SAMPLER,
+    /* WINED3D_SM4_RT_RESOURCE */                WINED3DSPR_RESOURCE,
+    /* WINED3D_SM4_RT_CONSTBUFFER */             WINED3DSPR_CONSTBUFFER,
+    /* WINED3D_SM4_RT_IMMCONSTBUFFER */          WINED3DSPR_IMMCONSTBUFFER,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM4_RT_PRIMID */                  WINED3DSPR_PRIMID,
+    /* WINED3D_SM4_RT_DEPTHOUT */                WINED3DSPR_DEPTHOUT,
+    /* WINED3D_SM4_RT_NULL */                    WINED3DSPR_NULL,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM5_RT_FORK_INSTANCE_ID */        WINED3DSPR_FORKINSTID,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM5_RT_INPUT_CONTROL_POINT */     WINED3DSPR_INCONTROLPOINT,
+    /* UNKNOWN */                                ~0u,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM5_RT_DOMAIN_LOCATION */         WINED3DSPR_TESSCOORD,
+    /* UNKNOWN */                                ~0u,
+    /* WINED3D_SM5_RT_UAV */                     WINED3DSPR_UAV,
 };
 
 static const struct wined3d_sm4_opcode_info *get_opcode_info(enum wined3d_sm4_opcode opcode)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 142b950..a8bbc86 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -369,6 +369,7 @@ enum wined3d_shader_register_type
     WINED3DSPR_RESOURCE,
     WINED3DSPR_UAV,
     WINED3DSPR_FORKINSTID,
+    WINED3DSPR_INCONTROLPOINT,
     WINED3DSPR_TESSCOORD,
 };
 




More information about the wine-cvs mailing list