vkd3d-shader/dxil: Handle semantic kind VERTEXID.

This commit is contained in:
Conor McCarthy 2024-01-20 00:34:42 +10:00 committed by Alexandre Julliard
parent ca7487a56d
commit 9f409b67d7
Notes: Alexandre Julliard 2024-01-22 22:52:50 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/581
2 changed files with 22 additions and 5 deletions

View File

@ -5789,6 +5789,7 @@ static enum vkd3d_shader_minimum_precision minimum_precision_from_dxil_component
static const enum vkd3d_shader_sysval_semantic sysval_semantic_table[] =
{
[SEMANTIC_KIND_ARBITRARY] = VKD3D_SHADER_SV_NONE,
[SEMANTIC_KIND_VERTEXID] = VKD3D_SHADER_SV_VERTEX_ID,
[SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION,
[SEMANTIC_KIND_TARGET] = VKD3D_SHADER_SV_TARGET,
};

View File

@ -23,7 +23,7 @@ float4 main(nointerpolation float4 t : texcoord) : sv_target
}
[test]
todo(sm>=6) draw triangle list 3
draw triangle list 3
probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader]
@ -50,7 +50,7 @@ float4 main(ps_input input) : sv_target
}
[test]
todo(sm>=6) draw triangle list 3
draw triangle list 3
probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader]
@ -77,7 +77,7 @@ float4 main(nointerpolation ps_input input) : sv_target
}
[test]
todo(sm>=6) draw triangle list 3
draw triangle list 3
probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader]
@ -104,7 +104,7 @@ float4 main(centroid ps_input input) : sv_target
}
[test]
todo(sm>=6) draw triangle list 3
draw triangle list 3
probe all rgba (0.0, 1.0, 0.0, 1.0)
[vertex shader]
@ -130,10 +130,26 @@ float4 main(nointerpolation ps_input input) : sv_target
return input.t;
}
[require]
shader model >= 4.0
shader model < 6.0
[test]
todo(sm>=6) draw triangle list 3
draw triangle list 3
probe all rgba (0.0, 1.0, 0.0, 1.0)
% Centroid for SM 6.
[require]
shader model >= 6.0
[test]
draw triangle list 3
probe (320,240) rgba (0.250390589, 0.499088615, 0.250520796, 1.0) 1
[require]
shader model >= 4.0
[vertex shader fail todo]
struct ps_input
{