vkd3d-shader/dxil: Handle SV_RenderTargetArrayIndex.

This commit is contained in:
Conor McCarthy 2024-04-23 20:44:51 +10:00 committed by Henri Verbeet
parent a557ad0aea
commit f63254d905
Notes: Henri Verbeet 2025-01-27 15:04:43 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Giovanni Mascellani (@giomasce)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1356
2 changed files with 4 additions and 3 deletions

View File

@ -8598,6 +8598,7 @@ static const enum vkd3d_shader_sysval_semantic sysval_semantic_table[] =
[SEMANTIC_KIND_VERTEXID] = VKD3D_SHADER_SV_VERTEX_ID, [SEMANTIC_KIND_VERTEXID] = VKD3D_SHADER_SV_VERTEX_ID,
[SEMANTIC_KIND_INSTANCEID] = VKD3D_SHADER_SV_INSTANCE_ID, [SEMANTIC_KIND_INSTANCEID] = VKD3D_SHADER_SV_INSTANCE_ID,
[SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION, [SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION,
[SEMANTIC_KIND_RTARRAYINDEX] = VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX,
[SEMANTIC_KIND_CLIPDISTANCE] = VKD3D_SHADER_SV_CLIP_DISTANCE, [SEMANTIC_KIND_CLIPDISTANCE] = VKD3D_SHADER_SV_CLIP_DISTANCE,
[SEMANTIC_KIND_CULLDISTANCE] = VKD3D_SHADER_SV_CULL_DISTANCE, [SEMANTIC_KIND_CULLDISTANCE] = VKD3D_SHADER_SV_CULL_DISTANCE,
[SEMANTIC_KIND_PRIMITIVEID] = VKD3D_SHADER_SV_PRIMITIVE_ID, [SEMANTIC_KIND_PRIMITIVEID] = VKD3D_SHADER_SV_PRIMITIVE_ID,

View File

@ -31,20 +31,20 @@ float4 main(in float4 pos : SV_Position,
uniform 0 uint 0 uniform 0 uint 0
uniform 1 uint 0 uniform 1 uint 0
clear rtv 0 1.0 1.0 1.0 1.0 clear rtv 0 1.0 1.0 1.0 1.0
todo(sm>=6 | glsl) draw quad todo(glsl) draw quad
probe (320, 240, 0) rgba(0.0, 0.0, 0.0, 0.0) probe (320, 240, 0) rgba(0.0, 0.0, 0.0, 0.0)
probe (320, 240, 1) rgba(1.0, 1.0, 1.0, 1.0) probe (320, 240, 1) rgba(1.0, 1.0, 1.0, 1.0)
uniform 0 uint 1 uniform 0 uint 1
uniform 1 uint 1 uniform 1 uint 1
clear rtv 0 1.0 1.0 1.0 1.0 clear rtv 0 1.0 1.0 1.0 1.0
todo(sm>=6 | glsl) draw quad todo(glsl) draw quad
probe (320, 240, 0) rgba(1.0, 1.0, 1.0, 1.0) probe (320, 240, 0) rgba(1.0, 1.0, 1.0, 1.0)
probe (320, 240, 1) rgba(1.0, 1.0, 0.0, 0.0) probe (320, 240, 1) rgba(1.0, 1.0, 0.0, 0.0)
uniform 0 uint 3 uniform 0 uint 3
uniform 1 uint 2 uniform 1 uint 2
clear rtv 0 1.0 1.0 1.0 1.0 clear rtv 0 1.0 1.0 1.0 1.0
todo(sm>=6 | glsl) draw quad todo(glsl) draw quad
probe (320, 240, 0) rgba(1.0, 1.0, 1.0, 1.0) probe (320, 240, 0) rgba(1.0, 1.0, 1.0, 1.0)
probe (320, 240, 3) rgba(3.0, 2.0, 0.0, 0.0) probe (320, 240, 3) rgba(3.0, 2.0, 0.0, 0.0)