mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/hlsl: Test SM6.6 dynamic resources.
This commit is contained in:
committed by
Henri Verbeet
parent
d380bc196f
commit
f47f712164
Notes:
Henri Verbeet
2025-11-24 19:12:37 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1812
@@ -123,3 +123,138 @@ u[2:3], space 0, uav 1
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
|
||||
% Test SM 6.6 dynamic resources on SRVs
|
||||
[require]
|
||||
shader model >= 6.6
|
||||
descriptors
|
||||
|
||||
[pixel shader]
|
||||
uniform uint idx;
|
||||
|
||||
float4 main() : SV_Target
|
||||
{
|
||||
Texture2D<float> t = ResourceDescriptorHeap[idx];
|
||||
return t.Load(uint3(0, 0, 0));
|
||||
}
|
||||
|
||||
[descriptors]
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
uniform 0 uint 1
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 2
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
t[1:3], space 0, srv 0
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
uniform 0 uint 1
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 2
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
t[1:2], space 0, srv 1
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 1
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
t[1:3], space 0, srv 0
|
||||
|
||||
[pixel shader]
|
||||
float4 main(float4 pos : SV_Position) : SV_Target
|
||||
{
|
||||
uint idx = floor(pos.x);
|
||||
idx %= 3;
|
||||
Texture2D<float> t = ResourceDescriptorHeap[NonUniformResourceIndex(idx)];
|
||||
return t.Load(uint3(0, 0, 0));
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
probe (1, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
probe (2, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
% Test SM 6.6 dynamic resources on UAVs
|
||||
[pixel shader]
|
||||
uniform uint idx;
|
||||
|
||||
float4 main() : SV_Target
|
||||
{
|
||||
RWTexture2D<float> u = ResourceDescriptorHeap[idx];
|
||||
return u[uint2(0, 0)];
|
||||
}
|
||||
|
||||
[descriptors]
|
||||
|
||||
[test]
|
||||
uniform 0 uint 3
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
uniform 0 uint 4
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 5
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
u[1:3], space 0, uav 1
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
uniform 0 uint 1
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 2
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
u[1:2], space 0, uav 2
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo draw quad
|
||||
probe (0, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
uniform 0 uint 1
|
||||
todo draw quad
|
||||
probe (0, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
[descriptors]
|
||||
|
||||
[pixel shader]
|
||||
float4 main(float4 pos : SV_Position) : SV_Target
|
||||
{
|
||||
uint idx = floor(pos.x);
|
||||
idx %= 3;
|
||||
RWTexture2D<float> u = ResourceDescriptorHeap[NonUniformResourceIndex(idx + 3)];
|
||||
return u[uint2(0, 0)];
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe (0, 0) f32(1.0, 1.0, 1.0, 1.0)
|
||||
probe (1, 0) f32(2.0, 2.0, 2.0, 2.0)
|
||||
probe (2, 0) f32(3.0, 3.0, 3.0, 3.0)
|
||||
|
||||
Reference in New Issue
Block a user