HLSL: Emulate write-to-output on return-from-entry-point, for return value.
This fixes issue #487 and #480. It also correctly handles output parameters from the entry point.
This commit is contained in:
parent
81cd764b5f
commit
6a70eb7161
91 changed files with 5158 additions and 4130 deletions
|
|
@ -51,12 +51,15 @@ Shader version: 450
|
|||
0:176 'inF2' (in 4-component vector of float)
|
||||
0:176 'inI0' (in 4-component vector of int)
|
||||
0:? Sequence
|
||||
0:217 Branch: Return with expression
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:217 Sequence
|
||||
0:217 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (out 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:217 Branch: Return
|
||||
0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
|
||||
0:226 Function Parameters:
|
||||
0:226 'inF0' (in 2X2 matrix of float)
|
||||
|
|
@ -180,12 +183,15 @@ Shader version: 450
|
|||
0:176 'inF2' (in 4-component vector of float)
|
||||
0:176 'inI0' (in 4-component vector of int)
|
||||
0:? Sequence
|
||||
0:217 Branch: Return with expression
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:217 Sequence
|
||||
0:217 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (out 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:217 Branch: Return
|
||||
0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
|
||||
0:226 Function Parameters:
|
||||
0:226 'inF0' (in 2X2 matrix of float)
|
||||
|
|
@ -255,12 +261,12 @@ Shader version: 450
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 119
|
||||
// Id's are bound by 121
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "VertexShaderFunction"
|
||||
EntryPoint Vertex 4 "VertexShaderFunction" 85
|
||||
Name 4 "VertexShaderFunction"
|
||||
Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;"
|
||||
Name 11 "inF0"
|
||||
|
|
@ -294,18 +300,19 @@ Shader version: 450
|
|||
Name 65 "inF0"
|
||||
Name 66 "inF1"
|
||||
Name 67 "inF2"
|
||||
Name 101 "gs_ua"
|
||||
Name 102 "gs_ub"
|
||||
Name 103 "gs_uc"
|
||||
Name 106 "gs_ua2"
|
||||
Name 107 "gs_ub2"
|
||||
Name 108 "gs_uc2"
|
||||
Name 111 "gs_ua3"
|
||||
Name 112 "gs_ub3"
|
||||
Name 113 "gs_uc3"
|
||||
Name 116 "gs_ua4"
|
||||
Name 117 "gs_ub4"
|
||||
Name 118 "gs_uc4"
|
||||
Name 85 "@entryPointOutput"
|
||||
Name 103 "gs_ua"
|
||||
Name 104 "gs_ub"
|
||||
Name 105 "gs_uc"
|
||||
Name 108 "gs_ua2"
|
||||
Name 109 "gs_ub2"
|
||||
Name 110 "gs_uc2"
|
||||
Name 113 "gs_ua3"
|
||||
Name 114 "gs_ub3"
|
||||
Name 115 "gs_uc3"
|
||||
Name 118 "gs_ua4"
|
||||
Name 119 "gs_ub4"
|
||||
Name 120 "gs_uc4"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
|
|
@ -339,37 +346,40 @@ Shader version: 450
|
|||
77: 23(fvec2) ConstantComposite 75 76
|
||||
80: 6(float) Constant 1077936128
|
||||
81: 34(fvec3) ConstantComposite 75 76 80
|
||||
84: 6(float) Constant 1082130432
|
||||
85: 61(fvec4) ConstantComposite 75 76 80 84
|
||||
87: 23(fvec2) ConstantComposite 76 76
|
||||
88: 45 ConstantComposite 87 87
|
||||
91: 34(fvec3) ConstantComposite 80 80 80
|
||||
92: 53 ConstantComposite 91 91 91
|
||||
95: 61(fvec4) ConstantComposite 84 84 84 84
|
||||
96: 62 ConstantComposite 95 95 95 95
|
||||
99: TypeInt 32 0
|
||||
100: TypePointer Private 99(int)
|
||||
101(gs_ua): 100(ptr) Variable Private
|
||||
102(gs_ub): 100(ptr) Variable Private
|
||||
103(gs_uc): 100(ptr) Variable Private
|
||||
104: TypeVector 99(int) 2
|
||||
105: TypePointer Private 104(ivec2)
|
||||
106(gs_ua2): 105(ptr) Variable Private
|
||||
107(gs_ub2): 105(ptr) Variable Private
|
||||
108(gs_uc2): 105(ptr) Variable Private
|
||||
109: TypeVector 99(int) 3
|
||||
110: TypePointer Private 109(ivec3)
|
||||
111(gs_ua3): 110(ptr) Variable Private
|
||||
112(gs_ub3): 110(ptr) Variable Private
|
||||
113(gs_uc3): 110(ptr) Variable Private
|
||||
114: TypeVector 99(int) 4
|
||||
115: TypePointer Private 114(ivec4)
|
||||
116(gs_ua4): 115(ptr) Variable Private
|
||||
117(gs_ub4): 115(ptr) Variable Private
|
||||
118(gs_uc4): 115(ptr) Variable Private
|
||||
84: TypePointer Output 61(fvec4)
|
||||
85(@entryPointOutput): 84(ptr) Variable Output
|
||||
86: 6(float) Constant 1082130432
|
||||
87: 61(fvec4) ConstantComposite 75 76 80 86
|
||||
89: 23(fvec2) ConstantComposite 76 76
|
||||
90: 45 ConstantComposite 89 89
|
||||
93: 34(fvec3) ConstantComposite 80 80 80
|
||||
94: 53 ConstantComposite 93 93 93
|
||||
97: 61(fvec4) ConstantComposite 86 86 86 86
|
||||
98: 62 ConstantComposite 97 97 97 97
|
||||
101: TypeInt 32 0
|
||||
102: TypePointer Private 101(int)
|
||||
103(gs_ua): 102(ptr) Variable Private
|
||||
104(gs_ub): 102(ptr) Variable Private
|
||||
105(gs_uc): 102(ptr) Variable Private
|
||||
106: TypeVector 101(int) 2
|
||||
107: TypePointer Private 106(ivec2)
|
||||
108(gs_ua2): 107(ptr) Variable Private
|
||||
109(gs_ub2): 107(ptr) Variable Private
|
||||
110(gs_uc2): 107(ptr) Variable Private
|
||||
111: TypeVector 101(int) 3
|
||||
112: TypePointer Private 111(ivec3)
|
||||
113(gs_ua3): 112(ptr) Variable Private
|
||||
114(gs_ub3): 112(ptr) Variable Private
|
||||
115(gs_uc3): 112(ptr) Variable Private
|
||||
116: TypeVector 101(int) 4
|
||||
117: TypePointer Private 116(ivec4)
|
||||
118(gs_ua4): 117(ptr) Variable Private
|
||||
119(gs_ub4): 117(ptr) Variable Private
|
||||
120(gs_uc4): 117(ptr) Variable Private
|
||||
4(VertexShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
ReturnValue 85
|
||||
Store 85(@entryPointOutput) 87
|
||||
Return
|
||||
FunctionEnd
|
||||
15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10
|
||||
11(inF0): 7(ptr) FunctionParameter
|
||||
|
|
@ -408,19 +418,19 @@ Shader version: 450
|
|||
49(inF1): 46(ptr) FunctionParameter
|
||||
50(inF2): 46(ptr) FunctionParameter
|
||||
52: Label
|
||||
ReturnValue 88
|
||||
ReturnValue 90
|
||||
FunctionEnd
|
||||
59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55
|
||||
56(inF0): 54(ptr) FunctionParameter
|
||||
57(inF1): 54(ptr) FunctionParameter
|
||||
58(inF2): 54(ptr) FunctionParameter
|
||||
60: Label
|
||||
ReturnValue 92
|
||||
ReturnValue 94
|
||||
FunctionEnd
|
||||
68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64
|
||||
65(inF0): 63(ptr) FunctionParameter
|
||||
66(inF1): 63(ptr) FunctionParameter
|
||||
67(inF2): 63(ptr) FunctionParameter
|
||||
69: Label
|
||||
ReturnValue 96
|
||||
ReturnValue 98
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue