mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-13 21:50:06 +00:00
33c7e30860
It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
381 lines
20 KiB
Plaintext
381 lines
20 KiB
Plaintext
hlsl.partialFlattenLocal.vert
|
|
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
|
Shader version: 500
|
|
0:? Sequence
|
|
0:12 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:12 Function Parameters:
|
|
0:12 'pos' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:14 move second child to first child ( temp texture2D)
|
|
0:14 tex: direct index for structure ( temp texture2D)
|
|
0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:14 Constant:
|
|
0:14 0 (const int)
|
|
0:14 'tex' ( uniform texture2D)
|
|
0:15 move second child to first child ( temp 3-component vector of float)
|
|
0:15 direct index ( temp 3-component vector of float)
|
|
0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:15 Constant:
|
|
0:15 1 (const int)
|
|
0:15 Constant:
|
|
0:15 0 (const int)
|
|
0:15 Constant:
|
|
0:15 0.000000
|
|
0:15 0.000000
|
|
0:15 0.000000
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 direct index ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
|
|
0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 0.000000
|
|
0:16 1.000000
|
|
0:17 move second child to first child ( temp float)
|
|
0:17 x: direct index for structure ( temp float)
|
|
0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:17 Constant:
|
|
0:17 3 (const int)
|
|
0:17 Constant:
|
|
0:17 1.000000
|
|
0:18 move second child to first child ( temp int)
|
|
0:18 n: direct index for structure ( temp int)
|
|
0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:18 Constant:
|
|
0:18 4 (const int)
|
|
0:18 Constant:
|
|
0:18 3 (const int)
|
|
0:20 Sequence
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 'i' ( temp int)
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:20 Loop with condition tested first
|
|
0:20 Loop Condition
|
|
0:20 Compare Less Than ( temp bool)
|
|
0:20 'i' ( temp int)
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Loop Body
|
|
0:? Sequence
|
|
0:21 add second child into first child ( temp 2-component vector of float)
|
|
0:21 vector swizzle ( temp 2-component vector of float)
|
|
0:21 indirect index ( temp 3-component vector of float)
|
|
0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 'i' ( temp int)
|
|
0:21 Sequence
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 indirect index ( temp 2-component vector of float)
|
|
0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
|
|
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:21 Constant:
|
|
0:21 2 (const int)
|
|
0:21 'i' ( temp int)
|
|
0:20 Loop Terminal Expression
|
|
0:20 Pre-Increment ( temp int)
|
|
0:20 'i' ( temp int)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:26 Branch: Return with expression
|
|
0:26 add ( temp 4-component vector of float)
|
|
0:26 'pos' ( in 4-component vector of float)
|
|
0:26 Construct vec4 ( temp 4-component vector of float)
|
|
0:26 direct index ( temp 3-component vector of float)
|
|
0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:26 Constant:
|
|
0:26 1 (const int)
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 Constant:
|
|
0:26 0.000000
|
|
0:12 Function Definition: main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:12 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'pos' ( temp 4-component vector of float)
|
|
0:? 'pos' (layout( location=0) in 4-component vector of float)
|
|
0:12 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
|
0:12 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'pos' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
|
0:? 'pos' (layout( location=0) in 4-component vector of float)
|
|
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
Shader version: 500
|
|
0:? Sequence
|
|
0:12 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:12 Function Parameters:
|
|
0:12 'pos' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:14 move second child to first child ( temp texture2D)
|
|
0:14 tex: direct index for structure ( temp texture2D)
|
|
0:14 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:14 Constant:
|
|
0:14 0 (const int)
|
|
0:14 'tex' ( uniform texture2D)
|
|
0:15 move second child to first child ( temp 3-component vector of float)
|
|
0:15 direct index ( temp 3-component vector of float)
|
|
0:15 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:15 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:15 Constant:
|
|
0:15 1 (const int)
|
|
0:15 Constant:
|
|
0:15 0 (const int)
|
|
0:15 Constant:
|
|
0:15 0.000000
|
|
0:15 0.000000
|
|
0:15 0.000000
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 direct index ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
|
|
0:16 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 0.000000
|
|
0:16 1.000000
|
|
0:17 move second child to first child ( temp float)
|
|
0:17 x: direct index for structure ( temp float)
|
|
0:17 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:17 Constant:
|
|
0:17 3 (const int)
|
|
0:17 Constant:
|
|
0:17 1.000000
|
|
0:18 move second child to first child ( temp int)
|
|
0:18 n: direct index for structure ( temp int)
|
|
0:18 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:18 Constant:
|
|
0:18 4 (const int)
|
|
0:18 Constant:
|
|
0:18 3 (const int)
|
|
0:20 Sequence
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 'i' ( temp int)
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:20 Loop with condition tested first
|
|
0:20 Loop Condition
|
|
0:20 Compare Less Than ( temp bool)
|
|
0:20 'i' ( temp int)
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Loop Body
|
|
0:? Sequence
|
|
0:21 add second child into first child ( temp 2-component vector of float)
|
|
0:21 vector swizzle ( temp 2-component vector of float)
|
|
0:21 indirect index ( temp 3-component vector of float)
|
|
0:21 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 'i' ( temp int)
|
|
0:21 Sequence
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 indirect index ( temp 2-component vector of float)
|
|
0:21 uv: direct index for structure ( temp 2-element array of 2-component vector of float)
|
|
0:21 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:21 Constant:
|
|
0:21 2 (const int)
|
|
0:21 'i' ( temp int)
|
|
0:20 Loop Terminal Expression
|
|
0:20 Pre-Increment ( temp int)
|
|
0:20 'i' ( temp int)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:24 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:24 'packed' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:26 Branch: Return with expression
|
|
0:26 add ( temp 4-component vector of float)
|
|
0:26 'pos' ( in 4-component vector of float)
|
|
0:26 Construct vec4 ( temp 4-component vector of float)
|
|
0:26 direct index ( temp 3-component vector of float)
|
|
0:26 pos: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:26 'packed2' ( temp structure{ temp texture2D tex, temp 3-element array of 3-component vector of float pos, temp 2-element array of 2-component vector of float uv, temp float x, temp int n})
|
|
0:26 Constant:
|
|
0:26 1 (const int)
|
|
0:26 Constant:
|
|
0:26 0 (const int)
|
|
0:26 Constant:
|
|
0:26 0.000000
|
|
0:12 Function Definition: main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:12 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'pos' ( temp 4-component vector of float)
|
|
0:? 'pos' (layout( location=0) in 4-component vector of float)
|
|
0:12 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
|
0:12 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'pos' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
|
0:? 'pos' (layout( location=0) in 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 93
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 86 89
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 11 "@main(vf4;"
|
|
Name 10 "pos"
|
|
Name 22 "Packed"
|
|
MemberName 22(Packed) 0 "tex"
|
|
MemberName 22(Packed) 1 "pos"
|
|
MemberName 22(Packed) 2 "uv"
|
|
MemberName 22(Packed) 3 "x"
|
|
MemberName 22(Packed) 4 "n"
|
|
Name 24 "packed"
|
|
Name 27 "tex"
|
|
Name 47 "i"
|
|
Name 72 "packed2"
|
|
Name 84 "pos"
|
|
Name 86 "pos"
|
|
Name 89 "@entryPointOutput"
|
|
Name 90 "param"
|
|
Decorate 27(tex) Binding 0
|
|
Decorate 27(tex) DescriptorSet 0
|
|
Decorate 86(pos) Location 0
|
|
Decorate 89(@entryPointOutput) BuiltIn Position
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
9: TypeFunction 7(fvec4) 8(ptr)
|
|
13: TypeImage 6(float) 2D sampled format:Unknown
|
|
14: TypeVector 6(float) 3
|
|
15: TypeInt 32 0
|
|
16: 15(int) Constant 3
|
|
17: TypeArray 14(fvec3) 16
|
|
18: TypeVector 6(float) 2
|
|
19: 15(int) Constant 2
|
|
20: TypeArray 18(fvec2) 19
|
|
21: TypeInt 32 1
|
|
22(Packed): TypeStruct 13 17 20 6(float) 21(int)
|
|
23: TypePointer Function 22(Packed)
|
|
25: 21(int) Constant 0
|
|
26: TypePointer UniformConstant 13
|
|
27(tex): 26(ptr) Variable UniformConstant
|
|
29: TypePointer Function 13
|
|
31: 21(int) Constant 1
|
|
32: 6(float) Constant 0
|
|
33: 14(fvec3) ConstantComposite 32 32 32
|
|
34: TypePointer Function 14(fvec3)
|
|
36: 21(int) Constant 2
|
|
37: 6(float) Constant 1065353216
|
|
38: 18(fvec2) ConstantComposite 32 37
|
|
39: TypePointer Function 18(fvec2)
|
|
41: 21(int) Constant 3
|
|
42: TypePointer Function 6(float)
|
|
44: 21(int) Constant 4
|
|
45: TypePointer Function 21(int)
|
|
54: TypeBool
|
|
64: 15(int) Constant 0
|
|
67: 15(int) Constant 1
|
|
85: TypePointer Input 7(fvec4)
|
|
86(pos): 85(ptr) Variable Input
|
|
88: TypePointer Output 7(fvec4)
|
|
89(@entryPointOutput): 88(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
84(pos): 8(ptr) Variable Function
|
|
90(param): 8(ptr) Variable Function
|
|
87: 7(fvec4) Load 86(pos)
|
|
Store 84(pos) 87
|
|
91: 7(fvec4) Load 84(pos)
|
|
Store 90(param) 91
|
|
92: 7(fvec4) FunctionCall 11(@main(vf4;) 90(param)
|
|
Store 89(@entryPointOutput) 92
|
|
Return
|
|
FunctionEnd
|
|
11(@main(vf4;): 7(fvec4) Function None 9
|
|
10(pos): 8(ptr) FunctionParameter
|
|
12: Label
|
|
24(packed): 23(ptr) Variable Function
|
|
47(i): 45(ptr) Variable Function
|
|
72(packed2): 23(ptr) Variable Function
|
|
28: 13 Load 27(tex)
|
|
30: 29(ptr) AccessChain 24(packed) 25
|
|
Store 30 28
|
|
35: 34(ptr) AccessChain 24(packed) 31 25
|
|
Store 35 33
|
|
40: 39(ptr) AccessChain 24(packed) 36 25
|
|
Store 40 38
|
|
43: 42(ptr) AccessChain 24(packed) 41
|
|
Store 43 37
|
|
46: 45(ptr) AccessChain 24(packed) 44
|
|
Store 46 41
|
|
Store 47(i) 25
|
|
Branch 48
|
|
48: Label
|
|
LoopMerge 50 51 None
|
|
Branch 52
|
|
52: Label
|
|
53: 21(int) Load 47(i)
|
|
55: 54(bool) SLessThan 53 31
|
|
BranchConditional 55 49 50
|
|
49: Label
|
|
56: 21(int) Load 47(i)
|
|
57: 21(int) Load 47(i)
|
|
58: 39(ptr) AccessChain 24(packed) 36 57
|
|
59: 18(fvec2) Load 58
|
|
60: 34(ptr) AccessChain 24(packed) 31 56
|
|
61: 14(fvec3) Load 60
|
|
62: 18(fvec2) VectorShuffle 61 61 0 1
|
|
63: 18(fvec2) FAdd 62 59
|
|
65: 42(ptr) AccessChain 24(packed) 31 56 64
|
|
66: 6(float) CompositeExtract 63 0
|
|
Store 65 66
|
|
68: 42(ptr) AccessChain 24(packed) 31 56 67
|
|
69: 6(float) CompositeExtract 63 1
|
|
Store 68 69
|
|
Branch 51
|
|
51: Label
|
|
70: 21(int) Load 47(i)
|
|
71: 21(int) IAdd 70 31
|
|
Store 47(i) 71
|
|
Branch 48
|
|
50: Label
|
|
73: 22(Packed) Load 24(packed)
|
|
Store 72(packed2) 73
|
|
74: 7(fvec4) Load 10(pos)
|
|
75: 34(ptr) AccessChain 72(packed2) 31 25
|
|
76: 14(fvec3) Load 75
|
|
77: 6(float) CompositeExtract 76 0
|
|
78: 6(float) CompositeExtract 76 1
|
|
79: 6(float) CompositeExtract 76 2
|
|
80: 7(fvec4) CompositeConstruct 77 78 79 32
|
|
81: 7(fvec4) FAdd 74 80
|
|
ReturnValue 81
|
|
FunctionEnd
|