glslang/Test/baseResults/iomap.crossStage.vk.vert.out
Greg Fischer ca0d54d51b Enhance readability of error messages for GLSL
Specifically, make GLSL link error messages more specific and output
only information relevant to the error.

Also change type printing to more closely reflect GLSL syntax. This
is the default for link error messages, but must me enabled with the
new option --enhanced-msgs for compilation error messages.

Also with --enhanced-msgs, only emit one error message per source
line.
2022-02-01 12:10:08 -07:00

722 lines
41 KiB
Plaintext

iomap.crossStage.vk.vert
Shader version: 460
0:? Sequence
0:26 Function Definition: main( ( global void)
0:26 Function Parameters:
0:28 Sequence
0:28 move second child to first child ( temp highp 4-component vector of float)
0:28 'vgo1' ( smooth out highp 4-component vector of float)
0:28 Constant:
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:29 move second child to first child ( temp highp 2-component vector of float)
0:29 'vgo2' ( smooth out highp 2-component vector of float)
0:29 Constant:
0:29 0.000000
0:29 0.000000
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 o3: direct index for structure ( out highp 4-component vector of float)
0:30 'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
0:30 Constant:
0:30 0 (const uint)
0:30 Constant:
0:30 0.000000
0:30 0.000000
0:30 0.000000
0:30 0.000000
0:? Linker Objects
0:? 'vgo1' ( smooth out highp 4-component vector of float)
0:? 'vgo2' ( smooth out highp 2-component vector of float)
0:? 'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
0:? 'glass' (layout( binding=0) uniform highp sampler2D)
0:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:? 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float vb1})
0:? 'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
iomap.crossStage.vk.geom
Shader version: 460
invocations = -1
max_vertices = 3
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:25 Function Definition: main( ( global void)
0:25 Function Parameters:
0:27 Sequence
0:27 Sequence
0:27 Sequence
0:27 move second child to first child ( temp highp int)
0:27 'i' ( temp highp int)
0:27 Constant:
0:27 0 (const int)
0:27 Loop with condition tested first
0:27 Loop Condition
0:27 Compare Less Than ( temp bool)
0:27 'i' ( temp highp int)
0:27 Constant:
0:27 3 (const int)
0:27 Loop Body
0:28 Sequence
0:28 move second child to first child ( temp highp 4-component vector of float)
0:28 'gfo1' (layout( stream=0) out highp 4-component vector of float)
0:28 Constant:
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:29 move second child to first child ( temp highp 2-component vector of float)
0:29 'gfo2' (layout( stream=0) out highp 2-component vector of float)
0:29 Constant:
0:29 0.000000
0:29 0.000000
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 o3: direct index for structure (layout( stream=0) out highp 4-component vector of float)
0:30 'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
0:30 Constant:
0:30 0 (const int)
0:30 o3: direct index for structure ( in highp 4-component vector of float)
0:30 indirect index (layout( location=5) temp block{ in highp 4-component vector of float o3})
0:30 'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
0:30 'i' ( temp highp int)
0:30 Constant:
0:30 0 (const int)
0:31 EmitVertex ( global void)
0:27 Loop Terminal Expression
0:27 Post-Increment ( temp highp int)
0:27 'i' ( temp highp int)
0:33 EndPrimitive ( global void)
0:? Linker Objects
0:? 'vgo1' ( in 1-element array of highp 4-component vector of float)
0:? 'vgo2' ( in 1-element array of highp 2-component vector of float)
0:? 'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
0:? 'gfo1' (layout( stream=0) out highp 4-component vector of float)
0:? 'gfo2' (layout( stream=0) out highp 2-component vector of float)
0:? 'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
0:? 'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
iomap.crossStage.vk.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:30 Function Definition: Bar( ( global highp 2-component vector of float)
0:30 Function Parameters:
0:31 Sequence
0:31 Branch: Return with expression
0:32 add ( temp highp 2-component vector of float)
0:31 add ( temp highp 2-component vector of float)
0:31 fb1: direct index for structure (layout( column_major std430) readonly buffer highp 2-component vector of float)
0:31 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
0:31 Constant:
0:31 0 (const uint)
0:32 b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
0:32 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:32 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:32 Constant:
0:32 0 (const int)
0:32 Constant:
0:32 1 (const int)
0:33 b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
0:33 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:33 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:
0:33 1 (const int)
0:36 Function Definition: Foo( ( global highp 4-component vector of float)
0:36 Function Parameters:
0:37 Sequence
0:37 Branch: Return with expression
0:40 add ( temp highp 4-component vector of float)
0:39 add ( temp highp 4-component vector of float)
0:38 add ( temp highp 4-component vector of float)
0:37 add ( temp highp 4-component vector of float)
0:37 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:37 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:37 Constant:
0:37 0 (const uint)
0:38 b: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:38 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:38 Constant:
0:38 1 (const uint)
0:39 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:39 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:39 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:39 Constant:
0:39 0 (const int)
0:39 Constant:
0:39 0 (const int)
0:40 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:40 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:40 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 0 (const int)
0:41 Construct vec4 ( temp highp 4-component vector of float)
0:41 Function Call: Bar( ( global highp 2-component vector of float)
0:41 Constant:
0:41 0.000000
0:41 Constant:
0:41 0.000000
0:44 Function Definition: main( ( global void)
0:44 Function Parameters:
0:46 Sequence
0:46 Sequence
0:46 move second child to first child ( temp highp 4-component vector of float)
0:46 'color' ( temp highp 4-component vector of float)
0:46 'gfo1' ( smooth in highp 4-component vector of float)
0:47 move second child to first child ( temp highp 4-component vector of float)
0:47 'color' ( temp highp 4-component vector of float)
0:47 add ( temp highp 4-component vector of float)
0:47 'color' ( temp highp 4-component vector of float)
0:47 Function Call: Foo( ( global highp 4-component vector of float)
0:48 move second child to first child ( temp highp 4-component vector of float)
0:48 'outColor' ( out highp 4-component vector of float)
0:48 'color' ( temp highp 4-component vector of float)
0:? Linker Objects
0:? 'anon@0' (layout( location=5) in block{ in highp 4-component vector of float o3})
0:? 'gfo1' ( smooth in highp 4-component vector of float)
0:? 'gfo2' ( smooth in highp 2-component vector of float)
0:? 'outColor' ( out highp 4-component vector of float)
0:? 'glass' (layout( binding=0) uniform highp sampler2D)
0:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:? 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
0:? 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
Linked vertex stage:
Linked geometry stage:
Linked fragment stage:
WARNING: Linking unknown stage and fragment stages: Matched shader interfaces are using different instance names.
unknown stage stage: Block: crossStageBlock2 Instance: blockName1: ""
fragment stage: Block: crossStageBlock2 Instance: blockName2: ""
Shader version: 460
0:? Sequence
0:26 Function Definition: main( ( global void)
0:26 Function Parameters:
0:28 Sequence
0:28 move second child to first child ( temp highp 4-component vector of float)
0:28 'vgo1' ( smooth out highp 4-component vector of float)
0:28 Constant:
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:29 move second child to first child ( temp highp 2-component vector of float)
0:29 'vgo2' ( smooth out highp 2-component vector of float)
0:29 Constant:
0:29 0.000000
0:29 0.000000
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 o3: direct index for structure ( out highp 4-component vector of float)
0:30 'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
0:30 Constant:
0:30 0 (const uint)
0:30 Constant:
0:30 0.000000
0:30 0.000000
0:30 0.000000
0:30 0.000000
0:? Linker Objects
0:? 'vgo1' ( smooth out highp 4-component vector of float)
0:? 'vgo2' ( smooth out highp 2-component vector of float)
0:? 'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
0:? 'glass' (layout( binding=0) uniform highp sampler2D)
0:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:? 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float vb1})
0:? 'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
Shader version: 460
invocations = 1
max_vertices = 3
input primitive = points
output primitive = triangle_strip
0:? Sequence
0:25 Function Definition: main( ( global void)
0:25 Function Parameters:
0:27 Sequence
0:27 Sequence
0:27 Sequence
0:27 move second child to first child ( temp highp int)
0:27 'i' ( temp highp int)
0:27 Constant:
0:27 0 (const int)
0:27 Loop with condition tested first
0:27 Loop Condition
0:27 Compare Less Than ( temp bool)
0:27 'i' ( temp highp int)
0:27 Constant:
0:27 3 (const int)
0:27 Loop Body
0:28 Sequence
0:28 move second child to first child ( temp highp 4-component vector of float)
0:28 'gfo1' (layout( stream=0) out highp 4-component vector of float)
0:28 Constant:
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:28 0.000000
0:29 move second child to first child ( temp highp 2-component vector of float)
0:29 'gfo2' (layout( stream=0) out highp 2-component vector of float)
0:29 Constant:
0:29 0.000000
0:29 0.000000
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 o3: direct index for structure (layout( stream=0) out highp 4-component vector of float)
0:30 'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
0:30 Constant:
0:30 0 (const int)
0:30 o3: direct index for structure ( in highp 4-component vector of float)
0:30 indirect index (layout( location=5) temp block{ in highp 4-component vector of float o3})
0:30 'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
0:30 'i' ( temp highp int)
0:30 Constant:
0:30 0 (const int)
0:31 EmitVertex ( global void)
0:27 Loop Terminal Expression
0:27 Post-Increment ( temp highp int)
0:27 'i' ( temp highp int)
0:33 EndPrimitive ( global void)
0:? Linker Objects
0:? 'vgo1' ( in 1-element array of highp 4-component vector of float)
0:? 'vgo2' ( in 1-element array of highp 2-component vector of float)
0:? 'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
0:? 'gfo1' (layout( stream=0) out highp 4-component vector of float)
0:? 'gfo2' (layout( stream=0) out highp 2-component vector of float)
0:? 'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
0:? 'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:30 Function Definition: Bar( ( global highp 2-component vector of float)
0:30 Function Parameters:
0:31 Sequence
0:31 Branch: Return with expression
0:32 add ( temp highp 2-component vector of float)
0:31 add ( temp highp 2-component vector of float)
0:31 fb1: direct index for structure (layout( column_major std430) readonly buffer highp 2-component vector of float)
0:31 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
0:31 Constant:
0:31 0 (const uint)
0:32 b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
0:32 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:32 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:32 Constant:
0:32 0 (const int)
0:32 Constant:
0:32 1 (const int)
0:33 b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
0:33 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:33 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:
0:33 1 (const int)
0:36 Function Definition: Foo( ( global highp 4-component vector of float)
0:36 Function Parameters:
0:37 Sequence
0:37 Branch: Return with expression
0:40 add ( temp highp 4-component vector of float)
0:39 add ( temp highp 4-component vector of float)
0:38 add ( temp highp 4-component vector of float)
0:37 add ( temp highp 4-component vector of float)
0:37 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:37 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:37 Constant:
0:37 0 (const uint)
0:38 b: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:38 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:38 Constant:
0:38 1 (const uint)
0:39 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:39 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:39 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:39 Constant:
0:39 0 (const int)
0:39 Constant:
0:39 0 (const int)
0:40 a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:40 direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:40 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
0:40 Constant:
0:40 1 (const int)
0:40 Constant:
0:40 0 (const int)
0:41 Construct vec4 ( temp highp 4-component vector of float)
0:41 Function Call: Bar( ( global highp 2-component vector of float)
0:41 Constant:
0:41 0.000000
0:41 Constant:
0:41 0.000000
0:44 Function Definition: main( ( global void)
0:44 Function Parameters:
0:46 Sequence
0:46 Sequence
0:46 move second child to first child ( temp highp 4-component vector of float)
0:46 'color' ( temp highp 4-component vector of float)
0:46 'gfo1' ( smooth in highp 4-component vector of float)
0:47 move second child to first child ( temp highp 4-component vector of float)
0:47 'color' ( temp highp 4-component vector of float)
0:47 add ( temp highp 4-component vector of float)
0:47 'color' ( temp highp 4-component vector of float)
0:47 Function Call: Foo( ( global highp 4-component vector of float)
0:48 move second child to first child ( temp highp 4-component vector of float)
0:48 'outColor' ( out highp 4-component vector of float)
0:48 'color' ( temp highp 4-component vector of float)
0:? Linker Objects
0:? 'anon@0' (layout( location=5) in block{ in highp 4-component vector of float o3})
0:? 'gfo1' ( smooth in highp 4-component vector of float)
0:? 'gfo2' ( smooth in highp 2-component vector of float)
0:? 'outColor' ( out highp 4-component vector of float)
0:? 'glass' (layout( binding=0) uniform highp sampler2D)
0:? 'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
0:? 'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
0:? 'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 38
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 14 18
Source GLSL 460
Name 4 "main"
Name 9 "vgo1"
Name 14 "vgo2"
Name 16 "outBlock"
MemberName 16(outBlock) 0 "o3"
Name 18 ""
Name 25 "glass"
Name 26 "crossStageBlock1"
MemberName 26(crossStageBlock1) 0 "a"
MemberName 26(crossStageBlock1) 1 "b"
Name 28 ""
Name 29 "vertOnlyBlock"
MemberName 29(vertOnlyBlock) 0 "vb1"
Name 31 ""
Name 32 "crossStageBlock2"
MemberName 32(crossStageBlock2) 0 "a"
MemberName 32(crossStageBlock2) 1 "b"
Name 37 "blockName1"
Decorate 9(vgo1) Location 0
Decorate 14(vgo2) Location 1
Decorate 16(outBlock) Block
Decorate 18 Location 5
Decorate 25(glass) DescriptorSet 0
Decorate 25(glass) Binding 0
MemberDecorate 26(crossStageBlock1) 0 Offset 0
MemberDecorate 26(crossStageBlock1) 1 Offset 16
Decorate 26(crossStageBlock1) Block
Decorate 28 DescriptorSet 0
Decorate 28 Binding 1
MemberDecorate 29(vertOnlyBlock) 0 NonWritable
MemberDecorate 29(vertOnlyBlock) 0 Offset 0
Decorate 29(vertOnlyBlock) BufferBlock
Decorate 31 DescriptorSet 0
Decorate 31 Binding 0
MemberDecorate 32(crossStageBlock2) 0 Offset 0
MemberDecorate 32(crossStageBlock2) 1 Offset 16
Decorate 32(crossStageBlock2) Block
Decorate 37(blockName1) DescriptorSet 0
Decorate 37(blockName1) Binding 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(vgo1): 8(ptr) Variable Output
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
12: TypeVector 6(float) 2
13: TypePointer Output 12(fvec2)
14(vgo2): 13(ptr) Variable Output
15: 12(fvec2) ConstantComposite 10 10
16(outBlock): TypeStruct 7(fvec4)
17: TypePointer Output 16(outBlock)
18: 17(ptr) Variable Output
19: TypeInt 32 1
20: 19(int) Constant 0
22: TypeImage 6(float) 2D sampled format:Unknown
23: TypeSampledImage 22
24: TypePointer UniformConstant 23
25(glass): 24(ptr) Variable UniformConstant
26(crossStageBlock1): TypeStruct 7(fvec4) 7(fvec4)
27: TypePointer Uniform 26(crossStageBlock1)
28: 27(ptr) Variable Uniform
29(vertOnlyBlock): TypeStruct 12(fvec2)
30: TypePointer Uniform 29(vertOnlyBlock)
31: 30(ptr) Variable Uniform
32(crossStageBlock2): TypeStruct 7(fvec4) 12(fvec2)
33: TypeInt 32 0
34: 33(int) Constant 2
35: TypeArray 32(crossStageBlock2) 34
36: TypePointer Uniform 35
37(blockName1): 36(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
Store 9(vgo1) 11
Store 14(vgo2) 15
21: 8(ptr) AccessChain 18 20
Store 21 11
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 57
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 22 27 31 37 48 51
ExecutionMode 4 InputPoints
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 3
Source GLSL 460
Name 4 "main"
Name 8 "i"
Name 22 "gfo1"
Name 27 "gfo2"
Name 29 "outBlock"
MemberName 29(outBlock) 0 "o3"
Name 31 "gf_out"
Name 32 "outBlock"
MemberName 32(outBlock) 0 "o3"
Name 37 "inBlock"
Name 48 "vgo1"
Name 51 "vgo2"
Name 52 "crossStageBlock2"
MemberName 52(crossStageBlock2) 0 "a"
MemberName 52(crossStageBlock2) 1 "b"
Name 56 "blockName1"
Decorate 22(gfo1) Location 0
Decorate 27(gfo2) Location 1
Decorate 29(outBlock) Block
Decorate 31(gf_out) Location 5
Decorate 32(outBlock) Block
Decorate 37(inBlock) Location 5
Decorate 48(vgo1) Location 0
Decorate 51(vgo2) Location 1
MemberDecorate 52(crossStageBlock2) 0 Offset 0
MemberDecorate 52(crossStageBlock2) 1 Offset 16
Decorate 52(crossStageBlock2) Block
Decorate 56(blockName1) DescriptorSet 0
Decorate 56(blockName1) Binding 3
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
16: 6(int) Constant 3
17: TypeBool
19: TypeFloat 32
20: TypeVector 19(float) 4
21: TypePointer Output 20(fvec4)
22(gfo1): 21(ptr) Variable Output
23: 19(float) Constant 0
24: 20(fvec4) ConstantComposite 23 23 23 23
25: TypeVector 19(float) 2
26: TypePointer Output 25(fvec2)
27(gfo2): 26(ptr) Variable Output
28: 25(fvec2) ConstantComposite 23 23
29(outBlock): TypeStruct 20(fvec4)
30: TypePointer Output 29(outBlock)
31(gf_out): 30(ptr) Variable Output
32(outBlock): TypeStruct 20(fvec4)
33: TypeInt 32 0
34: 33(int) Constant 1
35: TypeArray 32(outBlock) 34
36: TypePointer Input 35
37(inBlock): 36(ptr) Variable Input
39: TypePointer Input 20(fvec4)
44: 6(int) Constant 1
46: TypeArray 20(fvec4) 34
47: TypePointer Input 46
48(vgo1): 47(ptr) Variable Input
49: TypeArray 25(fvec2) 34
50: TypePointer Input 49
51(vgo2): 50(ptr) Variable Input
52(crossStageBlock2): TypeStruct 20(fvec4) 25(fvec2)
53: 33(int) Constant 2
54: TypeArray 52(crossStageBlock2) 53
55: TypePointer Uniform 54
56(blockName1): 55(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
8(i): 7(ptr) Variable Function
Store 8(i) 9
Branch 10
10: Label
LoopMerge 12 13 None
Branch 14
14: Label
15: 6(int) Load 8(i)
18: 17(bool) SLessThan 15 16
BranchConditional 18 11 12
11: Label
Store 22(gfo1) 24
Store 27(gfo2) 28
38: 6(int) Load 8(i)
40: 39(ptr) AccessChain 37(inBlock) 38 9
41: 20(fvec4) Load 40
42: 21(ptr) AccessChain 31(gf_out) 9
Store 42 41
EmitVertex
Branch 13
13: Label
43: 6(int) Load 8(i)
45: 6(int) IAdd 43 44
Store 8(i) 45
Branch 10
12: Label
EndPrimitive
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 81
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 64 70 74 76
ExecutionMode 4 OriginUpperLeft
Source GLSL 460
Name 4 "main"
Name 9 "Bar("
Name 13 "Foo("
Name 15 "fragOnlyBlock"
MemberName 15(fragOnlyBlock) 0 "fb1"
Name 17 ""
Name 23 "crossStageBlock2"
MemberName 23(crossStageBlock2) 0 "a"
MemberName 23(crossStageBlock2) 1 "b"
Name 28 "blockName2"
Name 38 "crossStageBlock1"
MemberName 38(crossStageBlock1) 0 "a"
MemberName 38(crossStageBlock1) 1 "b"
Name 40 ""
Name 62 "color"
Name 64 "gfo1"
Name 70 "outColor"
Name 72 "outBlock"
MemberName 72(outBlock) 0 "o3"
Name 74 ""
Name 76 "gfo2"
Name 80 "glass"
MemberDecorate 15(fragOnlyBlock) 0 NonWritable
MemberDecorate 15(fragOnlyBlock) 0 Offset 0
Decorate 15(fragOnlyBlock) BufferBlock
Decorate 17 DescriptorSet 0
Decorate 17 Binding 2
MemberDecorate 23(crossStageBlock2) 0 Offset 0
MemberDecorate 23(crossStageBlock2) 1 Offset 16
Decorate 23(crossStageBlock2) Block
Decorate 28(blockName2) DescriptorSet 0
Decorate 28(blockName2) Binding 3
MemberDecorate 38(crossStageBlock1) 0 Offset 0
MemberDecorate 38(crossStageBlock1) 1 Offset 16
Decorate 38(crossStageBlock1) Block
Decorate 40 DescriptorSet 0
Decorate 40 Binding 1
Decorate 64(gfo1) Location 0
Decorate 70(outColor) Location 0
Decorate 72(outBlock) Block
Decorate 74 Location 5
Decorate 76(gfo2) Location 1
Decorate 80(glass) DescriptorSet 0
Decorate 80(glass) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypeFunction 7(fvec2)
11: TypeVector 6(float) 4
12: TypeFunction 11(fvec4)
15(fragOnlyBlock): TypeStruct 7(fvec2)
16: TypePointer Uniform 15(fragOnlyBlock)
17: 16(ptr) Variable Uniform
18: TypeInt 32 1
19: 18(int) Constant 0
20: TypePointer Uniform 7(fvec2)
23(crossStageBlock2): TypeStruct 11(fvec4) 7(fvec2)
24: TypeInt 32 0
25: 24(int) Constant 2
26: TypeArray 23(crossStageBlock2) 25
27: TypePointer Uniform 26
28(blockName2): 27(ptr) Variable Uniform
29: 18(int) Constant 1
38(crossStageBlock1): TypeStruct 11(fvec4) 11(fvec4)
39: TypePointer Uniform 38(crossStageBlock1)
40: 39(ptr) Variable Uniform
41: TypePointer Uniform 11(fvec4)
54: 6(float) Constant 0
61: TypePointer Function 11(fvec4)
63: TypePointer Input 11(fvec4)
64(gfo1): 63(ptr) Variable Input
69: TypePointer Output 11(fvec4)
70(outColor): 69(ptr) Variable Output
72(outBlock): TypeStruct 11(fvec4)
73: TypePointer Input 72(outBlock)
74: 73(ptr) Variable Input
75: TypePointer Input 7(fvec2)
76(gfo2): 75(ptr) Variable Input
77: TypeImage 6(float) 2D sampled format:Unknown
78: TypeSampledImage 77
79: TypePointer UniformConstant 78
80(glass): 79(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
62(color): 61(ptr) Variable Function
65: 11(fvec4) Load 64(gfo1)
Store 62(color) 65
66: 11(fvec4) Load 62(color)
67: 11(fvec4) FunctionCall 13(Foo()
68: 11(fvec4) FAdd 66 67
Store 62(color) 68
71: 11(fvec4) Load 62(color)
Store 70(outColor) 71
Return
FunctionEnd
9(Bar(): 7(fvec2) Function None 8
10: Label
21: 20(ptr) AccessChain 17 19
22: 7(fvec2) Load 21
30: 20(ptr) AccessChain 28(blockName2) 19 29
31: 7(fvec2) Load 30
32: 7(fvec2) FAdd 22 31
33: 20(ptr) AccessChain 28(blockName2) 29 29
34: 7(fvec2) Load 33
35: 7(fvec2) FAdd 32 34
ReturnValue 35
FunctionEnd
13(Foo(): 11(fvec4) Function None 12
14: Label
42: 41(ptr) AccessChain 40 19
43: 11(fvec4) Load 42
44: 41(ptr) AccessChain 40 29
45: 11(fvec4) Load 44
46: 11(fvec4) FAdd 43 45
47: 41(ptr) AccessChain 28(blockName2) 19 19
48: 11(fvec4) Load 47
49: 11(fvec4) FAdd 46 48
50: 41(ptr) AccessChain 28(blockName2) 29 19
51: 11(fvec4) Load 50
52: 11(fvec4) FAdd 49 51
53: 7(fvec2) FunctionCall 9(Bar()
55: 6(float) CompositeExtract 53 0
56: 6(float) CompositeExtract 53 1
57: 11(fvec4) CompositeConstruct 55 56 54 54
58: 11(fvec4) FAdd 52 57
ReturnValue 58
FunctionEnd