blob: e137bdfc40141221c60a82abef2b9d267f52b28c [file] [log] [blame]
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 stage: Matched shader interfaces are using different instance names.
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}" versus 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}"
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