forked from KhronosGroup/glslang
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request KhronosGroup#2597 from greg-lunarg/interp0
Fix SPIR-V for HLSL EvaluateAttribute* of interpolants in structs
- Loading branch information
Showing
8 changed files
with
162 additions
and
304 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
hlsl.intrinsics.evalfns.frag | ||
// Module Version 10000 | ||
// Generated by (magic number): 8000a | ||
// Id's are bound by 274 | ||
|
||
Capability Shader | ||
Capability InterpolationFunction | ||
1: ExtInstImport "GLSL.std.450" | ||
MemoryModel Logical GLSL450 | ||
EntryPoint Fragment 4 "main" 138 142 146 150 154 157 161 | ||
ExecutionMode 4 OriginUpperLeft | ||
Source HLSL 500 | ||
Name 4 "main" | ||
Name 138 "inF1" | ||
Name 142 "inF2" | ||
Name 146 "inF3" | ||
Name 150 "inF4" | ||
Name 154 "inI2" | ||
Name 157 "i.vPos" | ||
Name 161 "@entryPointOutput" | ||
Decorate 138(inF1) Location 0 | ||
Decorate 142(inF2) Location 1 | ||
Decorate 146(inF3) Location 2 | ||
Decorate 150(inF4) Location 3 | ||
Decorate 154(inI2) Flat | ||
Decorate 154(inI2) Location 4 | ||
Decorate 157(i.vPos) Location 5 | ||
Decorate 161(@entryPointOutput) Location 0 | ||
2: TypeVoid | ||
3: TypeFunction 2 | ||
6: TypeFloat 32 | ||
8: TypeVector 6(float) 2 | ||
10: TypeVector 6(float) 3 | ||
12: TypeVector 6(float) 4 | ||
14: TypeInt 32 1 | ||
15: TypeVector 14(int) 2 | ||
30: 6(float) Constant 3204448256 | ||
31: 6(float) Constant 3179282432 | ||
32: 8(fvec2) ConstantComposite 30 31 | ||
36: 6(float) Constant 0 | ||
37: 6(float) Constant 1031798784 | ||
38: 8(fvec2) ConstantComposite 36 37 | ||
42: 6(float) Constant 1044381696 | ||
43: 6(float) Constant 3200253952 | ||
44: 8(fvec2) ConstantComposite 42 43 | ||
48: 6(float) Constant 1054867456 | ||
49: 8(fvec2) ConstantComposite 48 30 | ||
53: 14(int) Constant 28 | ||
64: TypeInt 32 0 | ||
65: 64(int) Constant 3 | ||
137: TypePointer Input 6(float) | ||
138(inF1): 137(ptr) Variable Input | ||
141: TypePointer Input 8(fvec2) | ||
142(inF2): 141(ptr) Variable Input | ||
145: TypePointer Input 10(fvec3) | ||
146(inF3): 145(ptr) Variable Input | ||
149: TypePointer Input 12(fvec4) | ||
150(inF4): 149(ptr) Variable Input | ||
153: TypePointer Input 15(ivec2) | ||
154(inI2): 153(ptr) Variable Input | ||
157(i.vPos): 141(ptr) Variable Input | ||
160: TypePointer Output 12(fvec4) | ||
161(@entryPointOutput): 160(ptr) Variable Output | ||
273: 15(ivec2) ConstantComposite 53 53 | ||
4(main): 2 Function None 3 | ||
5: Label | ||
155: 15(ivec2) Load 154(inI2) | ||
183: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 138(inF1) 32 | ||
185: 8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 142(inF2) 38 | ||
187: 10(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 146(inF3) 44 | ||
189: 12(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 150(inF4) 49 | ||
193: 15(ivec2) ShiftLeftLogical 155 273 | ||
195: 15(ivec2) ShiftRightArithmetic 193 273 | ||
196: 8(fvec2) ConvertSToF 195 | ||
197: 8(fvec2) VectorTimesScalar 196 37 | ||
198: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 138(inF1) 197 | ||
200: 6(float) FAdd 183 198 | ||
202: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 138(inF1) 65 | ||
204: 6(float) FAdd 200 202 | ||
206: 8(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 142(inF2) 65 | ||
208: 8(fvec2) FAdd 185 206 | ||
210: 10(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 146(inF3) 65 | ||
212: 10(fvec3) FAdd 187 210 | ||
214: 12(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 150(inF4) 65 | ||
216: 12(fvec4) FAdd 189 214 | ||
219: 14(int) CompositeExtract 155 0 | ||
220: 64(int) Bitcast 219 | ||
221: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 138(inF1) 220 | ||
223: 6(float) FAdd 204 221 | ||
225: 6(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 138(inF1) | ||
227: 6(float) FAdd 223 225 | ||
229: 8(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 142(inF2) | ||
231: 8(fvec2) FAdd 208 229 | ||
233: 10(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 146(inF3) | ||
235: 10(fvec3) FAdd 212 233 | ||
237: 12(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 150(inF4) | ||
239: 12(fvec4) FAdd 216 237 | ||
242: 8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 157(i.vPos) 38 | ||
244: 8(fvec2) FAdd 231 242 | ||
247: 8(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 157(i.vPos) 65 | ||
249: 8(fvec2) FAdd 244 247 | ||
252: 8(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 157(i.vPos) | ||
254: 8(fvec2) FAdd 249 252 | ||
257: 6(float) CompositeExtract 254 1 | ||
259: 6(float) CompositeExtract 235 2 | ||
261: 6(float) CompositeExtract 239 3 | ||
262: 12(fvec4) CompositeConstruct 227 257 259 261 | ||
Store 161(@entryPointOutput) 262 | ||
Return | ||
FunctionEnd |
Oops, something went wrong.