yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
e0b6cad4
main
1#version 450 2 3// should get 3 SPV types for S: no layout, 140, and 430, plus extras for interpolation or invariant differences 4struct S 5{ 6highp uvec3 a ; 7mediump mat2 b [4 ]; 8lowp uint c ; 9}; 10 11layout (set = 0 ,binding = 0 ,std140 )uniform Block140 12{ 13mediump int u ; 14S s [2 ][3 ]; 15mediump vec2 v ; 16}inst140 ; 17 18layout (set = 0 ,binding = 1 ,std430 )buffer Block430 19{ 20mediump int u ; 21S s [2 ][3 ]; 22mediump vec2 v ; 23}inst430 ; 24 25S s ; 26 27// should get 5 SPV types for T: no layout, 140/row, 140/col, 430/row, and 430/col 28struct T { 29mat2 m ; 30int a ; 31}; 32 33T t ; 34 35struct Nestor { 36T nestorT ; 37}; 38 39layout (set = 1 ,binding = 0 ,std140 )uniform Bt1 40{ 41layout (row_major )Nestor nt ; 42}Btn1 ; 43 44layout (set = 1 ,binding = 0 ,std140 )uniform Bt2 45{ 46layout (column_major )Nestor nt ; 47}Btn2 ; 48 49layout (row_major ,set = 1 ,binding = 0 ,std140 )uniform Bt3 50{ 51layout (column_major )Nestor ntcol ; 52Nestor ntrow ;// should be row major decoration version of Nestor 53}Btn3 ; 54 55layout (set = 1 ,binding = 0 ,std430 )buffer bBt1 56{ 57layout (row_major )Nestor nt ; 58}bBtn1 ; 59 60layout (set = 1 ,binding = 0 ,std430 )buffer bBt2 61{ 62layout (column_major )Nestor nt ; 63}bBtn2 ; 64 65layout (set = 1 ,binding = 0 ,std430 )buffer bBt3 66{ 67layout (row_major )Nestor ntcol ; 68Nestor ntrow ;// should be col major decoration version of Nestor 69}bBtn3 ; 70 71void main () 72{ 73} 74 75flat out S sout ; 76invariant out S soutinv ;