mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/shader_runner_metal: Enable supported UAV formats.
This commit is contained in:
committed by
Henri Verbeet
parent
b4174f5252
commit
7e1fa8f3df
Notes:
Henri Verbeet
2025-09-30 17:25:50 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1756
@@ -144,5 +144,5 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(glsl) dispatch 1 1 1
|
||||
todo(glsl | msl) dispatch 1 1 1
|
||||
probe uav 3 (0, 0, 1024, 1) u32(1024)
|
||||
|
||||
@@ -46,16 +46,16 @@ float4 main(float4 position : SV_Position, uint coverage : SV_Coverage) : SV_Tar
|
||||
[test]
|
||||
sample mask 0x01
|
||||
clear rtv 0 0.0 0.0 0.0 0.0
|
||||
todo(sm<6) draw quad
|
||||
probe (0, 0) rgba (0.0, 0.25, 0.0, 0.25)
|
||||
todo(sm<6 | msl) draw quad
|
||||
probe (0, 0) f32(0.0, 0.25, 0.0, 0.25)
|
||||
probe uav 1 (0, 0, 4, 4) u32(0x01)
|
||||
sample mask 0x03
|
||||
todo(sm<6) draw quad
|
||||
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
|
||||
todo(sm<6 | msl) draw quad
|
||||
probe (0, 0) f32(0.0, 0.5, 0.0, 0.5)
|
||||
probe uav 1 (0, 0, 4, 4) u32(0x03)
|
||||
sample mask 0x07
|
||||
todo(sm<6) draw quad
|
||||
probe (0, 0) rgba (0.0, 0.75, 0.0, 0.75)
|
||||
todo(sm<6 | msl) draw quad
|
||||
probe (0, 0) f32(0.0, 0.75, 0.0, 0.75)
|
||||
probe uav 1 (0, 0, 4, 4) u32(0x07)
|
||||
|
||||
[uav 1]
|
||||
@@ -69,10 +69,10 @@ size (2d, 4, 4)
|
||||
[test]
|
||||
clear rtv 0 0.0 0.0 0.0 0.0
|
||||
sample mask 0x09
|
||||
todo(sm<6) draw quad
|
||||
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
|
||||
todo(sm<6 | msl) draw quad
|
||||
probe (0, 0) f32(0.0, 0.5, 0.0, 0.5)
|
||||
probe uav 1 (0, 0, 4, 4) u32(0x09)
|
||||
sample mask 0x0f
|
||||
todo(sm<6) draw quad
|
||||
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
|
||||
todo(sm<6 | msl) draw quad
|
||||
probe (0, 0) f32(0.0, 1.0, 0.0, 1.0)
|
||||
probe uav 1 (0, 0, 4, 4) u32(0x0f)
|
||||
|
||||
@@ -68,12 +68,12 @@ float4 main(float4 pos : sv_position) : sv_target
|
||||
|
||||
[test]
|
||||
uniform 0 float4 1 2 3 4
|
||||
todo(glsl) draw quad
|
||||
todo(glsl | msl) draw quad
|
||||
probe (0, 0) f32(1, 2, 3, 4)
|
||||
probe uav 1 (0, 0) f32(1.0)
|
||||
probe uav 1 (1, 0) f32(1.0)
|
||||
uniform 0 float4 9 8 7 6
|
||||
todo(glsl) draw quad
|
||||
todo(glsl | msl) draw quad
|
||||
probe (0, 0) f32(1, 2, 3, 4)
|
||||
probe uav 1 (0, 0) f32(2.0)
|
||||
probe uav 1 (1, 0) f32(1.0)
|
||||
|
||||
@@ -219,7 +219,7 @@ void main(uint2 id : sv_dispatchthreadid)
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
todo(msl) dispatch 1 1 1
|
||||
probe uav 0 (0, 0) f32(2.0)
|
||||
if(sm<6) probe uav 0 (0, 1) f32(1.0)
|
||||
if(sm<6) probe uav 0 (1, 0) f32(2.0)
|
||||
|
||||
@@ -26,7 +26,7 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
todo(msl) draw quad
|
||||
probe uav 1 (0, 0) f32(1.0, 2.0, 3.0, 4.0)
|
||||
|
||||
[pixel shader fail]
|
||||
|
||||
@@ -24,7 +24,7 @@ void main()
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
todo(msl) dispatch 1 1 1
|
||||
probe uav 0 (0, 0) f32(0.6)
|
||||
probe uav 0 (1, 0) f32(0.6)
|
||||
probe uav 0 (2, 0) f32(0.6)
|
||||
|
||||
@@ -62,7 +62,7 @@ void main(uint id : SV_GroupIndex)
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
todo(msl) dispatch 1 1 1
|
||||
probe uav 2 (0) u32(0xf01)
|
||||
bug(mvk) probe uav 2 (1) u32(0x503)
|
||||
probe uav 2 (2) u32(0x511)
|
||||
@@ -130,7 +130,7 @@ void main(uint id : SV_GroupIndex)
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
todo(msl) dispatch 1 1 1
|
||||
probe uav 2 (0) u32(0x701)
|
||||
bug(mvk) probe uav 2 (1) u32(0x503)
|
||||
probe uav 2 (2) u32(0x511)
|
||||
|
||||
@@ -1192,6 +1192,32 @@ static bool metal_runner_init(struct metal_runner *runner)
|
||||
runner->caps.tags[0] = "msl";
|
||||
runner->caps.tag_count = 1;
|
||||
|
||||
if (runner->device.readWriteTextureSupport >= MTLReadWriteTextureTier1)
|
||||
{
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32_FLOAT] |= FORMAT_CAP_UAV_LOAD;
|
||||
}
|
||||
|
||||
if (runner->device.readWriteTextureSupport >= MTLReadWriteTextureTier2)
|
||||
{
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32G32B32A32_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32G32B32A32_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R32G32B32A32_FLOAT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16G16B16A16_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16G16B16A16_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16G16B16A16_FLOAT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8G8B8A8_UNORM] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8G8B8A8_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8G8B8A8_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R16_FLOAT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8_UNORM] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8_UINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
runner->caps.format_caps[DXGI_FORMAT_R8_SINT] |= FORMAT_CAP_UAV_LOAD;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user