First Commit
This commit is contained in:
76
externals/glslang/Test/spv.layoutNested.vert
vendored
Normal file
76
externals/glslang/Test/spv.layoutNested.vert
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
#version 450
|
||||
|
||||
// should get 3 SPV types for S: no layout, 140, and 430, plus extras for interpolation or invariant differences
|
||||
struct S
|
||||
{
|
||||
highp uvec3 a;
|
||||
mediump mat2 b[4];
|
||||
lowp uint c;
|
||||
};
|
||||
|
||||
layout(set = 0, binding = 0, std140) uniform Block140
|
||||
{
|
||||
mediump int u;
|
||||
S s[2][3];
|
||||
mediump vec2 v;
|
||||
} inst140;
|
||||
|
||||
layout(set = 0, binding = 1, std430) buffer Block430
|
||||
{
|
||||
mediump int u;
|
||||
S s[2][3];
|
||||
mediump vec2 v;
|
||||
} inst430;
|
||||
|
||||
S s;
|
||||
|
||||
// should get 5 SPV types for T: no layout, 140/row, 140/col, 430/row, and 430/col
|
||||
struct T {
|
||||
mat2 m;
|
||||
int a;
|
||||
};
|
||||
|
||||
T t;
|
||||
|
||||
struct Nestor {
|
||||
T nestorT;
|
||||
};
|
||||
|
||||
layout(set = 1, binding = 0, std140) uniform Bt1
|
||||
{
|
||||
layout(row_major) Nestor nt;
|
||||
} Btn1;
|
||||
|
||||
layout(set = 1, binding = 0, std140) uniform Bt2
|
||||
{
|
||||
layout(column_major) Nestor nt;
|
||||
} Btn2;
|
||||
|
||||
layout(row_major, set = 1, binding = 0, std140) uniform Bt3
|
||||
{
|
||||
layout(column_major) Nestor ntcol;
|
||||
Nestor ntrow; // should be row major decoration version of Nestor
|
||||
} Btn3;
|
||||
|
||||
layout(set = 1, binding = 0, std430) buffer bBt1
|
||||
{
|
||||
layout(row_major) Nestor nt;
|
||||
} bBtn1;
|
||||
|
||||
layout(set = 1, binding = 0, std430) buffer bBt2
|
||||
{
|
||||
layout(column_major) Nestor nt;
|
||||
} bBtn2;
|
||||
|
||||
layout(set = 1, binding = 0, std430) buffer bBt3
|
||||
{
|
||||
layout(row_major) Nestor ntcol;
|
||||
Nestor ntrow; // should be col major decoration version of Nestor
|
||||
} bBtn3;
|
||||
|
||||
void main()
|
||||
{
|
||||
}
|
||||
|
||||
flat out S sout;
|
||||
invariant out S soutinv;
|
||||
Reference in New Issue
Block a user