HLSL: Force flat (nointerp) onto integer fragment inputs.

Addresses #940.
This commit is contained in:
John Kessenich 2017-06-20 03:20:59 -06:00
parent f02c8e6ba1
commit 54596ff99e
21 changed files with 151 additions and 108 deletions

View file

@ -30,16 +30,16 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp int)
0:? 'a1' ( temp int)
0:? 'a1' (layout( location=0) in int)
0:? 'a1' (layout( location=0) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a2' ( temp int)
0:? 'a2' (layout( location=1) in int)
0:? 'a2' (layout( location=1) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a3' ( temp int)
0:? 'a3' (layout( location=2) in int)
0:? 'a3' (layout( location=2) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a4' ( temp int)
0:? 'a4' (layout( location=3) in int)
0:? 'a4' (layout( location=3) flat in int)
0:7 move second child to first child ( temp int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
@ -49,10 +49,10 @@ gl_FragCoord origin is upper left
0:? 'a4' ( temp int)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out int)
0:? 'a1' (layout( location=0) in int)
0:? 'a2' (layout( location=1) in int)
0:? 'a3' (layout( location=2) in int)
0:? 'a4' (layout( location=3) in int)
0:? 'a1' (layout( location=0) flat in int)
0:? 'a2' (layout( location=1) flat in int)
0:? 'a3' (layout( location=2) flat in int)
0:? 'a4' (layout( location=3) flat in int)
Linked fragment stage:
@ -89,16 +89,16 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp int)
0:? 'a1' ( temp int)
0:? 'a1' (layout( location=0) in int)
0:? 'a1' (layout( location=0) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a2' ( temp int)
0:? 'a2' (layout( location=1) in int)
0:? 'a2' (layout( location=1) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a3' ( temp int)
0:? 'a3' (layout( location=2) in int)
0:? 'a3' (layout( location=2) flat in int)
0:7 move second child to first child ( temp int)
0:? 'a4' ( temp int)
0:? 'a4' (layout( location=3) in int)
0:? 'a4' (layout( location=3) flat in int)
0:7 move second child to first child ( temp int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
@ -108,10 +108,10 @@ gl_FragCoord origin is upper left
0:? 'a4' ( temp int)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out int)
0:? 'a1' (layout( location=0) in int)
0:? 'a2' (layout( location=1) in int)
0:? 'a3' (layout( location=2) in int)
0:? 'a4' (layout( location=3) in int)
0:? 'a1' (layout( location=0) flat in int)
0:? 'a2' (layout( location=1) flat in int)
0:? 'a3' (layout( location=2) flat in int)
0:? 'a4' (layout( location=3) flat in int)
// Module Version 10000
// Generated by (magic number): 80001
@ -142,9 +142,13 @@ gl_FragCoord origin is upper left
Name 49 "param"
Name 51 "param"
Name 53 "param"
Decorate 34(a1) Flat
Decorate 34(a1) Location 0
Decorate 37(a2) Flat
Decorate 37(a2) Location 1
Decorate 40(a3) Flat
Decorate 40(a3) Location 2
Decorate 43(a4) Flat
Decorate 43(a4) Location 3
Decorate 46(@entryPointOutput) Location 0
2: TypeVoid