=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d-shader: Translate vPrim register.
Alexandre Julliard
julliard at winehq.org
Fri Feb 22 15:20:00 CST 2019
Module: vkd3d
Branch: master
Commit: 3cbdad5f293fccca24eba1e74b0e55c8836a6c66
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=3cbdad5f293fccca24eba1e74b0e55c8836a6c66
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Thu Feb 21 12:32:48 2019 +0100
vkd3d-shader: Translate vPrim 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>
---
libs/vkd3d-shader/spirv.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 6ef04a4..2c58a47 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2358,6 +2358,9 @@ static bool vkd3d_dxbc_compiler_get_register_name(char *buffer, unsigned int buf
case VKD3DSPR_DEPTHOUTLE:
snprintf(buffer, buffer_size, "oDepth");
break;
+ case VKD3DSPR_PRIMID:
+ snprintf(buffer, buffer_size, "vPrim");
+ break;
case VKD3DSPR_FORKINSTID:
snprintf(buffer, buffer_size, "vForkInstanceId");
break;
@@ -3084,6 +3087,10 @@ static void vkd3d_dxbc_compiler_decorate_builtin(struct vkd3d_dxbc_compiler *com
switch (builtin)
{
+ case SpvBuiltInPrimitiveId:
+ if (compiler->shader_type == VKD3D_SHADER_TYPE_PIXEL)
+ vkd3d_spirv_enable_capability(builder, SpvCapabilityGeometry);
+ break;
case SpvBuiltInFragDepth:
vkd3d_dxbc_compiler_emit_execution_mode(compiler, SpvExecutionModeDepthReplacing, NULL, 0);
break;
@@ -3204,6 +3211,8 @@ vkd3d_system_value_builtins[] =
{VKD3D_SIV_VERTEX_ID, {VKD3D_TYPE_INT, 1, SpvBuiltInVertexIndex, sv_vertex_id_fixup}},
{VKD3D_SIV_INSTANCE_ID, {VKD3D_TYPE_INT, 1, SpvBuiltInInstanceIndex, sv_instance_id_fixup}},
+ {VKD3D_SIV_PRIMITIVE_ID, {VKD3D_TYPE_INT, 1, SpvBuiltInPrimitiveId}},
+
{VKD3D_SIV_RENDER_TARGET_ARRAY_INDEX, {VKD3D_TYPE_INT, 1, SpvBuiltInLayer}},
{VKD3D_SIV_VIEWPORT_ARRAY_INDEX, {VKD3D_TYPE_INT, 1, SpvBuiltInViewportIndex}},
@@ -3248,6 +3257,8 @@ vkd3d_register_builtins[] =
{VKD3DSPR_GSINSTID, {VKD3D_TYPE_INT, 1, SpvBuiltInInvocationId}},
{VKD3DSPR_OUTPOINTID, {VKD3D_TYPE_INT, 1, SpvBuiltInInvocationId}},
+ {VKD3DSPR_PRIMID, {VKD3D_TYPE_INT, 1, SpvBuiltInPrimitiveId}},
+
{VKD3DSPR_TESSCOORD, {VKD3D_TYPE_FLOAT, 3, SpvBuiltInTessCoord}},
{VKD3DSPR_COVERAGE, {VKD3D_TYPE_UINT, 1, SpvBuiltInSampleMask, NULL, 1}},
More information about the wine-cvs
mailing list