glslang/Test/baseResults/hlsl.aliasOpaque.frag.out
John Kessenich bed4e4f7e4 HLSL: Pass opaques by local copy, instead of by interface original.
Also, remove assumption that if something is opaque that it
must be in the UniformConstant storage class.

This allows function declarations to know all parameters will
be in the Function storage class.
2017-09-29 09:57:00 -06:00

208 lines
9.1 KiB
Plaintext
Executable File

hlsl.aliasOpaque.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:12 Function Definition: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:12 Function Parameters:
0:? 's.ss' ( in sampler)
0:? 's.a' ( in float)
0:? 's.tex' ( in texture2D)
0:? Sequence
0:13 Branch: Return with expression
0:13 vector-scale ( temp 4-component vector of float)
0:? 's.a' ( in float)
0:13 texture ( temp 4-component vector of float)
0:13 Construct combined texture-sampler ( temp sampler2D)
0:? 's.tex' ( in texture2D)
0:? 's.ss' ( in sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:17 Function Definition: @main( ( temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:19 move second child to first child ( temp sampler)
0:? 'os.ss' ( temp sampler)
0:19 'gss2' ( uniform sampler)
0:20 move second child to first child ( temp sampler)
0:? 'os.ss' ( temp sampler)
0:20 'gss' ( uniform sampler)
0:21 move second child to first child ( temp texture2D)
0:? 'os.tex' ( temp texture2D)
0:21 'gtex' ( uniform texture2D)
0:22 move second child to first child ( temp float)
0:? 'os.a' ( temp float)
0:22 Constant:
0:22 3.000000
0:28 Branch: Return with expression
0:28 Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:? 'os.ss' ( temp sampler)
0:? 'os.a' ( temp float)
0:? 'os.tex' ( temp texture2D)
0:17 Function Definition: main( ( temp void)
0:17 Function Parameters:
0:? Sequence
0:17 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17 Function Call: @main( ( temp 4-component vector of float)
0:? Linker Objects
0:? 'gss' ( uniform sampler)
0:? 'gss2' ( uniform sampler)
0:? 'gtex' ( uniform texture2D)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:12 Function Parameters:
0:? 's.ss' ( in sampler)
0:? 's.a' ( in float)
0:? 's.tex' ( in texture2D)
0:? Sequence
0:13 Branch: Return with expression
0:13 vector-scale ( temp 4-component vector of float)
0:? 's.a' ( in float)
0:13 texture ( temp 4-component vector of float)
0:13 Construct combined texture-sampler ( temp sampler2D)
0:? 's.tex' ( in texture2D)
0:? 's.ss' ( in sampler)
0:? Constant:
0:? 0.200000
0:? 0.300000
0:17 Function Definition: @main( ( temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:19 move second child to first child ( temp sampler)
0:? 'os.ss' ( temp sampler)
0:19 'gss2' ( uniform sampler)
0:20 move second child to first child ( temp sampler)
0:? 'os.ss' ( temp sampler)
0:20 'gss' ( uniform sampler)
0:21 move second child to first child ( temp texture2D)
0:? 'os.tex' ( temp texture2D)
0:21 'gtex' ( uniform texture2D)
0:22 move second child to first child ( temp float)
0:? 'os.a' ( temp float)
0:22 Constant:
0:22 3.000000
0:28 Branch: Return with expression
0:28 Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
0:? 'os.ss' ( temp sampler)
0:? 'os.a' ( temp float)
0:? 'os.tex' ( temp texture2D)
0:17 Function Definition: main( ( temp void)
0:17 Function Parameters:
0:? Sequence
0:17 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:17 Function Call: @main( ( temp 4-component vector of float)
0:? Linker Objects
0:? 'gss' ( uniform sampler)
0:? 'gss2' ( uniform sampler)
0:? 'gtex' ( uniform texture2D)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 59
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 57
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 17 "osCall(struct-OS-p1-f1-t211;"
Name 14 "s.ss"
Name 15 "s.a"
Name 16 "s.tex"
Name 20 "@main("
Name 35 "os.ss"
Name 37 "gss2"
Name 39 "gss"
Name 41 "os.tex"
Name 43 "gtex"
Name 45 "os.a"
Name 47 "param"
Name 49 "param"
Name 51 "param"
Name 57 "@entryPointOutput"
Decorate 37(gss2) DescriptorSet 0
Decorate 39(gss) DescriptorSet 0
Decorate 43(gtex) DescriptorSet 0
Decorate 57(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeSampler
7: TypePointer Function 6
8: TypeFloat 32
9: TypePointer Function 8(float)
10: TypeImage 8(float) 2D sampled format:Unknown
11: TypePointer Function 10
12: TypeVector 8(float) 4
13: TypeFunction 12(fvec4) 7(ptr) 9(ptr) 11(ptr)
19: TypeFunction 12(fvec4)
25: TypeSampledImage 10
27: TypeVector 8(float) 2
28: 8(float) Constant 1045220557
29: 8(float) Constant 1050253722
30: 27(fvec2) ConstantComposite 28 29
36: TypePointer UniformConstant 6
37(gss2): 36(ptr) Variable UniformConstant
39(gss): 36(ptr) Variable UniformConstant
42: TypePointer UniformConstant 10
43(gtex): 42(ptr) Variable UniformConstant
46: 8(float) Constant 1077936128
56: TypePointer Output 12(fvec4)
57(@entryPointOutput): 56(ptr) Variable Output
4(main): 2 Function None 3
5: Label
58: 12(fvec4) FunctionCall 20(@main()
Store 57(@entryPointOutput) 58
Return
FunctionEnd
17(osCall(struct-OS-p1-f1-t211;): 12(fvec4) Function None 13
14(s.ss): 7(ptr) FunctionParameter
15(s.a): 9(ptr) FunctionParameter
16(s.tex): 11(ptr) FunctionParameter
18: Label
22: 8(float) Load 15(s.a)
23: 10 Load 16(s.tex)
24: 6 Load 14(s.ss)
26: 25 SampledImage 23 24
31: 12(fvec4) ImageSampleImplicitLod 26 30
32: 12(fvec4) VectorTimesScalar 31 22
ReturnValue 32
FunctionEnd
20(@main(): 12(fvec4) Function None 19
21: Label
35(os.ss): 7(ptr) Variable Function
41(os.tex): 11(ptr) Variable Function
45(os.a): 9(ptr) Variable Function
47(param): 7(ptr) Variable Function
49(param): 9(ptr) Variable Function
51(param): 11(ptr) Variable Function
38: 6 Load 37(gss2)
Store 35(os.ss) 38
40: 6 Load 39(gss)
Store 35(os.ss) 40
44: 10 Load 43(gtex)
Store 41(os.tex) 44
Store 45(os.a) 46
48: 6 Load 35(os.ss)
Store 47(param) 48
50: 8(float) Load 45(os.a)
Store 49(param) 50
52: 10 Load 41(os.tex)
Store 51(param) 52
53: 12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 47(param) 49(param) 51(param)
ReturnValue 53
FunctionEnd