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.
113 lines
4.4 KiB
Plaintext
113 lines
4.4 KiB
Plaintext
hlsl.opaque-type-bug.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:6 Function Definition: TexFunc(t21;vf3; ( temp void)
|
|
0:6 Function Parameters:
|
|
0:6 't2D' ( const (read only) texture2D)
|
|
0:6 'RGB' ( out 3-component vector of float)
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 3-component vector of float)
|
|
0:7 'RGB' ( out 3-component vector of float)
|
|
0:7 Constant:
|
|
0:7 0.000000
|
|
0:7 0.000000
|
|
0:7 0.000000
|
|
0:12 Function Definition: @main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:15 Function Call: TexFunc(t21;vf3; ( temp void)
|
|
0:15 'MyTexture' (layout( binding=0) uniform texture2D)
|
|
0:15 'final_RGB' ( temp 3-component vector of float)
|
|
0:12 Function Definition: main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:12 Function Call: @main( ( temp void)
|
|
0:? Linker Objects
|
|
0:? 'MyTexture' (layout( binding=0) uniform texture2D)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:6 Function Definition: TexFunc(t21;vf3; ( temp void)
|
|
0:6 Function Parameters:
|
|
0:6 't2D' ( const (read only) texture2D)
|
|
0:6 'RGB' ( out 3-component vector of float)
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 3-component vector of float)
|
|
0:7 'RGB' ( out 3-component vector of float)
|
|
0:7 Constant:
|
|
0:7 0.000000
|
|
0:7 0.000000
|
|
0:7 0.000000
|
|
0:12 Function Definition: @main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:15 Function Call: TexFunc(t21;vf3; ( temp void)
|
|
0:15 'MyTexture' (layout( binding=0) uniform texture2D)
|
|
0:15 'final_RGB' ( temp 3-component vector of float)
|
|
0:12 Function Definition: main( ( temp void)
|
|
0:12 Function Parameters:
|
|
0:? Sequence
|
|
0:12 Function Call: @main( ( temp void)
|
|
0:? Linker Objects
|
|
0:? 'MyTexture' (layout( binding=0) uniform texture2D)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 27
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 13 "TexFunc(t21;vf3;"
|
|
Name 11 "t2D"
|
|
Name 12 "RGB"
|
|
Name 15 "@main("
|
|
Name 20 "MyTexture"
|
|
Name 22 "final_RGB"
|
|
Name 23 "param"
|
|
Decorate 20(MyTexture) DescriptorSet 0
|
|
Decorate 20(MyTexture) Binding 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeImage 6(float) 2D sampled format:Unknown
|
|
8: TypeVector 6(float) 3
|
|
9: TypePointer Function 8(fvec3)
|
|
10: TypeFunction 2 7 9(ptr)
|
|
17: 6(float) Constant 0
|
|
18: 8(fvec3) ConstantComposite 17 17 17
|
|
19: TypePointer UniformConstant 7
|
|
20(MyTexture): 19(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
26: 2 FunctionCall 15(@main()
|
|
Return
|
|
FunctionEnd
|
|
13(TexFunc(t21;vf3;): 2 Function None 10
|
|
11(t2D): 7 FunctionParameter
|
|
12(RGB): 9(ptr) FunctionParameter
|
|
14: Label
|
|
Store 12(RGB) 18
|
|
Return
|
|
FunctionEnd
|
|
15(@main(): 2 Function None 3
|
|
16: Label
|
|
22(final_RGB): 9(ptr) Variable Function
|
|
23(param): 9(ptr) Variable Function
|
|
21: 7 Load 20(MyTexture)
|
|
24: 2 FunctionCall 13(TexFunc(t21;vf3;) 21 23(param)
|
|
25: 8(fvec3) Load 23(param)
|
|
Store 22(final_RGB) 25
|
|
Return
|
|
FunctionEnd
|