mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
b701f8d393
The used UAV formats are explicitly added in the [require] section of every test that uses them. Some of these tests were failing on Intel UHD graphics 770 because of missing support for additional UAV load types, explicitly requiring these formats allows these tests to be skipped.
199 lines
2.8 KiB
Plaintext
199 lines
2.8 KiB
Plaintext
% Test allowed syntax for the "numthreads" attribute.
|
|
|
|
[require]
|
|
shader model >= 5.0
|
|
|
|
[compute shader]
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(1, 1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(0, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(1, 0, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(1, 1, 0)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
[numthreads(-1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
[numthreads(1, -1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
[numthreads(1, 1, -1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
[numthreads(1, -1, -1)]
|
|
void main() {}
|
|
|
|
[compute shader todo]
|
|
|
|
[numthreads(uint(1), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader todo]
|
|
|
|
[numthreads(int(1), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(float(1), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads(uint1(1), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader todo]
|
|
|
|
[numthreads(int(1), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader todo]
|
|
|
|
[numthreads(1 + 1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
[numthreads("1", 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader todo fail(sm>=6)]
|
|
static int x = 1;
|
|
|
|
[numthreads(x, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
void main() {}
|
|
|
|
[compute shader fail(sm<6)]
|
|
|
|
[NumThreads(1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader]
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main();
|
|
|
|
void main() {}
|
|
|
|
[compute shader fail]
|
|
|
|
void main() {}
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main();
|
|
|
|
[compute shader fail(sm<6)]
|
|
|
|
void main();
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
/* Expressions with side effects are forbidden in attributes (but not if the
|
|
* attribute is ignored). */
|
|
|
|
static int x = 1;
|
|
|
|
[numthreads(x++, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
static int x = 1;
|
|
|
|
[numthreads(++x, 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail todo]
|
|
|
|
static int x = 1;
|
|
|
|
[numthreads((x = 2), 1, 1)]
|
|
void main() {}
|
|
|
|
[compute shader fail(sm>=6)]
|
|
|
|
static int x = 1;
|
|
|
|
[numthreads(++x, 1, 1)]
|
|
void func() {}
|
|
|
|
[bogus(++x)]
|
|
[numthreads(1, 1, 1)]
|
|
void main() { func(); }
|
|
|
|
[require]
|
|
shader model >= 5.0
|
|
format r32-float uav-load
|
|
|
|
[uav 0]
|
|
format r32-float
|
|
size (2d, 2, 2)
|
|
|
|
1.0 1.0
|
|
1.0 1.0
|
|
|
|
[compute shader]
|
|
/* In SM < 6.0, attributes are taken from the first function, and dropped from the second. */
|
|
RWTexture2D<float> u;
|
|
|
|
[numthreads(2, 1, 1)]
|
|
void main(uint2 id);
|
|
|
|
[numthreads(1, 2, 1)]
|
|
void main(uint2 id : sv_dispatchthreadid)
|
|
{
|
|
u[id] = 2.0;
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) dispatch 1 1 1
|
|
probe uav 0 (0, 0) r (2.0)
|
|
if(sm<6) probe uav 0 (0, 1) r (1.0)
|
|
if(sm<6) probe uav 0 (1, 0) r (2.0)
|
|
probe uav 0 (1, 1) r (1.0)
|
|
if(sm>=6) probe uav 0 (0, 1) r (2.0)
|
|
if(sm>=6) probe uav 0 (1, 0) r (1.0)
|