HLSL: Stop flattening non-IO structs containing opaques.
This makes struct returns from functions work, but breaks structs containing arrays, due to limitations in subsequent transforms in spirv-opt. This is expected to be fixed soon.
This commit is contained in:
parent
471bfed062
commit
dc005fb083
18 changed files with 1610 additions and 1419 deletions
|
|
@ -1,54 +1,71 @@
|
|||
hlsl.flattenOpaque.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:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
||||
0:15 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:15 's' ( in structure{ temp sampler s2D})
|
||||
0:? Sequence
|
||||
0:16 Branch: Return with expression
|
||||
0:16 texture ( temp 4-component vector of float)
|
||||
0:16 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:16 'tex' ( uniform texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:16 s2D: direct index for structure ( temp sampler)
|
||||
0:16 's' ( in structure{ temp sampler s2D})
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
||||
0:20 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:20 's' ( in structure{ temp sampler s2D})
|
||||
0:20 'f2' ( in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:21 Branch: Return with expression
|
||||
0:21 texture ( temp 4-component vector of float)
|
||||
0:21 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:21 'tex' ( uniform texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:21 s2D: direct index for structure ( temp sampler)
|
||||
0:21 's' ( in structure{ temp sampler s2D})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 'f2' ( in 2-component vector of float)
|
||||
0:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
||||
0:25 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:25 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:? Sequence
|
||||
0:26 Branch: Return with expression
|
||||
0:26 texture ( temp 4-component vector of float)
|
||||
0:26 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:26 tex: direct index for structure ( temp texture2D)
|
||||
0:26 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 s2D: direct index for structure ( temp sampler)
|
||||
0:26 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
||||
0:30 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:30 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:30 'f2' ( in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:31 Branch: Return with expression
|
||||
0:31 texture ( temp 4-component vector of float)
|
||||
0:31 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:31 tex: direct index for structure ( temp texture2D)
|
||||
0:31 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 s2D: direct index for structure ( temp sampler)
|
||||
0:31 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'f2' ( in 2-component vector of float)
|
||||
0:35 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:35 Function Parameters:
|
||||
|
|
@ -58,18 +75,60 @@ gl_FragCoord origin is upper left
|
|||
0:37 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:36 Comma ( temp structure{ temp sampler s2D})
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp sampler)
|
||||
0:36 s2D: direct index for structure ( temp sampler)
|
||||
0:36 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:36 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:37 Comma ( temp structure{ temp sampler s2D})
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp sampler)
|
||||
0:37 s2D: direct index for structure ( temp sampler)
|
||||
0:37 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:37 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:38 Comma ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child ( temp sampler)
|
||||
0:38 s2D: direct index for structure ( temp sampler)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:38 move second child to first child ( temp texture2D)
|
||||
0:38 tex: direct index for structure ( temp texture2D)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Constant:
|
||||
0:38 1 (const int)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:39 Comma ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp sampler)
|
||||
0:39 s2D: direct index for structure ( temp sampler)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:39 move second child to first child ( temp texture2D)
|
||||
0:39 tex: direct index for structure ( temp texture2D)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
|
|
@ -95,51 +154,67 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
||||
0:15 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:15 's' ( in structure{ temp sampler s2D})
|
||||
0:? Sequence
|
||||
0:16 Branch: Return with expression
|
||||
0:16 texture ( temp 4-component vector of float)
|
||||
0:16 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:16 'tex' ( uniform texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:16 s2D: direct index for structure ( temp sampler)
|
||||
0:16 's' ( in structure{ temp sampler s2D})
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
||||
0:20 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:20 's' ( in structure{ temp sampler s2D})
|
||||
0:20 'f2' ( in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:21 Branch: Return with expression
|
||||
0:21 texture ( temp 4-component vector of float)
|
||||
0:21 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:21 'tex' ( uniform texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:21 s2D: direct index for structure ( temp sampler)
|
||||
0:21 's' ( in structure{ temp sampler s2D})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 'f2' ( in 2-component vector of float)
|
||||
0:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
||||
0:25 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:25 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:? Sequence
|
||||
0:26 Branch: Return with expression
|
||||
0:26 texture ( temp 4-component vector of float)
|
||||
0:26 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:26 tex: direct index for structure ( temp texture2D)
|
||||
0:26 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 s2D: direct index for structure ( temp sampler)
|
||||
0:26 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
||||
0:30 Function Parameters:
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:30 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:30 'f2' ( in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:31 Branch: Return with expression
|
||||
0:31 texture ( temp 4-component vector of float)
|
||||
0:31 Construct combined texture-sampler ( temp sampler2D)
|
||||
0:? 's.tex' ( in texture2D)
|
||||
0:? 's.s2D' ( in sampler)
|
||||
0:31 tex: direct index for structure ( temp texture2D)
|
||||
0:31 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 s2D: direct index for structure ( temp sampler)
|
||||
0:31 's' ( in structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'f2' ( in 2-component vector of float)
|
||||
0:35 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:35 Function Parameters:
|
||||
|
|
@ -149,18 +224,60 @@ gl_FragCoord origin is upper left
|
|||
0:37 add ( temp 4-component vector of float)
|
||||
0:36 add ( temp 4-component vector of float)
|
||||
0:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:36 Comma ( temp structure{ temp sampler s2D})
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child ( temp sampler)
|
||||
0:36 s2D: direct index for structure ( temp sampler)
|
||||
0:36 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:36 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:37 Comma ( temp structure{ temp sampler s2D})
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child ( temp sampler)
|
||||
0:37 s2D: direct index for structure ( temp sampler)
|
||||
0:37 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 's.s2D' ( uniform sampler)
|
||||
0:37 'aggShadow' ( temp structure{ temp sampler s2D})
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:38 Comma ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child ( temp sampler)
|
||||
0:38 s2D: direct index for structure ( temp sampler)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:38 move second child to first child ( temp texture2D)
|
||||
0:38 tex: direct index for structure ( temp texture2D)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:38 Constant:
|
||||
0:38 1 (const int)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:38 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:39 Comma ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child ( temp sampler)
|
||||
0:39 s2D: direct index for structure ( temp sampler)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:? 's2.s2D' ( uniform sampler)
|
||||
0:39 move second child to first child ( temp texture2D)
|
||||
0:39 tex: direct index for structure ( temp texture2D)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:? 's2.tex' ( uniform texture2D)
|
||||
0:39 'aggShadow' ( temp structure{ temp sampler s2D, temp texture2D tex})
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
|
|
@ -179,151 +296,183 @@ gl_FragCoord origin is upper left
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 99
|
||||
// Id's are bound by 122
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 97
|
||||
EntryPoint Fragment 4 "main" 120
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 12 "osCall1(struct-os-p11;"
|
||||
Name 11 "s.s2D"
|
||||
Name 19 "osCall2(struct-os-p11;vf2;"
|
||||
Name 17 "s.s2D"
|
||||
Name 18 "f2"
|
||||
Name 26 "os2Call1(struct-os2-p1-t211;"
|
||||
Name 24 "s.s2D"
|
||||
Name 25 "s.tex"
|
||||
Name 7 "os"
|
||||
MemberName 7(os) 0 "s2D"
|
||||
Name 13 "osCall1(struct-os-p11;"
|
||||
Name 12 "s"
|
||||
Name 20 "osCall2(struct-os-p11;vf2;"
|
||||
Name 18 "s"
|
||||
Name 19 "f2"
|
||||
Name 23 "os2"
|
||||
MemberName 23(os2) 0 "s2D"
|
||||
MemberName 23(os2) 1 "tex"
|
||||
Name 27 "os2Call1(struct-os2-p1-t211;"
|
||||
Name 26 "s"
|
||||
Name 32 "os2Call2(struct-os2-p1-t211;vf2;"
|
||||
Name 29 "s.s2D"
|
||||
Name 30 "s.tex"
|
||||
Name 30 "s"
|
||||
Name 31 "f2"
|
||||
Name 35 "@main("
|
||||
Name 38 "tex"
|
||||
Name 70 "s.s2D"
|
||||
Name 71 "param"
|
||||
Name 74 "param"
|
||||
Name 76 "param"
|
||||
Name 79 "s2.s2D"
|
||||
Name 80 "s2.tex"
|
||||
Name 81 "param"
|
||||
Name 83 "param"
|
||||
Name 87 "param"
|
||||
Name 89 "param"
|
||||
Name 80 "aggShadow"
|
||||
Name 82 "s.s2D"
|
||||
Name 85 "param"
|
||||
Name 88 "aggShadow"
|
||||
Name 91 "param"
|
||||
Name 97 "@entryPointOutput"
|
||||
Name 93 "param"
|
||||
Name 96 "aggShadow"
|
||||
Name 97 "s2.s2D"
|
||||
Name 100 "s2.tex"
|
||||
Name 103 "param"
|
||||
Name 107 "aggShadow"
|
||||
Name 112 "param"
|
||||
Name 114 "param"
|
||||
Name 120 "@entryPointOutput"
|
||||
Decorate 38(tex) DescriptorSet 0
|
||||
Decorate 70(s.s2D) DescriptorSet 0
|
||||
Decorate 79(s2.s2D) DescriptorSet 0
|
||||
Decorate 80(s2.tex) DescriptorSet 0
|
||||
Decorate 97(@entryPointOutput) Location 0
|
||||
Decorate 82(s.s2D) DescriptorSet 0
|
||||
Decorate 97(s2.s2D) DescriptorSet 0
|
||||
Decorate 100(s2.tex) DescriptorSet 0
|
||||
Decorate 120(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeSampler
|
||||
7: TypePointer Function 6
|
||||
8: TypeFloat 32
|
||||
9: TypeVector 8(float) 4
|
||||
10: TypeFunction 9(fvec4) 7(ptr)
|
||||
14: TypeVector 8(float) 2
|
||||
15: TypePointer Function 14(fvec2)
|
||||
16: TypeFunction 9(fvec4) 7(ptr) 15(ptr)
|
||||
21: TypeImage 8(float) 2D sampled format:Unknown
|
||||
22: TypePointer Function 21
|
||||
23: TypeFunction 9(fvec4) 7(ptr) 22(ptr)
|
||||
28: TypeFunction 9(fvec4) 7(ptr) 22(ptr) 15(ptr)
|
||||
34: TypeFunction 9(fvec4)
|
||||
37: TypePointer UniformConstant 21
|
||||
7(os): TypeStruct 6
|
||||
8: TypePointer Function 7(os)
|
||||
9: TypeFloat 32
|
||||
10: TypeVector 9(float) 4
|
||||
11: TypeFunction 10(fvec4) 8(ptr)
|
||||
15: TypeVector 9(float) 2
|
||||
16: TypePointer Function 15(fvec2)
|
||||
17: TypeFunction 10(fvec4) 8(ptr) 16(ptr)
|
||||
22: TypeImage 9(float) 2D sampled format:Unknown
|
||||
23(os2): TypeStruct 6 22
|
||||
24: TypePointer Function 23(os2)
|
||||
25: TypeFunction 10(fvec4) 24(ptr)
|
||||
29: TypeFunction 10(fvec4) 24(ptr) 16(ptr)
|
||||
34: TypeFunction 10(fvec4)
|
||||
37: TypePointer UniformConstant 22
|
||||
38(tex): 37(ptr) Variable UniformConstant
|
||||
41: TypeSampledImage 21
|
||||
43: 8(float) Constant 1045220557
|
||||
44: 8(float) Constant 1050253722
|
||||
45: 14(fvec2) ConstantComposite 43 44
|
||||
69: TypePointer UniformConstant 6
|
||||
70(s.s2D): 69(ptr) Variable UniformConstant
|
||||
79(s2.s2D): 69(ptr) Variable UniformConstant
|
||||
80(s2.tex): 37(ptr) Variable UniformConstant
|
||||
96: TypePointer Output 9(fvec4)
|
||||
97(@entryPointOutput): 96(ptr) Variable Output
|
||||
40: TypeInt 32 1
|
||||
41: 40(int) Constant 0
|
||||
42: TypePointer Function 6
|
||||
45: TypeSampledImage 22
|
||||
47: 9(float) Constant 1045220557
|
||||
48: 9(float) Constant 1050253722
|
||||
49: 15(fvec2) ConstantComposite 47 48
|
||||
61: 40(int) Constant 1
|
||||
62: TypePointer Function 22
|
||||
81: TypePointer UniformConstant 6
|
||||
82(s.s2D): 81(ptr) Variable UniformConstant
|
||||
97(s2.s2D): 81(ptr) Variable UniformConstant
|
||||
100(s2.tex): 37(ptr) Variable UniformConstant
|
||||
119: TypePointer Output 10(fvec4)
|
||||
120(@entryPointOutput): 119(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
98: 9(fvec4) FunctionCall 35(@main()
|
||||
Store 97(@entryPointOutput) 98
|
||||
121: 10(fvec4) FunctionCall 35(@main()
|
||||
Store 120(@entryPointOutput) 121
|
||||
Return
|
||||
FunctionEnd
|
||||
12(osCall1(struct-os-p11;): 9(fvec4) Function None 10
|
||||
11(s.s2D): 7(ptr) FunctionParameter
|
||||
13: Label
|
||||
39: 21 Load 38(tex)
|
||||
40: 6 Load 11(s.s2D)
|
||||
42: 41 SampledImage 39 40
|
||||
46: 9(fvec4) ImageSampleImplicitLod 42 45
|
||||
ReturnValue 46
|
||||
13(osCall1(struct-os-p11;): 10(fvec4) Function None 11
|
||||
12(s): 8(ptr) FunctionParameter
|
||||
14: Label
|
||||
39: 22 Load 38(tex)
|
||||
43: 42(ptr) AccessChain 12(s) 41
|
||||
44: 6 Load 43
|
||||
46: 45 SampledImage 39 44
|
||||
50: 10(fvec4) ImageSampleImplicitLod 46 49
|
||||
ReturnValue 50
|
||||
FunctionEnd
|
||||
19(osCall2(struct-os-p11;vf2;): 9(fvec4) Function None 16
|
||||
17(s.s2D): 7(ptr) FunctionParameter
|
||||
18(f2): 15(ptr) FunctionParameter
|
||||
20: Label
|
||||
49: 21 Load 38(tex)
|
||||
50: 6 Load 17(s.s2D)
|
||||
51: 41 SampledImage 49 50
|
||||
52: 14(fvec2) Load 18(f2)
|
||||
53: 9(fvec4) ImageSampleImplicitLod 51 52
|
||||
ReturnValue 53
|
||||
20(osCall2(struct-os-p11;vf2;): 10(fvec4) Function None 17
|
||||
18(s): 8(ptr) FunctionParameter
|
||||
19(f2): 16(ptr) FunctionParameter
|
||||
21: Label
|
||||
53: 22 Load 38(tex)
|
||||
54: 42(ptr) AccessChain 18(s) 41
|
||||
55: 6 Load 54
|
||||
56: 45 SampledImage 53 55
|
||||
57: 15(fvec2) Load 19(f2)
|
||||
58: 10(fvec4) ImageSampleImplicitLod 56 57
|
||||
ReturnValue 58
|
||||
FunctionEnd
|
||||
26(os2Call1(struct-os2-p1-t211;): 9(fvec4) Function None 23
|
||||
24(s.s2D): 7(ptr) FunctionParameter
|
||||
25(s.tex): 22(ptr) FunctionParameter
|
||||
27: Label
|
||||
56: 21 Load 25(s.tex)
|
||||
57: 6 Load 24(s.s2D)
|
||||
58: 41 SampledImage 56 57
|
||||
59: 9(fvec4) ImageSampleImplicitLod 58 45
|
||||
ReturnValue 59
|
||||
27(os2Call1(struct-os2-p1-t211;): 10(fvec4) Function None 25
|
||||
26(s): 24(ptr) FunctionParameter
|
||||
28: Label
|
||||
63: 62(ptr) AccessChain 26(s) 61
|
||||
64: 22 Load 63
|
||||
65: 42(ptr) AccessChain 26(s) 41
|
||||
66: 6 Load 65
|
||||
67: 45 SampledImage 64 66
|
||||
68: 10(fvec4) ImageSampleImplicitLod 67 49
|
||||
ReturnValue 68
|
||||
FunctionEnd
|
||||
32(os2Call2(struct-os2-p1-t211;vf2;): 9(fvec4) Function None 28
|
||||
29(s.s2D): 7(ptr) FunctionParameter
|
||||
30(s.tex): 22(ptr) FunctionParameter
|
||||
31(f2): 15(ptr) FunctionParameter
|
||||
32(os2Call2(struct-os2-p1-t211;vf2;): 10(fvec4) Function None 29
|
||||
30(s): 24(ptr) FunctionParameter
|
||||
31(f2): 16(ptr) FunctionParameter
|
||||
33: Label
|
||||
62: 21 Load 30(s.tex)
|
||||
63: 6 Load 29(s.s2D)
|
||||
64: 41 SampledImage 62 63
|
||||
65: 14(fvec2) Load 31(f2)
|
||||
66: 9(fvec4) ImageSampleImplicitLod 64 65
|
||||
ReturnValue 66
|
||||
71: 62(ptr) AccessChain 30(s) 61
|
||||
72: 22 Load 71
|
||||
73: 42(ptr) AccessChain 30(s) 41
|
||||
74: 6 Load 73
|
||||
75: 45 SampledImage 72 74
|
||||
76: 15(fvec2) Load 31(f2)
|
||||
77: 10(fvec4) ImageSampleImplicitLod 75 76
|
||||
ReturnValue 77
|
||||
FunctionEnd
|
||||
35(@main(): 9(fvec4) Function None 34
|
||||
35(@main(): 10(fvec4) Function None 34
|
||||
36: Label
|
||||
71(param): 7(ptr) Variable Function
|
||||
74(param): 7(ptr) Variable Function
|
||||
76(param): 15(ptr) Variable Function
|
||||
81(param): 7(ptr) Variable Function
|
||||
83(param): 22(ptr) Variable Function
|
||||
87(param): 7(ptr) Variable Function
|
||||
89(param): 22(ptr) Variable Function
|
||||
91(param): 15(ptr) Variable Function
|
||||
72: 6 Load 70(s.s2D)
|
||||
Store 71(param) 72
|
||||
73: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 71(param)
|
||||
75: 6 Load 70(s.s2D)
|
||||
Store 74(param) 75
|
||||
Store 76(param) 45
|
||||
77: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 74(param) 76(param)
|
||||
78: 9(fvec4) FAdd 73 77
|
||||
82: 6 Load 79(s2.s2D)
|
||||
Store 81(param) 82
|
||||
84: 21 Load 80(s2.tex)
|
||||
Store 83(param) 84
|
||||
85: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 81(param) 83(param)
|
||||
86: 9(fvec4) FAdd 78 85
|
||||
88: 6 Load 79(s2.s2D)
|
||||
Store 87(param) 88
|
||||
90: 21 Load 80(s2.tex)
|
||||
Store 89(param) 90
|
||||
Store 91(param) 45
|
||||
92: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 87(param) 89(param) 91(param)
|
||||
93: 9(fvec4) FAdd 86 92
|
||||
ReturnValue 93
|
||||
80(aggShadow): 8(ptr) Variable Function
|
||||
85(param): 8(ptr) Variable Function
|
||||
88(aggShadow): 8(ptr) Variable Function
|
||||
91(param): 8(ptr) Variable Function
|
||||
93(param): 16(ptr) Variable Function
|
||||
96(aggShadow): 24(ptr) Variable Function
|
||||
103(param): 24(ptr) Variable Function
|
||||
107(aggShadow): 24(ptr) Variable Function
|
||||
112(param): 24(ptr) Variable Function
|
||||
114(param): 16(ptr) Variable Function
|
||||
83: 6 Load 82(s.s2D)
|
||||
84: 42(ptr) AccessChain 80(aggShadow) 41
|
||||
Store 84 83
|
||||
86: 7(os) Load 80(aggShadow)
|
||||
Store 85(param) 86
|
||||
87: 10(fvec4) FunctionCall 13(osCall1(struct-os-p11;) 85(param)
|
||||
89: 6 Load 82(s.s2D)
|
||||
90: 42(ptr) AccessChain 88(aggShadow) 41
|
||||
Store 90 89
|
||||
92: 7(os) Load 88(aggShadow)
|
||||
Store 91(param) 92
|
||||
Store 93(param) 49
|
||||
94: 10(fvec4) FunctionCall 20(osCall2(struct-os-p11;vf2;) 91(param) 93(param)
|
||||
95: 10(fvec4) FAdd 87 94
|
||||
98: 6 Load 97(s2.s2D)
|
||||
99: 42(ptr) AccessChain 96(aggShadow) 41
|
||||
Store 99 98
|
||||
101: 22 Load 100(s2.tex)
|
||||
102: 62(ptr) AccessChain 96(aggShadow) 61
|
||||
Store 102 101
|
||||
104: 23(os2) Load 96(aggShadow)
|
||||
Store 103(param) 104
|
||||
105: 10(fvec4) FunctionCall 27(os2Call1(struct-os2-p1-t211;) 103(param)
|
||||
106: 10(fvec4) FAdd 95 105
|
||||
108: 6 Load 97(s2.s2D)
|
||||
109: 42(ptr) AccessChain 107(aggShadow) 41
|
||||
Store 109 108
|
||||
110: 22 Load 100(s2.tex)
|
||||
111: 62(ptr) AccessChain 107(aggShadow) 61
|
||||
Store 111 110
|
||||
113: 23(os2) Load 107(aggShadow)
|
||||
Store 112(param) 113
|
||||
Store 114(param) 49
|
||||
115: 10(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 112(param) 114(param)
|
||||
116: 10(fvec4) FAdd 106 115
|
||||
ReturnValue 116
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue