mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30: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
219 lines
12 KiB
Plaintext
219 lines
12 KiB
Plaintext
hlsl.flattenSubset.frag
|
|
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:30 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:30 'vpos' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:33 move second child to first child ( temp sampler)
|
|
0:33 ss: direct index for structure ( temp sampler)
|
|
0:33 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
|
|
0:33 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:33 Constant:
|
|
0:33 2 (const int)
|
|
0:33 Constant:
|
|
0:33 2 (const int)
|
|
0:33 'samp' ( uniform sampler)
|
|
0:34 move second child to first child ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:34 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:34 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
|
|
0:34 Constant:
|
|
0:34 5 (const int)
|
|
0:34 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:35 Branch: Return with expression
|
|
0:35 texture ( temp 4-component vector of float)
|
|
0:35 Construct combined texture-sampler ( temp sampler2D)
|
|
0:35 'tex' ( uniform texture2D)
|
|
0:35 ss: direct index for structure ( temp sampler)
|
|
0:35 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
|
|
0:35 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:35 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
|
|
0:35 Constant:
|
|
0:35 5 (const int)
|
|
0:35 Constant:
|
|
0:35 2 (const int)
|
|
0:35 Constant:
|
|
0:35 2 (const int)
|
|
0:35 Constant:
|
|
0:35 0.500000
|
|
0:35 0.500000
|
|
0:30 Function Definition: main( ( temp void)
|
|
0:30 Function Parameters:
|
|
0:? Sequence
|
|
0:30 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'vpos' ( temp 4-component vector of float)
|
|
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
|
0:30 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:30 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'vpos' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'samp' ( uniform sampler)
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:30 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:30 'vpos' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:33 move second child to first child ( temp sampler)
|
|
0:33 ss: direct index for structure ( temp sampler)
|
|
0:33 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
|
|
0:33 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:33 Constant:
|
|
0:33 2 (const int)
|
|
0:33 Constant:
|
|
0:33 2 (const int)
|
|
0:33 'samp' ( uniform sampler)
|
|
0:34 move second child to first child ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:34 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:34 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
|
|
0:34 Constant:
|
|
0:34 5 (const int)
|
|
0:34 's1' ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:35 Branch: Return with expression
|
|
0:35 texture ( temp 4-component vector of float)
|
|
0:35 Construct combined texture-sampler ( temp sampler2D)
|
|
0:35 'tex' ( uniform texture2D)
|
|
0:35 ss: direct index for structure ( temp sampler)
|
|
0:35 s0: direct index for structure ( temp structure{ temp int x, temp int y, temp sampler ss})
|
|
0:35 resources: direct index for structure ( temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a})
|
|
0:35 's2' ( temp structure{ temp int a1, temp int a2, temp int a3, temp int a4, temp int a5, temp structure{ temp float b, temp sampler samplerState, temp structure{ temp int x, temp int y, temp sampler ss} s0, temp int a} resources})
|
|
0:35 Constant:
|
|
0:35 5 (const int)
|
|
0:35 Constant:
|
|
0:35 2 (const int)
|
|
0:35 Constant:
|
|
0:35 2 (const int)
|
|
0:35 Constant:
|
|
0:35 0.500000
|
|
0:35 0.500000
|
|
0:30 Function Definition: main( ( temp void)
|
|
0:30 Function Parameters:
|
|
0:? Sequence
|
|
0:30 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'vpos' ( temp 4-component vector of float)
|
|
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
|
0:30 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:30 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'vpos' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'samp' ( uniform sampler)
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 54
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 47 50
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 11 "@main(vf4;"
|
|
Name 10 "vpos"
|
|
Name 15 "S0"
|
|
MemberName 15(S0) 0 "x"
|
|
MemberName 15(S0) 1 "y"
|
|
MemberName 15(S0) 2 "ss"
|
|
Name 16 "S1"
|
|
MemberName 16(S1) 0 "b"
|
|
MemberName 16(S1) 1 "samplerState"
|
|
MemberName 16(S1) 2 "s0"
|
|
MemberName 16(S1) 3 "a"
|
|
Name 18 "s1"
|
|
Name 21 "samp"
|
|
Name 25 "S2"
|
|
MemberName 25(S2) 0 "a1"
|
|
MemberName 25(S2) 1 "a2"
|
|
MemberName 25(S2) 2 "a3"
|
|
MemberName 25(S2) 3 "a4"
|
|
MemberName 25(S2) 4 "a5"
|
|
MemberName 25(S2) 5 "resources"
|
|
Name 27 "s2"
|
|
Name 33 "tex"
|
|
Name 45 "vpos"
|
|
Name 47 "vpos"
|
|
Name 50 "@entryPointOutput"
|
|
Name 51 "param"
|
|
Decorate 21(samp) Binding 0
|
|
Decorate 21(samp) DescriptorSet 0
|
|
Decorate 33(tex) Binding 1
|
|
Decorate 33(tex) DescriptorSet 0
|
|
Decorate 47(vpos) Location 0
|
|
Decorate 50(@entryPointOutput) Location 0
|
|
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: TypeSampler
|
|
14: TypeInt 32 1
|
|
15(S0): TypeStruct 14(int) 14(int) 13
|
|
16(S1): TypeStruct 6(float) 13 15(S0) 14(int)
|
|
17: TypePointer Function 16(S1)
|
|
19: 14(int) Constant 2
|
|
20: TypePointer UniformConstant 13
|
|
21(samp): 20(ptr) Variable UniformConstant
|
|
23: TypePointer Function 13
|
|
25(S2): TypeStruct 14(int) 14(int) 14(int) 14(int) 14(int) 16(S1)
|
|
26: TypePointer Function 25(S2)
|
|
28: 14(int) Constant 5
|
|
31: TypeImage 6(float) 2D sampled format:Unknown
|
|
32: TypePointer UniformConstant 31
|
|
33(tex): 32(ptr) Variable UniformConstant
|
|
37: TypeSampledImage 31
|
|
39: TypeVector 6(float) 2
|
|
40: 6(float) Constant 1056964608
|
|
41: 39(fvec2) ConstantComposite 40 40
|
|
46: TypePointer Input 7(fvec4)
|
|
47(vpos): 46(ptr) Variable Input
|
|
49: TypePointer Output 7(fvec4)
|
|
50(@entryPointOutput): 49(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
45(vpos): 8(ptr) Variable Function
|
|
51(param): 8(ptr) Variable Function
|
|
48: 7(fvec4) Load 47(vpos)
|
|
Store 45(vpos) 48
|
|
52: 7(fvec4) Load 45(vpos)
|
|
Store 51(param) 52
|
|
53: 7(fvec4) FunctionCall 11(@main(vf4;) 51(param)
|
|
Store 50(@entryPointOutput) 53
|
|
Return
|
|
FunctionEnd
|
|
11(@main(vf4;): 7(fvec4) Function None 9
|
|
10(vpos): 8(ptr) FunctionParameter
|
|
12: Label
|
|
18(s1): 17(ptr) Variable Function
|
|
27(s2): 26(ptr) Variable Function
|
|
22: 13 Load 21(samp)
|
|
24: 23(ptr) AccessChain 18(s1) 19 19
|
|
Store 24 22
|
|
29: 16(S1) Load 18(s1)
|
|
30: 17(ptr) AccessChain 27(s2) 28
|
|
Store 30 29
|
|
34: 31 Load 33(tex)
|
|
35: 23(ptr) AccessChain 27(s2) 28 19 19
|
|
36: 13 Load 35
|
|
38: 37 SampledImage 34 36
|
|
42: 7(fvec4) ImageSampleImplicitLod 38 41
|
|
ReturnValue 42
|
|
FunctionEnd
|