[PATCH vkd3d 4/7] libs/vkd3d-shader: Emit InvocationId for geometry and tessellation shaders.
Józef Kucia
joseph.kucia at gmail.com
Sun Feb 4 16:58:25 CST 2018
From: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
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 331b619f59ba..8f6147a6a46d 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 c0d172580c15..b2a9c988c593 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},
--
2.13.6
More information about the wine-devel
mailing list