mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
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
329 lines
23 KiB
Plaintext
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
|