glslang/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

329 lines
23 KiB
Plaintext

link.vk.multiBlocksValid.0.0.vert
Shader version: 430
0:? Sequence
0:43 Function Definition: main( ( global void)
0:43 Function Parameters:
0:45 Sequence
0:45 move second child to first child ( temp highp 4-component vector of float)
0:45 'oColor' ( smooth out highp 4-component vector of float)
0:45 component-wise multiply ( temp highp 4-component vector of float)
0:45 component-wise multiply ( temp highp 4-component vector of float)
0:45 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
0:45 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:45 Constant:
0:45 0 (const int)
0:45 Function Call: getColor2( ( global highp 4-component vector of float)
0:45 c: direct index for structure (layout( column_major std430 offset=0) buffer highp 4-component vector of float)
0:45 'uColorBuf' (layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4-component vector of float c})
0:45 Constant:
0:45 0 (const int)
0:46 move second child to first child ( temp highp 4-component vector of float)
0:46 v1: direct index for structure ( out highp 4-component vector of float)
0:46 'oV' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:46 Constant:
0:46 0 (const int)
0:46 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
0:46 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:46 Constant:
0:46 0 (const int)
0:48 move second child to first child ( temp highp 4-component vector of float)
0:48 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:48 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
0:48 Constant:
0:48 0 (const uint)
0:48 matrix-times-vector ( temp highp 4-component vector of float)
0:48 uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float)
0:48 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:48 Constant:
0:48 0 (const int)
0:48 Function Call: getWorld( ( global highp 4-component vector of float)
0:? Linker Objects
0:? 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:? 'oV' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:? 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:? 'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
0:? 'uColorBuf' (layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4-component vector of float c})
0:? 'oColor' ( smooth out highp 4-component vector of float)
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
link.vk.multiBlocksValid.0.1.vert
Shader version: 430
0:? Sequence
0:36 Function Definition: getColor2( ( global highp 4-component vector of float)
0:36 Function Parameters:
0:38 Sequence
0:38 Branch: Return with expression
0:38 color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float)
0:38 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:38 Constant:
0:38 2 (const int)
0:41 Function Definition: getWorld( ( global highp 4-component vector of float)
0:41 Function Parameters:
0:43 Sequence
0:43 move second child to first child ( temp highp 4-component vector of float)
0:43 v1: direct index for structure ( out highp 4-component vector of float)
0:43 'anon@0' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:43 Constant:
0:43 0 (const uint)
0:43 Constant:
0:43 1.000000
0:43 1.000000
0:43 1.000000
0:43 1.000000
0:44 Branch: Return with expression
0:44 matrix-times-vector ( temp highp 4-component vector of float)
0:44 uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
0:44 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:44 Constant:
0:44 1 (const int)
0:44 'P' ( in highp 4-component vector of float)
0:? Linker Objects
0:? 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:? 'uBuffer' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
0:? 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:? 'anon@0' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:? 'P' ( in highp 4-component vector of float)
Linked vertex stage:
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
vertex stage: Block: ColorBlock Instance: uC: ""
vertex stage: Block: ColorBlock Instance: uColor: ""
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
vertex stage: Block: BufferBlock Instance: uBuf: ""
vertex stage: Block: BufferBlock Instance: uBuffer: ""
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
vertex stage: Block: MatrixBlock Instance: uM: ""
vertex stage: Block: MatrixBlock Instance: uMatrix: ""
WARNING: Linking vertex and vertex stages: Matched shader interfaces are using different instance names.
vertex stage: Block: Vertex Instance: oV: ""
vertex stage: Block: Vertex Instance: anon@0: ""
Shader version: 430
0:? Sequence
0:43 Function Definition: main( ( global void)
0:43 Function Parameters:
0:45 Sequence
0:45 move second child to first child ( temp highp 4-component vector of float)
0:45 'oColor' ( smooth out highp 4-component vector of float)
0:45 component-wise multiply ( temp highp 4-component vector of float)
0:45 component-wise multiply ( temp highp 4-component vector of float)
0:45 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
0:45 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:45 Constant:
0:45 0 (const int)
0:45 Function Call: getColor2( ( global highp 4-component vector of float)
0:45 c: direct index for structure (layout( column_major std430 offset=0) buffer highp 4-component vector of float)
0:45 'uColorBuf' (layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4-component vector of float c})
0:45 Constant:
0:45 0 (const int)
0:46 move second child to first child ( temp highp 4-component vector of float)
0:46 v1: direct index for structure ( out highp 4-component vector of float)
0:46 'oV' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:46 Constant:
0:46 0 (const int)
0:46 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
0:46 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:46 Constant:
0:46 0 (const int)
0:48 move second child to first child ( temp highp 4-component vector of float)
0:48 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:48 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
0:48 Constant:
0:48 0 (const uint)
0:48 matrix-times-vector ( temp highp 4-component vector of float)
0:48 uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float)
0:48 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:48 Constant:
0:48 0 (const int)
0:48 Function Call: getWorld( ( global highp 4-component vector of float)
0:36 Function Definition: getColor2( ( global highp 4-component vector of float)
0:36 Function Parameters:
0:38 Sequence
0:38 Branch: Return with expression
0:38 color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float)
0:38 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:38 Constant:
0:38 2 (const int)
0:41 Function Definition: getWorld( ( global highp 4-component vector of float)
0:41 Function Parameters:
0:43 Sequence
0:43 move second child to first child ( temp highp 4-component vector of float)
0:43 v1: direct index for structure ( out highp 4-component vector of float)
0:43 'anon@0' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:43 Constant:
0:43 0 (const uint)
0:43 Constant:
0:43 1.000000
0:43 1.000000
0:43 1.000000
0:43 1.000000
0:44 Branch: Return with expression
0:44 matrix-times-vector ( temp highp 4-component vector of float)
0:44 uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
0:44 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:44 Constant:
0:44 1 (const int)
0:44 'P' ( in highp 4-component vector of float)
0:? Linker Objects
0:? 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld})
0:? 'oV' ( out block{ out highp 4-component vector of float v1, out highp 4-component vector of float v2})
0:? 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3})
0:? 'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
0:? 'uColorBuf' (layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4-component vector of float c})
0:? 'oColor' ( smooth out highp 4-component vector of float)
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
0:? 'P' ( in highp 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 73
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 14 34 42 65
Source GLSL 430
Name 4 "main"
Name 9 "getColor2("
Name 11 "getWorld("
Name 14 "oColor"
Name 16 "ColorBlock"
MemberName 16(ColorBlock) 0 "color1"
MemberName 16(ColorBlock) 1 "b"
MemberName 16(ColorBlock) 2 "color2"
MemberName 16(ColorBlock) 3 "color3"
Name 18 "uC"
Name 26 "SecondaryColorBlock"
MemberName 26(SecondaryColorBlock) 0 "c"
Name 28 "uColorBuf"
Name 32 "Vertex"
MemberName 32(Vertex) 0 "v1"
MemberName 32(Vertex) 1 "v2"
Name 34 "oV"
Name 40 "gl_PerVertex"
MemberName 40(gl_PerVertex) 0 "gl_Position"
MemberName 40(gl_PerVertex) 1 "gl_PointSize"
MemberName 40(gl_PerVertex) 2 "gl_ClipDistance"
Name 42 ""
Name 44 "MatrixBlock"
MemberName 44(MatrixBlock) 0 "uProj"
MemberName 44(MatrixBlock) 1 "uWorld"
Name 46 "uM"
Name 65 "P"
Name 70 "BufferBlock"
MemberName 70(BufferBlock) 0 "p"
Name 72 "uBuf"
Decorate 14(oColor) Location 2
Decorate 16(ColorBlock) Block
MemberDecorate 16(ColorBlock) 0 Offset 0
MemberDecorate 16(ColorBlock) 1 Offset 16
MemberDecorate 16(ColorBlock) 2 Offset 32
MemberDecorate 16(ColorBlock) 3 Offset 48
Decorate 18(uC) Binding 1
Decorate 18(uC) DescriptorSet 0
Decorate 26(SecondaryColorBlock) BufferBlock
MemberDecorate 26(SecondaryColorBlock) 0 Offset 0
Decorate 28(uColorBuf) Binding 0
Decorate 28(uColorBuf) DescriptorSet 0
Decorate 32(Vertex) Block
Decorate 34(oV) Location 0
Decorate 40(gl_PerVertex) Block
MemberDecorate 40(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 40(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 40(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 44(MatrixBlock) Block
MemberDecorate 44(MatrixBlock) 0 ColMajor
MemberDecorate 44(MatrixBlock) 0 MatrixStride 16
MemberDecorate 44(MatrixBlock) 0 Offset 0
MemberDecorate 44(MatrixBlock) 1 ColMajor
MemberDecorate 44(MatrixBlock) 1 MatrixStride 16
MemberDecorate 44(MatrixBlock) 1 Offset 64
Decorate 46(uM) Binding 0
Decorate 46(uM) DescriptorSet 0
Decorate 65(P) Location 0
Decorate 70(BufferBlock) BufferBlock
MemberDecorate 70(BufferBlock) 0 ColMajor
MemberDecorate 70(BufferBlock) 0 MatrixStride 16
MemberDecorate 70(BufferBlock) 0 Offset 0
Decorate 72(uBuf) Binding 1
Decorate 72(uBuf) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
13: TypePointer Output 7(fvec4)
14(oColor): 13(ptr) Variable Output
15: TypeInt 32 0
16(ColorBlock): TypeStruct 7(fvec4) 15(int) 7(fvec4) 7(fvec4)
17: TypePointer Uniform 16(ColorBlock)
18(uC): 17(ptr) Variable Uniform
19: TypeInt 32 1
20: 19(int) Constant 0
21: TypePointer Uniform 7(fvec4)
26(SecondaryColorBlock): TypeStruct 7(fvec4)
27: TypePointer Uniform 26(SecondaryColorBlock)
28(uColorBuf): 27(ptr) Variable Uniform
32(Vertex): TypeStruct 7(fvec4) 7(fvec4)
33: TypePointer Output 32(Vertex)
34(oV): 33(ptr) Variable Output
38: 15(int) Constant 1
39: TypeArray 6(float) 38
40(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 39
41: TypePointer Output 40(gl_PerVertex)
42: 41(ptr) Variable Output
43: TypeMatrix 7(fvec4) 4
44(MatrixBlock): TypeStruct 43 43
45: TypePointer Uniform 44(MatrixBlock)
46(uM): 45(ptr) Variable Uniform
47: TypePointer Uniform 43
53: 19(int) Constant 2
58: 6(float) Constant 1065353216
59: 7(fvec4) ConstantComposite 58 58 58 58
61: 19(int) Constant 1
64: TypePointer Input 7(fvec4)
65(P): 64(ptr) Variable Input
70(BufferBlock): TypeStruct 43
71: TypePointer Uniform 70(BufferBlock)
72(uBuf): 71(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
22: 21(ptr) AccessChain 18(uC) 20
23: 7(fvec4) Load 22
24: 7(fvec4) FunctionCall 9(getColor2()
25: 7(fvec4) FMul 23 24
29: 21(ptr) AccessChain 28(uColorBuf) 20
30: 7(fvec4) Load 29
31: 7(fvec4) FMul 25 30
Store 14(oColor) 31
35: 21(ptr) AccessChain 18(uC) 20
36: 7(fvec4) Load 35
37: 13(ptr) AccessChain 34(oV) 20
Store 37 36
48: 47(ptr) AccessChain 46(uM) 20
49: 43 Load 48
50: 7(fvec4) FunctionCall 11(getWorld()
51: 7(fvec4) MatrixTimesVector 49 50
52: 13(ptr) AccessChain 42 20
Store 52 51
Return
FunctionEnd
9(getColor2(): 7(fvec4) Function None 8
10: Label
54: 21(ptr) AccessChain 18(uC) 53
55: 7(fvec4) Load 54
ReturnValue 55
FunctionEnd
11(getWorld(): 7(fvec4) Function None 8
12: Label
60: 13(ptr) AccessChain 34(oV) 20
Store 60 59
62: 47(ptr) AccessChain 46(uM) 61
63: 43 Load 62
66: 7(fvec4) Load 65(P)
67: 7(fvec4) MatrixTimesVector 63 66
ReturnValue 67
FunctionEnd