1 # Tests a large uint local array.
2 # Vulkan equivalent to tests/spec/glsl-1.30/execution/fs-large-local-array.shader_test
3 # And quoting from that test:
5 # "Test correct handling of local-scope declared arrays large enough to
6 # typically not fit into first level GPU memory such as its register file,
7 # requiring storing/loading to some device-specific scratch space.
9 # One hardware example is R600 where arrays larger than 124*vec4 cannot
10 # fit into its GPR register file and has to be spilled to scratch memory.
11 # As of 2017-03-06 this is the largest known register file of any GPU, so
12 # the test uses that as a size to guarantee some form of spilling on any GPU."
16 [vertex shader passthrough]
21 layout (binding = 5) uniform block {
25 layout (location = 0) out vec4 out_color;
32 out_color.rba = vec3(0.0, 0.0, 1.0);
33 out_color.g = float(A[20] == 37u);
37 clear color 1.0 0.0 0.0 1.0
40 ubo 5 subdata uint 0 19
42 probe all rgba 0.0 0.0 0.0 1.0
45 ubo 5 subdata uint 0 20
47 probe all rgba 0.0 1.0 0.0 1.0