glslang SPV tests: Add a set of SPV tests.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31212 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
37
Test/spv.310.comp
Normal file
37
Test/spv.310.comp
Normal file
@@ -0,0 +1,37 @@
|
||||
#version 310 es
|
||||
|
||||
precision highp float;
|
||||
|
||||
layout (local_size_x = 16, local_size_y = 32, local_size_z = 4) in;
|
||||
|
||||
shared float s;
|
||||
shared int i;
|
||||
|
||||
buffer outb {
|
||||
float f;
|
||||
float g;
|
||||
float h;
|
||||
vec3 uns[]; // this makes it look like the "second" set of 3 floats in a struct, which LLVM
|
||||
// takes advantage of when optimizing, giving confusing results, like thinking
|
||||
// &outbname.uns[18].x == &outbname[9].uns.x
|
||||
} outbname;
|
||||
|
||||
buffer outbna {
|
||||
int k;
|
||||
vec4 na;
|
||||
} outbnamena;
|
||||
|
||||
buffer outs {
|
||||
vec4 va[];
|
||||
} outnames;
|
||||
|
||||
void main()
|
||||
{
|
||||
barrier();
|
||||
outbname.f = s;
|
||||
outbnamena.na = vec4(s);
|
||||
s = outbname.uns[18].x; // TODO: see note above
|
||||
//outbname.uns[17] = vec3(3.0); // TODO: see note above, this one bitcasts, which isn't handled
|
||||
outbname.uns[i] = vec3(s);
|
||||
outnames.va[gl_LocalInvocationID.x] = vec4(s);
|
||||
}
|
||||
Reference in New Issue
Block a user