=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: libs/vkd3d-shader: Emit InvocationId for geometry and tessellation shaders.

Alexandre Julliard julliard at winehq.org
Mon Feb 5 12:00:21 CST 2018


Module: vkd3d
Branch: master
Commit: 0ecbdbe8230f52fc9893b60f067476213ba0d4f6
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=0ecbdbe8230f52fc9893b60f067476213ba0d4f6

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Sun Feb  4 23:58:25 2018 +0100

libs/vkd3d-shader: Emit InvocationId for geometry and tessellation shaders.

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>

---

 libs/vkd3d-shader/dxbc.c  | 2 ++
 libs/vkd3d-shader/spirv.c | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c
index 331b619..8f6147a 100644
--- a/libs/vkd3d-shader/dxbc.c
+++ b/libs/vkd3d-shader/dxbc.c
@@ -1557,7 +1557,9 @@ static bool shader_sm4_is_scalar_register(const struct vkd3d_shader_register *re
     switch (reg->type)
     {
         case VKD3DSPR_DEPTHOUT:
+        case VKD3DSPR_GSINSTID:
         case VKD3DSPR_LOCALTHREADINDEX:
+        case VKD3DSPR_OUTPOINTID:
         case VKD3DSPR_PRIMID:
             return true;
         default:
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index c0d1725..b2a9c98 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2779,6 +2779,9 @@ vkd3d_spirv_builtin_table[] =
     {VKD3D_SIV_NONE, VKD3DSPR_LOCALTHREADINDEX, VKD3D_TYPE_INT, 1, SpvBuiltInLocalInvocationIndex},
     {VKD3D_SIV_NONE, VKD3DSPR_THREADGROUPID,    VKD3D_TYPE_INT, 3, SpvBuiltInWorkgroupId},
 
+    {VKD3D_SIV_NONE, VKD3DSPR_GSINSTID,         VKD3D_TYPE_INT, 1, SpvBuiltInInvocationId},
+    {VKD3D_SIV_NONE, VKD3DSPR_OUTPOINTID,       VKD3D_TYPE_INT, 1, SpvBuiltInInvocationId},
+
     {VKD3D_SIV_NONE, VKD3DSPR_DEPTHOUT,         VKD3D_TYPE_FLOAT, 1, SpvBuiltInFragDepth},
 
     {VKD3D_SIV_POSITION,    ~0u, VKD3D_TYPE_FLOAT, 4, SpvBuiltInPosition},




More information about the wine-cvs mailing list