
Rationalizes the entire tracking of the linker object nodes, effecting GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before their type snapshot for linker objects. Should only effect things when the rest of the AST contained no reference to the symbol, because normal AST nodes were not stale. Also will only effect such objects when their types were edited.
200 lines
14 KiB
Plaintext
Executable File
200 lines
14 KiB
Plaintext
Executable File
hlsl.buffer.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:? Sequence
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
|
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
|
|
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
|
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
|
|
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 Branch: Return
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
|
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
|
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
|
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:? Sequence
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 add (temp 4-component vector of float)
|
|
0:31 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
|
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
|
|
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
|
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
|
|
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
|
0:31 Constant:
|
|
0:31 0 (const uint)
|
|
0:31 Branch: Return
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
|
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
|
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
|
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 42
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "PixelShaderFunction"
|
|
Name 9 "@entryPointOutput"
|
|
Name 11 "input"
|
|
Name 13 ""
|
|
MemberName 13 0 "v1"
|
|
Name 15 ""
|
|
Name 22 ""
|
|
MemberName 22 0 "v2"
|
|
Name 24 ""
|
|
Name 28 "cbufName"
|
|
MemberName 28(cbufName) 0 "v3"
|
|
MemberName 28(cbufName) 1 "i3"
|
|
Name 30 ""
|
|
Name 35 "tbufName"
|
|
MemberName 35(tbufName) 0 "v4"
|
|
MemberName 35(tbufName) 1 "i4"
|
|
MemberName 35(tbufName) 2 "f1"
|
|
MemberName 35(tbufName) 3 "f3"
|
|
MemberName 35(tbufName) 4 "f4"
|
|
MemberName 35(tbufName) 5 "f5"
|
|
MemberName 35(tbufName) 6 "f6"
|
|
MemberName 35(tbufName) 7 "f7"
|
|
MemberName 35(tbufName) 8 "m1"
|
|
MemberName 35(tbufName) 9 "m2"
|
|
MemberName 35(tbufName) 10 "m3"
|
|
MemberName 35(tbufName) 11 "m4"
|
|
Name 37 ""
|
|
Decorate 9(@entryPointOutput) Location 0
|
|
Decorate 11(input) Location 0
|
|
MemberDecorate 13 0 Offset 0
|
|
Decorate 13 Block
|
|
Decorate 15 DescriptorSet 0
|
|
MemberDecorate 22 0 Offset 0
|
|
Decorate 22 BufferBlock
|
|
Decorate 24 DescriptorSet 0
|
|
MemberDecorate 28(cbufName) 0 Offset 0
|
|
MemberDecorate 28(cbufName) 1 Offset 20
|
|
Decorate 28(cbufName) Block
|
|
Decorate 30 DescriptorSet 10
|
|
Decorate 30 Binding 2
|
|
MemberDecorate 35(tbufName) 0 Offset 16
|
|
MemberDecorate 35(tbufName) 1 Offset 48
|
|
MemberDecorate 35(tbufName) 2 Offset 60
|
|
MemberDecorate 35(tbufName) 3 Offset 64
|
|
MemberDecorate 35(tbufName) 4 Offset 68
|
|
MemberDecorate 35(tbufName) 5 Offset 72
|
|
MemberDecorate 35(tbufName) 6 Offset 76
|
|
MemberDecorate 35(tbufName) 7 Offset 80
|
|
MemberDecorate 35(tbufName) 8 RowMajor
|
|
MemberDecorate 35(tbufName) 8 Offset 96
|
|
MemberDecorate 35(tbufName) 8 MatrixStride 16
|
|
MemberDecorate 35(tbufName) 9 ColMajor
|
|
MemberDecorate 35(tbufName) 9 Offset 160
|
|
MemberDecorate 35(tbufName) 9 MatrixStride 16
|
|
MemberDecorate 35(tbufName) 10 RowMajor
|
|
MemberDecorate 35(tbufName) 10 Offset 208
|
|
MemberDecorate 35(tbufName) 10 MatrixStride 16
|
|
MemberDecorate 35(tbufName) 11 RowMajor
|
|
MemberDecorate 35(tbufName) 11 Offset 272
|
|
MemberDecorate 35(tbufName) 11 MatrixStride 16
|
|
Decorate 35(tbufName) BufferBlock
|
|
Decorate 37 DescriptorSet 0
|
|
Decorate 37 Binding 8
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Output 7(fvec4)
|
|
9(@entryPointOutput): 8(ptr) Variable Output
|
|
10: TypePointer Input 7(fvec4)
|
|
11(input): 10(ptr) Variable Input
|
|
13: TypeStruct 7(fvec4)
|
|
14: TypePointer Uniform 13(struct)
|
|
15: 14(ptr) Variable Uniform
|
|
16: TypeInt 32 1
|
|
17: 16(int) Constant 0
|
|
18: TypePointer Uniform 7(fvec4)
|
|
22: TypeStruct 7(fvec4)
|
|
23: TypePointer Uniform 22(struct)
|
|
24: 23(ptr) Variable Uniform
|
|
28(cbufName): TypeStruct 7(fvec4) 16(int)
|
|
29: TypePointer Uniform 28(cbufName)
|
|
30: 29(ptr) Variable Uniform
|
|
34: TypeMatrix 7(fvec4) 3
|
|
35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34
|
|
36: TypePointer Uniform 35(tbufName)
|
|
37: 36(ptr) Variable Uniform
|
|
4(PixelShaderFunction): 2 Function None 3
|
|
5: Label
|
|
12: 7(fvec4) Load 11(input)
|
|
19: 18(ptr) AccessChain 15 17
|
|
20: 7(fvec4) Load 19
|
|
21: 7(fvec4) FAdd 12 20
|
|
25: 18(ptr) AccessChain 24 17
|
|
26: 7(fvec4) Load 25
|
|
27: 7(fvec4) FAdd 21 26
|
|
31: 18(ptr) AccessChain 30 17
|
|
32: 7(fvec4) Load 31
|
|
33: 7(fvec4) FAdd 27 32
|
|
38: 18(ptr) AccessChain 37 17
|
|
39: 7(fvec4) Load 38
|
|
40: 7(fvec4) FAdd 33 39
|
|
Store 9(@entryPointOutput) 40
|
|
Return
|
|
FunctionEnd
|