2024-04-16 14:30:12 +10:00
|
|
|
[require]
|
|
|
|
shader model >= 6.0
|
2024-10-05 07:46:00 -05:00
|
|
|
wave-ops
|
2024-08-01 19:13:31 -04:00
|
|
|
format r32g32b32a32-sint uav-load
|
2024-04-16 14:30:12 +10:00
|
|
|
|
|
|
|
[uav 0]
|
2024-08-01 21:03:46 -04:00
|
|
|
format r32g32b32a32-sint
|
2024-04-16 14:30:12 +10:00
|
|
|
size (buffer, 4)
|
|
|
|
|
|
|
|
-3 1 -4 2
|
|
|
|
3 1 -4 2
|
|
|
|
0 5 -3 2
|
|
|
|
-1 1 -1 2
|
|
|
|
|
|
|
|
[uav 1]
|
2024-08-01 21:03:46 -04:00
|
|
|
format r32g32b32a32-sint
|
2024-04-16 14:30:12 +10:00
|
|
|
size (buffer, 4)
|
|
|
|
|
|
|
|
0 0 0 0
|
|
|
|
0 0 0 0
|
|
|
|
0 0 0 0
|
|
|
|
0 0 0 0
|
|
|
|
|
|
|
|
[compute shader]
|
|
|
|
RWBuffer<int4> u0;
|
|
|
|
RWBuffer<int4> u1;
|
|
|
|
|
|
|
|
[numthreads(4, 1, 1)]
|
|
|
|
void main(uint id : SV_GroupIndex)
|
|
|
|
{
|
|
|
|
u1[id] = WaveActiveMin(u0[id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
2024-04-23 21:35:27 +10:00
|
|
|
dispatch 4 1 1
|
2025-06-05 23:48:18 +02:00
|
|
|
probe uav 1 (0) i32(-3, 1, -4, 2)
|
|
|
|
probe uav 1 (1) i32(-3, 1, -4, 2)
|
|
|
|
probe uav 1 (2) i32(-3, 1, -4, 2)
|
|
|
|
probe uav 1 (3) i32(-3, 1, -4, 2)
|
2024-04-16 14:30:12 +10:00
|
|
|
|
|
|
|
|
|
|
|
[compute shader]
|
|
|
|
RWBuffer<int4> u0;
|
|
|
|
RWBuffer<int4> u1;
|
|
|
|
|
|
|
|
[numthreads(4, 1, 1)]
|
|
|
|
void main(uint id : SV_GroupIndex)
|
|
|
|
{
|
|
|
|
u1[id] = WaveActiveMax(u0[id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
2024-04-23 21:35:27 +10:00
|
|
|
dispatch 4 1 1
|
2025-06-05 23:48:18 +02:00
|
|
|
probe uav 1 (0) i32(3, 5, -1, 2)
|
|
|
|
probe uav 1 (1) i32(3, 5, -1, 2)
|
|
|
|
probe uav 1 (2) i32(3, 5, -1, 2)
|
|
|
|
probe uav 1 (3) i32(3, 5, -1, 2)
|
2024-12-03 12:14:04 +10:00
|
|
|
|
|
|
|
|
|
|
|
[require]
|
|
|
|
shader model >= 6.0
|
|
|
|
wave-ops
|
|
|
|
int64
|
|
|
|
format r32g32b32a32-sint uav-load
|
|
|
|
|
|
|
|
[uav 0]
|
|
|
|
format r32g32b32a32-sint
|
|
|
|
size (buffer, 4)
|
|
|
|
|
|
|
|
-3 -1 -4 2
|
|
|
|
3 1 -4 2
|
|
|
|
0 5 -3 2
|
|
|
|
-1 -1 -1 2
|
|
|
|
|
|
|
|
[uav 1]
|
|
|
|
format r32g32b32a32-sint
|
|
|
|
size (buffer, 16)
|
|
|
|
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
0 0 0 0 0 0 0 0
|
|
|
|
|
|
|
|
[compute shader]
|
|
|
|
RWBuffer<int64_t2> u0;
|
|
|
|
RWBuffer<int64_t2> u1;
|
|
|
|
|
|
|
|
[numthreads(4, 1, 1)]
|
|
|
|
void main(uint id : SV_GroupIndex)
|
|
|
|
{
|
|
|
|
u1[id] = WaveActiveMin(u0[id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
2025-05-23 23:40:02 +02:00
|
|
|
bug(mvk) dispatch 4 1 1
|
2025-06-05 23:48:18 +02:00
|
|
|
probe uav 1 (0) i32(-3, -1, -4, 2)
|
|
|
|
probe uav 1 (1) i32(-3, -1, -4, 2)
|
|
|
|
probe uav 1 (2) i32(-3, -1, -4, 2)
|
|
|
|
probe uav 1 (3) i32(-3, -1, -4, 2)
|
2024-12-03 12:14:04 +10:00
|
|
|
|
|
|
|
|
|
|
|
[compute shader]
|
|
|
|
RWBuffer<int64_t2> u0;
|
|
|
|
RWBuffer<int64_t2> u1;
|
|
|
|
|
|
|
|
[numthreads(4, 1, 1)]
|
|
|
|
void main(uint id : SV_GroupIndex)
|
|
|
|
{
|
|
|
|
u1[id] = WaveActiveMax(u0[id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
2025-05-23 23:40:02 +02:00
|
|
|
bug(mvk) dispatch 4 1 1
|
2025-06-05 23:48:18 +02:00
|
|
|
probe uav 1 (0) i32(0, 5, -1, 2)
|
|
|
|
probe uav 1 (1) i32(0, 5, -1, 2)
|
|
|
|
probe uav 1 (2) i32(0, 5, -1, 2)
|
|
|
|
probe uav 1 (3) i32(0, 5, -1, 2)
|