mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-19 09:16:32 +00:00
ac3707921e
Now, version 5.* is all connected to making the uint type, which doesn't quite work. Generator versions 4 and 6 do not do this.
573 lines
35 KiB
Plaintext
573 lines
35 KiB
Plaintext
hlsl.color.hull.tesc
|
|
Shader version: 500
|
|
vertices = 3
|
|
vertex spacing = equal_spacing
|
|
triangle order = cw
|
|
0:? Sequence
|
|
0:37 Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:37 Function Parameters:
|
|
0:37 'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:37 'patchId' ( in uint)
|
|
0:? Sequence
|
|
0:42 move second child to first child ( temp float)
|
|
0:42 direct index ( temp float)
|
|
0:42 edges: direct index for structure ( temp 3-element array of float)
|
|
0:42 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:42 Constant:
|
|
0:42 0 (const int)
|
|
0:42 Constant:
|
|
0:42 0 (const int)
|
|
0:42 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:42 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:42 Constant:
|
|
0:42 0 (const uint)
|
|
0:43 move second child to first child ( temp float)
|
|
0:43 direct index ( temp float)
|
|
0:43 edges: direct index for structure ( temp 3-element array of float)
|
|
0:43 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:43 Constant:
|
|
0:43 0 (const int)
|
|
0:43 Constant:
|
|
0:43 1 (const int)
|
|
0:43 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:43 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 move second child to first child ( temp float)
|
|
0:44 direct index ( temp float)
|
|
0:44 edges: direct index for structure ( temp 3-element array of float)
|
|
0:44 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:44 Constant:
|
|
0:44 0 (const int)
|
|
0:44 Constant:
|
|
0:44 2 (const int)
|
|
0:44 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:44 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child ( temp float)
|
|
0:47 inside: direct index for structure ( temp float)
|
|
0:47 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:47 Constant:
|
|
0:47 1 (const int)
|
|
0:47 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:47 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:47 Constant:
|
|
0:47 0 (const uint)
|
|
0:49 Branch: Return with expression
|
|
0:49 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:63 Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 Function Parameters:
|
|
0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 'pointId' ( in uint)
|
|
0:63 'patchId' ( in uint)
|
|
0:? Sequence
|
|
0:67 move second child to first child ( temp 3-component vector of float)
|
|
0:67 position: direct index for structure ( temp 3-component vector of float)
|
|
0:67 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 Constant:
|
|
0:67 0 (const int)
|
|
0:67 position: direct index for structure ( temp 3-component vector of float)
|
|
0:67 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 'pointId' ( in uint)
|
|
0:67 Constant:
|
|
0:67 0 (const int)
|
|
0:70 move second child to first child ( temp 4-component vector of float)
|
|
0:70 color: direct index for structure ( temp 4-component vector of float)
|
|
0:70 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 Constant:
|
|
0:70 1 (const int)
|
|
0:70 color: direct index for structure ( temp 4-component vector of float)
|
|
0:70 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 'pointId' ( in uint)
|
|
0:70 Constant:
|
|
0:70 1 (const int)
|
|
0:72 Branch: Return with expression
|
|
0:72 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 Function Definition: main( ( temp void)
|
|
0:63 Function Parameters:
|
|
0:? Sequence
|
|
0:63 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 move second child to first child ( temp uint)
|
|
0:? 'pointId' ( temp uint)
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:63 move second child to first child ( temp uint)
|
|
0:? 'patchId' ( temp uint)
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 indirect index (layout( location=0) out structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:63 Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( temp uint)
|
|
0:? 'patchId' ( temp uint)
|
|
0:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? true case
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelInner)
|
|
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? inside: direct index for structure ( temp float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
|
|
|
|
|
|
Linked tessellation control stage:
|
|
|
|
|
|
Shader version: 500
|
|
vertices = 3
|
|
vertex spacing = equal_spacing
|
|
triangle order = cw
|
|
0:? Sequence
|
|
0:37 Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:37 Function Parameters:
|
|
0:37 'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:37 'patchId' ( in uint)
|
|
0:? Sequence
|
|
0:42 move second child to first child ( temp float)
|
|
0:42 direct index ( temp float)
|
|
0:42 edges: direct index for structure ( temp 3-element array of float)
|
|
0:42 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:42 Constant:
|
|
0:42 0 (const int)
|
|
0:42 Constant:
|
|
0:42 0 (const int)
|
|
0:42 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:42 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:42 Constant:
|
|
0:42 0 (const uint)
|
|
0:43 move second child to first child ( temp float)
|
|
0:43 direct index ( temp float)
|
|
0:43 edges: direct index for structure ( temp 3-element array of float)
|
|
0:43 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:43 Constant:
|
|
0:43 0 (const int)
|
|
0:43 Constant:
|
|
0:43 1 (const int)
|
|
0:43 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:43 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 move second child to first child ( temp float)
|
|
0:44 direct index ( temp float)
|
|
0:44 edges: direct index for structure ( temp 3-element array of float)
|
|
0:44 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:44 Constant:
|
|
0:44 0 (const int)
|
|
0:44 Constant:
|
|
0:44 2 (const int)
|
|
0:44 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:44 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child ( temp float)
|
|
0:47 inside: direct index for structure ( temp float)
|
|
0:47 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:47 Constant:
|
|
0:47 1 (const int)
|
|
0:47 tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
|
|
0:47 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:47 Constant:
|
|
0:47 0 (const uint)
|
|
0:49 Branch: Return with expression
|
|
0:49 'output' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:63 Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 Function Parameters:
|
|
0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 'pointId' ( in uint)
|
|
0:63 'patchId' ( in uint)
|
|
0:? Sequence
|
|
0:67 move second child to first child ( temp 3-component vector of float)
|
|
0:67 position: direct index for structure ( temp 3-component vector of float)
|
|
0:67 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 Constant:
|
|
0:67 0 (const int)
|
|
0:67 position: direct index for structure ( temp 3-component vector of float)
|
|
0:67 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:67 'pointId' ( in uint)
|
|
0:67 Constant:
|
|
0:67 0 (const int)
|
|
0:70 move second child to first child ( temp 4-component vector of float)
|
|
0:70 color: direct index for structure ( temp 4-component vector of float)
|
|
0:70 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 Constant:
|
|
0:70 1 (const int)
|
|
0:70 color: direct index for structure ( temp 4-component vector of float)
|
|
0:70 indirect index ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 'patch' ( in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:70 'pointId' ( in uint)
|
|
0:70 Constant:
|
|
0:70 1 (const int)
|
|
0:72 Branch: Return with expression
|
|
0:72 'output' ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 Function Definition: main( ( temp void)
|
|
0:63 Function Parameters:
|
|
0:? Sequence
|
|
0:63 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 move second child to first child ( temp uint)
|
|
0:? 'pointId' ( temp uint)
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:63 move second child to first child ( temp uint)
|
|
0:? 'patchId' ( temp uint)
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:63 move second child to first child ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:63 indirect index (layout( location=0) out structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:63 Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( temp uint)
|
|
0:? 'patchId' ( temp uint)
|
|
0:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? true case
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? edges: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelInner)
|
|
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? inside: direct index for structure ( temp float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float edges, temp float inside})
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position, temp 4-component vector of float color})
|
|
0:? 'pointId' ( in uint InvocationID)
|
|
0:? 'patchId' ( in uint PrimitiveID)
|
|
0:? '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80006
|
|
// Id's are bound by 127
|
|
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationControl 4 "main" 72 76 79 83 110 123
|
|
ExecutionMode 4 OutputVertices 3
|
|
ExecutionMode 4 Triangles
|
|
ExecutionMode 4 SpacingEqual
|
|
ExecutionMode 4 VertexOrderCw
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 9 "HullInputType"
|
|
MemberName 9(HullInputType) 0 "position"
|
|
MemberName 9(HullInputType) 1 "color"
|
|
Name 16 "ConstantOutputType"
|
|
MemberName 16(ConstantOutputType) 0 "edges"
|
|
MemberName 16(ConstantOutputType) 1 "inside"
|
|
Name 20 "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;"
|
|
Name 18 "inputPatch"
|
|
Name 19 "patchId"
|
|
Name 22 "HullOutputType"
|
|
MemberName 22(HullOutputType) 0 "position"
|
|
MemberName 22(HullOutputType) 1 "color"
|
|
Name 27 "@main(struct-HullInputType-vf3-vf41[3];u1;u1;"
|
|
Name 24 "patch"
|
|
Name 25 "pointId"
|
|
Name 26 "patchId"
|
|
Name 30 "output"
|
|
Name 33 "TessellationBuffer"
|
|
MemberName 33(TessellationBuffer) 0 "tessellationAmount"
|
|
MemberName 33(TessellationBuffer) 1 "padding"
|
|
Name 35 ""
|
|
Name 56 "output"
|
|
Name 70 "patch"
|
|
Name 72 "patch"
|
|
Name 74 "pointId"
|
|
Name 76 "pointId"
|
|
Name 78 "patchId"
|
|
Name 79 "patchId"
|
|
Name 83 "@entryPointOutput"
|
|
Name 85 "param"
|
|
Name 87 "param"
|
|
Name 89 "param"
|
|
Name 102 "@patchConstantResult"
|
|
Name 103 "param"
|
|
Name 105 "param"
|
|
Name 110 "@patchConstantOutput.edges"
|
|
Name 123 "@patchConstantOutput.inside"
|
|
MemberDecorate 33(TessellationBuffer) 0 Offset 0
|
|
MemberDecorate 33(TessellationBuffer) 1 Offset 4
|
|
Decorate 33(TessellationBuffer) Block
|
|
Decorate 35 DescriptorSet 0
|
|
Decorate 35 Binding 0
|
|
Decorate 72(patch) Location 0
|
|
Decorate 76(pointId) BuiltIn InvocationId
|
|
Decorate 79(patchId) BuiltIn PrimitiveId
|
|
Decorate 83(@entryPointOutput) Location 0
|
|
Decorate 110(@patchConstantOutput.edges) Patch
|
|
Decorate 110(@patchConstantOutput.edges) BuiltIn TessLevelOuter
|
|
Decorate 123(@patchConstantOutput.inside) Patch
|
|
Decorate 123(@patchConstantOutput.inside) BuiltIn TessLevelInner
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 3
|
|
8: TypeVector 6(float) 4
|
|
9(HullInputType): TypeStruct 7(fvec3) 8(fvec4)
|
|
10: TypeInt 32 0
|
|
11: 10(int) Constant 3
|
|
12: TypeArray 9(HullInputType) 11
|
|
13: TypePointer Function 12
|
|
14: TypePointer Function 10(int)
|
|
15: TypeArray 6(float) 11
|
|
16(ConstantOutputType): TypeStruct 15 6(float)
|
|
17: TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr)
|
|
22(HullOutputType): TypeStruct 7(fvec3) 8(fvec4)
|
|
23: TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr)
|
|
29: TypePointer Function 16(ConstantOutputType)
|
|
31: TypeInt 32 1
|
|
32: 31(int) Constant 0
|
|
33(TessellationBuffer): TypeStruct 6(float) 7(fvec3)
|
|
34: TypePointer Uniform 33(TessellationBuffer)
|
|
35: 34(ptr) Variable Uniform
|
|
36: TypePointer Uniform 6(float)
|
|
39: TypePointer Function 6(float)
|
|
41: 31(int) Constant 1
|
|
45: 31(int) Constant 2
|
|
55: TypePointer Function 22(HullOutputType)
|
|
58: TypePointer Function 7(fvec3)
|
|
63: TypePointer Function 8(fvec4)
|
|
71: TypePointer Input 12
|
|
72(patch): 71(ptr) Variable Input
|
|
75: TypePointer Input 10(int)
|
|
76(pointId): 75(ptr) Variable Input
|
|
79(patchId): 75(ptr) Variable Input
|
|
81: TypeArray 22(HullOutputType) 11
|
|
82: TypePointer Output 81
|
|
83(@entryPointOutput): 82(ptr) Variable Output
|
|
92: TypePointer Output 22(HullOutputType)
|
|
94: 10(int) Constant 2
|
|
95: 10(int) Constant 4
|
|
96: 10(int) Constant 0
|
|
98: TypeBool
|
|
108: TypeArray 6(float) 95
|
|
109: TypePointer Output 108
|
|
110(@patchConstantOutput.edges): 109(ptr) Variable Output
|
|
113: TypePointer Output 6(float)
|
|
121: TypeArray 6(float) 94
|
|
122: TypePointer Output 121
|
|
123(@patchConstantOutput.inside): 122(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
70(patch): 13(ptr) Variable Function
|
|
74(pointId): 14(ptr) Variable Function
|
|
78(patchId): 14(ptr) Variable Function
|
|
85(param): 13(ptr) Variable Function
|
|
87(param): 14(ptr) Variable Function
|
|
89(param): 14(ptr) Variable Function
|
|
102(@patchConstantResult): 29(ptr) Variable Function
|
|
103(param): 13(ptr) Variable Function
|
|
105(param): 14(ptr) Variable Function
|
|
73: 12 Load 72(patch)
|
|
Store 70(patch) 73
|
|
77: 10(int) Load 76(pointId)
|
|
Store 74(pointId) 77
|
|
80: 10(int) Load 79(patchId)
|
|
Store 78(patchId) 80
|
|
84: 10(int) Load 76(pointId)
|
|
86: 12 Load 70(patch)
|
|
Store 85(param) 86
|
|
88: 10(int) Load 74(pointId)
|
|
Store 87(param) 88
|
|
90: 10(int) Load 78(patchId)
|
|
Store 89(param) 90
|
|
91:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 85(param) 87(param) 89(param)
|
|
93: 92(ptr) AccessChain 83(@entryPointOutput) 84
|
|
Store 93 91
|
|
ControlBarrier 94 95 96
|
|
97: 10(int) Load 76(pointId)
|
|
99: 98(bool) IEqual 97 32
|
|
SelectionMerge 101 None
|
|
BranchConditional 99 100 101
|
|
100: Label
|
|
104: 12 Load 70(patch)
|
|
Store 103(param) 104
|
|
106: 10(int) Load 79(patchId)
|
|
Store 105(param) 106
|
|
107:16(ConstantOutputType) FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 103(param) 105(param)
|
|
Store 102(@patchConstantResult) 107
|
|
111: 39(ptr) AccessChain 102(@patchConstantResult) 32 32
|
|
112: 6(float) Load 111
|
|
114: 113(ptr) AccessChain 110(@patchConstantOutput.edges) 32
|
|
Store 114 112
|
|
115: 39(ptr) AccessChain 102(@patchConstantResult) 32 41
|
|
116: 6(float) Load 115
|
|
117: 113(ptr) AccessChain 110(@patchConstantOutput.edges) 41
|
|
Store 117 116
|
|
118: 39(ptr) AccessChain 102(@patchConstantResult) 32 45
|
|
119: 6(float) Load 118
|
|
120: 113(ptr) AccessChain 110(@patchConstantOutput.edges) 45
|
|
Store 120 119
|
|
124: 39(ptr) AccessChain 102(@patchConstantResult) 41
|
|
125: 6(float) Load 124
|
|
126: 113(ptr) AccessChain 123(@patchConstantOutput.inside) 32
|
|
Store 126 125
|
|
Branch 101
|
|
101: Label
|
|
Return
|
|
FunctionEnd
|
|
20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17
|
|
18(inputPatch): 13(ptr) FunctionParameter
|
|
19(patchId): 14(ptr) FunctionParameter
|
|
21: Label
|
|
30(output): 29(ptr) Variable Function
|
|
37: 36(ptr) AccessChain 35 32
|
|
38: 6(float) Load 37
|
|
40: 39(ptr) AccessChain 30(output) 32 32
|
|
Store 40 38
|
|
42: 36(ptr) AccessChain 35 32
|
|
43: 6(float) Load 42
|
|
44: 39(ptr) AccessChain 30(output) 32 41
|
|
Store 44 43
|
|
46: 36(ptr) AccessChain 35 32
|
|
47: 6(float) Load 46
|
|
48: 39(ptr) AccessChain 30(output) 32 45
|
|
Store 48 47
|
|
49: 36(ptr) AccessChain 35 32
|
|
50: 6(float) Load 49
|
|
51: 39(ptr) AccessChain 30(output) 41
|
|
Store 51 50
|
|
52:16(ConstantOutputType) Load 30(output)
|
|
ReturnValue 52
|
|
FunctionEnd
|
|
27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23
|
|
24(patch): 13(ptr) FunctionParameter
|
|
25(pointId): 14(ptr) FunctionParameter
|
|
26(patchId): 14(ptr) FunctionParameter
|
|
28: Label
|
|
56(output): 55(ptr) Variable Function
|
|
57: 10(int) Load 25(pointId)
|
|
59: 58(ptr) AccessChain 24(patch) 57 32
|
|
60: 7(fvec3) Load 59
|
|
61: 58(ptr) AccessChain 56(output) 32
|
|
Store 61 60
|
|
62: 10(int) Load 25(pointId)
|
|
64: 63(ptr) AccessChain 24(patch) 62 41
|
|
65: 8(fvec4) Load 64
|
|
66: 63(ptr) AccessChain 56(output) 41
|
|
Store 66 65
|
|
67:22(HullOutputType) Load 56(output)
|
|
ReturnValue 67
|
|
FunctionEnd
|