Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
54596ff9
Commit
54596ff9
authored
Jun 20, 2017
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Force flat (nointerp) onto integer fragment inputs.
Addresses #940.
parent
f02c8e6b
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
151 additions
and
108 deletions
+151
-108
hlsl.array.frag.out
Test/baseResults/hlsl.array.frag.out
+5
-4
hlsl.getsampleposition.dx10.frag.out
Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+5
-4
hlsl.intrinsics.double.frag.out
Test/baseResults/hlsl.intrinsics.double.frag.out
+10
-8
hlsl.intrinsics.evalfns.frag.out
Test/baseResults/hlsl.intrinsics.evalfns.frag.out
+5
-4
hlsl.intrinsics.negative.frag.out
Test/baseResults/hlsl.intrinsics.negative.frag.out
+4
-4
hlsl.precedence2.frag.out
Test/baseResults/hlsl.precedence2.frag.out
+20
-16
hlsl.struct.split.assign.frag.out
Test/baseResults/hlsl.struct.split.assign.frag.out
+5
-4
hlsl.structbuffer.append.fn.frag.out
Test/baseResults/hlsl.structbuffer.append.fn.frag.out
+5
-4
hlsl.structbuffer.append.frag.out
Test/baseResults/hlsl.structbuffer.append.frag.out
+5
-4
hlsl.structbuffer.atomics.frag.out
Test/baseResults/hlsl.structbuffer.atomics.frag.out
+5
-4
hlsl.structbuffer.byte.frag.out
Test/baseResults/hlsl.structbuffer.byte.frag.out
+5
-4
hlsl.structbuffer.coherent.frag.out
Test/baseResults/hlsl.structbuffer.coherent.frag.out
+5
-4
hlsl.structbuffer.fn.frag.out
Test/baseResults/hlsl.structbuffer.fn.frag.out
+5
-4
hlsl.structbuffer.frag.out
Test/baseResults/hlsl.structbuffer.frag.out
+5
-4
hlsl.structbuffer.incdec.frag.out
Test/baseResults/hlsl.structbuffer.incdec.frag.out
+5
-4
hlsl.structbuffer.rw.frag.out
Test/baseResults/hlsl.structbuffer.rw.frag.out
+5
-4
hlsl.structbuffer.rwbyte.frag.out
Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+5
-4
hlsl.switch.frag.out
Test/baseResults/hlsl.switch.frag.out
+10
-8
Types.h
glslang/Include/Types.h
+17
-1
hlslParseHelper.cpp
hlsl/hlslParseHelper.cpp
+19
-14
hlslParseHelper.h
hlsl/hlslParseHelper.h
+1
-1
No files found.
Test/baseResults/hlsl.array.frag.out
View file @
54596ff9
...
...
@@ -57,7 +57,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:8 move second child to first child ( temp int)
0:? 'i' ( temp int)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:8 move second child to first child ( temp 3-element array of 4-component vector of float)
0:? 'input' ( temp 3-element array of 4-component vector of float)
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
...
...
@@ -69,7 +69,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
...
...
@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:8 move second child to first child ( temp int)
0:? 'i' ( temp int)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:8 move second child to first child ( temp 3-element array of 4-component vector of float)
0:? 'input' ( temp 3-element array of 4-component vector of float)
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
...
...
@@ -146,7 +146,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
// Module Version 10000
...
...
@@ -185,6 +185,7 @@ gl_FragCoord origin is upper left
MemberDecorate 26($Global) 1 Offset 64
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
Decorate 68(i) Flat
Decorate 68(i) Location 0
Decorate 72(input) Location 1
Decorate 75(@entryPointOutput) Location 0
...
...
Test/baseResults/hlsl.getsampleposition.dx10.frag.out
View file @
54596ff9
...
...
@@ -260,7 +260,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:13 move second child to first child ( temp int)
0:? 'sample' ( temp int)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
0:13 Sequence
0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
...
...
@@ -284,7 +284,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
Linked fragment stage:
...
...
@@ -551,7 +551,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:13 move second child to first child ( temp int)
0:? 'sample' ( temp int)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
0:13 Sequence
0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
...
...
@@ -575,7 +575,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -619,6 +619,7 @@ gl_FragCoord origin is upper left
Name 220 "g_sSamp"
Decorate 23(g_tTex2dmsf4) DescriptorSet 0
Decorate 142(g_tTex2dmsf4a) DescriptorSet 0
Decorate 204(sample) Flat
Decorate 204(sample) Location 0
Decorate 211(Color) Location 0
Decorate 215(Depth) BuiltIn FragDepth
...
...
Test/baseResults/hlsl.intrinsics.double.frag.out
View file @
54596ff9
...
...
@@ -53,10 +53,10 @@ gl_FragCoord origin is upper left
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:5 move second child to first child ( temp uint)
0:? 'inU1a' ( temp uint)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:5 move second child to first child ( temp uint)
0:? 'inU1b' ( temp uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
0:5 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float)
...
...
@@ -76,8 +76,8 @@ gl_FragCoord origin is upper left
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV3' (layout( location=4) in 3-component vector of double)
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
Linked fragment stage:
...
...
@@ -137,10 +137,10 @@ gl_FragCoord origin is upper left
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:5 move second child to first child ( temp uint)
0:? 'inU1a' ( temp uint)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:5 move second child to first child ( temp uint)
0:? 'inU1b' ( temp uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
0:5 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float)
...
...
@@ -160,8 +160,8 @@ gl_FragCoord origin is upper left
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV3' (layout( location=4) in 3-component vector of double)
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -217,7 +217,9 @@ gl_FragCoord origin is upper left
Decorate 54(inDV2) Location 3
Decorate 58(inDV3) Location 4
Decorate 62(inDV4) Location 6
Decorate 66(inU1a) Flat
Decorate 66(inU1a) Location 8
Decorate 69(inU1b) Flat
Decorate 69(inU1b) Location 9
Decorate 72(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.intrinsics.evalfns.frag.out
View file @
54596ff9
...
...
@@ -60,7 +60,7 @@ gl_FragCoord origin is upper left
0:? 'inF4' (layout( location=3) in 4-component vector of float)
0:3 move second child to first child ( temp 2-component vector of int)
0:? 'inI2' ( temp 2-component vector of int)
0:? 'inI2' (layout( location=4) in 2-component vector of int)
0:? 'inI2' (layout( location=4)
flat
in 2-component vector of int)
0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void)
0:? 'inF1' ( temp float)
0:? 'inF2' ( temp 2-component vector of float)
...
...
@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF3' (layout( location=2) in 3-component vector of float)
0:? 'inF4' (layout( location=3) in 4-component vector of float)
0:? 'inI2' (layout( location=4) in 2-component vector of int)
0:? 'inI2' (layout( location=4)
flat
in 2-component vector of int)
Linked fragment stage:
...
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
0:? 'inF4' (layout( location=3) in 4-component vector of float)
0:3 move second child to first child ( temp 2-component vector of int)
0:? 'inI2' ( temp 2-component vector of int)
0:? 'inI2' (layout( location=4) in 2-component vector of int)
0:? 'inI2' (layout( location=4)
flat
in 2-component vector of int)
0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void)
0:? 'inF1' ( temp float)
0:? 'inF2' ( temp 2-component vector of float)
...
...
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF3' (layout( location=2) in 3-component vector of float)
0:? 'inF4' (layout( location=3) in 4-component vector of float)
0:? 'inI2' (layout( location=4) in 2-component vector of int)
0:? 'inI2' (layout( location=4)
flat
in 2-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -190,6 +190,7 @@ gl_FragCoord origin is upper left
Decorate 55(inF2) Location 1
Decorate 59(inF3) Location 2
Decorate 63(inF4) Location 3
Decorate 67(inI2) Flat
Decorate 67(inI2) Location 4
2: TypeVoid
3: TypeFunction 2
...
...
Test/baseResults/hlsl.intrinsics.negative.frag.out
View file @
54596ff9
...
...
@@ -374,7 +374,7 @@ ERROR: node is still EOpNull!
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:80 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( temp 4-component vector of int)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:? 'inI0' (layout( location=3)
flat
in 4-component vector of int)
0:80 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
...
...
@@ -518,7 +518,7 @@ ERROR: node is still EOpNull!
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:? 'inI0' (layout( location=3)
flat
in 4-component vector of int)
Linked fragment stage:
...
...
@@ -837,7 +837,7 @@ ERROR: node is still EOpNull!
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:80 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( temp 4-component vector of int)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:? 'inI0' (layout( location=3)
flat
in 4-component vector of int)
0:80 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
...
...
@@ -981,6 +981,6 @@ ERROR: node is still EOpNull!
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:? 'inI0' (layout( location=3)
flat
in 4-component vector of int)
SPIR-V is not generated for failed compile or link
Test/baseResults/hlsl.precedence2.frag.out
View file @
54596ff9
...
...
@@ -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
...
...
Test/baseResults/hlsl.struct.split.assign.frag.out
View file @
54596ff9
...
...
@@ -20,7 +20,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp int)
0:? 'i' ( temp int)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:7 Sequence
0:7 move second child to first child ( temp float)
0:7 f: direct index for structure ( temp float)
...
...
@@ -110,7 +110,7 @@ gl_FragCoord origin is upper left
0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
...
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp int)
0:? 'i' ( temp int)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:7 Sequence
0:7 move second child to first child ( temp float)
0:7 f: direct index for structure ( temp float)
...
...
@@ -229,7 +229,7 @@ gl_FragCoord origin is upper left
0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'i' (layout( location=0) in int)
0:? 'i' (layout( location=0)
flat
in int)
0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
...
...
@@ -261,6 +261,7 @@ gl_FragCoord origin is upper left
Name 67 "@entryPointOutput"
Name 68 "param"
Name 70 "param"
Decorate 32(i) Flat
Decorate 32(i) Location 0
Decorate 39(input) Location 1
Decorate 48(input_pos) BuiltIn FragCoord
...
...
Test/baseResults/hlsl.structbuffer.append.fn.frag.out
View file @
54596ff9
...
...
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:19 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:19 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -135,7 +135,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:19 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:19 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -147,7 +147,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
Decorate 50(sbuf_a@count) DescriptorSet 0
Decorate 51(sbuf_c) DescriptorSet 0
Decorate 52(sbuf_c@count) DescriptorSet 0
Decorate 58(pos) Flat
Decorate 58(pos) Location 0
Decorate 61(@entryPointOutput) Location 0
MemberDecorate 65(sbuf_a@count) 0 Offset 0
...
...
Test/baseResults/hlsl.structbuffer.append.frag.out
View file @
54596ff9
...
...
@@ -45,7 +45,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -57,7 +57,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -109,7 +109,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -121,7 +121,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -158,6 +158,7 @@ gl_FragCoord origin is upper left
Decorate 22(sbuf_a@count) DescriptorSet 0
Decorate 36(sbuf_c) DescriptorSet 0
Decorate 37(sbuf_c@count) DescriptorSet 0
Decorate 48(pos) Flat
Decorate 48(pos) Location 0
Decorate 51(@entryPointOutput) Location 0
Decorate 55(sbuf_unused) DescriptorSet 0
...
...
Test/baseResults/hlsl.structbuffer.atomics.frag.out
View file @
54596ff9
...
...
@@ -224,7 +224,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -463,7 +463,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -471,7 +471,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -498,6 +498,7 @@ gl_FragCoord origin is upper left
MemberDecorate 15(sbuf) 0 Offset 0
Decorate 15(sbuf) BufferBlock
Decorate 17(sbuf) DescriptorSet 0
Decorate 80(pos) Flat
Decorate 80(pos) Location 0
Decorate 83(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.byte.frag.out
View file @
54596ff9
...
...
@@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -157,7 +157,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -313,7 +313,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -321,7 +321,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -352,6 +352,7 @@ gl_FragCoord origin is upper left
MemberDecorate 16(sbuf) 0 Offset 0
Decorate 16(sbuf) BufferBlock
Decorate 18(sbuf) DescriptorSet 0
Decorate 107(pos) Flat
Decorate 107(pos) Location 0
Decorate 110(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.coherent.frag.out
View file @
54596ff9
...
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -83,7 +83,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -173,7 +173,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -217,6 +217,7 @@ gl_FragCoord origin is upper left
MemberDecorate 30(sbuf) 0 Offset 0
Decorate 30(sbuf) BufferBlock
Decorate 32(sbuf) DescriptorSet 0
Decorate 71(pos) Flat
Decorate 71(pos) Location 0
Decorate 74(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.fn.frag.out
View file @
54596ff9
...
...
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:20 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:20 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -64,7 +64,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:20 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:20 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -135,7 +135,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
Decorate 48(sbuf2@count) DescriptorSet 0
Decorate 50(sbuf) DescriptorSet 0
Decorate 50(sbuf) Binding 10
Decorate 63(pos) Flat
Decorate 63(pos) Location 0
Decorate 66(@entryPointOutput) Location 0
MemberDecorate 70(sbuf2@count) 0 Offset 0
...
...
Test/baseResults/hlsl.structbuffer.frag.out
View file @
54596ff9
...
...
@@ -80,7 +80,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -89,7 +89,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -176,7 +176,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -185,7 +185,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -238,6 +238,7 @@ gl_FragCoord origin is upper left
MemberDecorate 59(sbuf2) 0 Offset 0
Decorate 59(sbuf2) BufferBlock
Decorate 61(sbuf2) DescriptorSet 0
Decorate 89(pos) Flat
Decorate 89(pos) Location 0
Decorate 92(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.incdec.frag.out
View file @
54596ff9
...
...
@@ -85,7 +85,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -97,7 +97,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -189,7 +189,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -201,7 +201,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -242,6 +242,7 @@ gl_FragCoord origin is upper left
Decorate 34(sbuf_rw_i@count) BufferBlock
Decorate 36(sbuf_rw_i@count) DescriptorSet 0
Decorate 43(sbuf_rw_d@count) DescriptorSet 0
Decorate 63(pos) Flat
Decorate 63(pos) Location 0
Decorate 66(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.rw.frag.out
View file @
54596ff9
...
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -83,7 +83,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -173,7 +173,7 @@ gl_FragCoord origin is upper left
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -213,6 +213,7 @@ gl_FragCoord origin is upper left
MemberDecorate 30(sbuf) 0 Offset 0
Decorate 30(sbuf) BufferBlock
Decorate 32(sbuf) DescriptorSet 0
Decorate 71(pos) Flat
Decorate 71(pos) Location 0
Decorate 74(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
View file @
54596ff9
...
...
@@ -490,7 +490,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -498,7 +498,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
Linked fragment stage:
...
...
@@ -995,7 +995,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:5 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
0:5 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
...
...
@@ -1003,7 +1003,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) in uint)
0:? 'pos' (layout( location=0)
flat
in uint)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -1037,6 +1037,7 @@ gl_FragCoord origin is upper left
MemberDecorate 16(sbuf) 0 Offset 0
Decorate 16(sbuf) BufferBlock
Decorate 18(sbuf) DescriptorSet 0
Decorate 233(pos) Flat
Decorate 233(pos) Location 0
Decorate 236(@entryPointOutput) Location 0
2: TypeVoid
...
...
Test/baseResults/hlsl.switch.frag.out
View file @
54596ff9
...
...
@@ -129,10 +129,10 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
0:2 move second child to first child ( temp int)
0:? 'c' ( temp int)
0:? 'c' (layout( location=1) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:2 move second child to first child ( temp int)
0:? 'd' ( temp int)
0:? 'd' (layout( location=2) in int)
0:? 'd' (layout( location=2)
flat
in int)
0:2 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
...
...
@@ -142,8 +142,8 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'c' (layout( location=1) in int)
0:? 'd' (layout( location=2) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:? 'd' (layout( location=2)
flat
in int)
Linked fragment stage:
...
...
@@ -279,10 +279,10 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
0:2 move second child to first child ( temp int)
0:? 'c' ( temp int)
0:? 'c' (layout( location=1) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:2 move second child to first child ( temp int)
0:? 'd' ( temp int)
0:? 'd' (layout( location=2) in int)
0:? 'd' (layout( location=2)
flat
in int)
0:2 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
...
...
@@ -292,8 +292,8 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'c' (layout( location=1) in int)
0:? 'd' (layout( location=2) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:? 'd' (layout( location=2)
flat
in int)
// Module Version 10000
// Generated by (magic number): 80001
...
...
@@ -321,7 +321,9 @@ gl_FragCoord origin is upper left
Name 101 "param"
Name 103 "param"
Decorate 88(input) Location 0
Decorate 92(c) Flat
Decorate 92(c) Location 1
Decorate 95(d) Flat
Decorate 95(d) Location 2
Decorate 98(@entryPointOutput) Location 0
2: TypeVoid
...
...
glslang/Include/Types.h
View file @
54596ff9
...
...
@@ -1338,7 +1338,23 @@ public:
#else
virtual
bool
isFloatingDomain
()
const
{
return
basicType
==
EbtFloat
||
basicType
==
EbtDouble
;
}
#endif
virtual
bool
isIntegerDomain
()
const
{
switch
(
basicType
)
{
case
EbtInt
:
case
EbtUint
:
case
EbtInt64
:
case
EbtUint64
:
#ifdef AMD_EXTENSIONS
case
EbtInt16
:
case
EbtUint16
:
#endif
case
EbtBool
:
case
EbtAtomicUint
:
return
true
;
}
return
false
;
}
virtual
bool
isOpaque
()
const
{
return
basicType
==
EbtSampler
||
basicType
==
EbtAtomicUint
;
}
// "Image" is a superset of "Subpass"
...
...
hlsl/hlslParseHelper.cpp
View file @
54596ff9
...
...
@@ -1525,15 +1525,17 @@ void HlslParseContext::fixBuiltInIoType(TType& type)
}
// Variables that correspond to the user-interface in and out of a stage
// (not the built-in interface) are assigned locations and
// registered as a linkage node (part of the stage's external interface).
//
// (not the built-in interface) are
// - assigned locations
// - corrected for interpolation
// * non-floating point values must be nointerpolation
// - registered as a linkage node (part of the stage's external interface).
// Assumes it is called in the order in which locations should be assigned.
void
HlslParseContext
::
assign
Locations
(
TVariable
&
variable
)
void
HlslParseContext
::
assign
ToInterface
(
TVariable
&
variable
)
{
const
auto
assignLocation
=
[
&
](
TVariable
&
variable
)
{
const
TType
&
type
=
variable
.
get
Type
();
const
TQualifier
&
qualifier
=
type
.
getQualifier
();
TType
&
type
=
variable
.
getWritable
Type
();
TQualifier
&
qualifier
=
type
.
getQualifier
();
if
(
qualifier
.
storage
==
EvqVaryingIn
||
qualifier
.
storage
==
EvqVaryingOut
)
{
if
(
qualifier
.
builtIn
==
EbvNone
)
{
// Strip off the outer array dimension for those having an extra one.
...
...
@@ -1552,7 +1554,12 @@ void HlslParseContext::assignLocations(TVariable& variable)
nextOutLocation
+=
size
;
}
}
// Going into the fragment stage, integer-based stuff must be flat/nointerpolation
if
(
type
.
isIntegerDomain
()
&&
qualifier
.
builtIn
==
EbvNone
&&
qualifier
.
storage
==
EvqVaryingIn
&&
language
==
EShLangFragment
)
{
qualifier
.
clearInterpolation
();
qualifier
.
flat
=
true
;
}
trackLinkage
(
variable
);
}
};
...
...
@@ -1914,9 +1921,11 @@ void HlslParseContext::handleEntryPointAttributes(const TSourceLoc& loc, const T
// ret = @shaderEntryPoint(args...);
// oargs = args<that are output>...;
// }
// retType @shaderEntryPoint(args...)
// { body }
//
// The symbol table will still map the original entry point name to the
// the modified function and it
'
s new name:
// the modified function and its new name:
//
// symbol table: shaderEntryPoint -> @shaderEntryPoint
//
...
...
@@ -1966,7 +1975,7 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
split
(
variable
);
}
assign
Locations
(
variable
);
assign
ToInterface
(
variable
);
};
if
(
entryPointOutput
)
makeVariableInOut
(
*
entryPointOutput
);
...
...
@@ -2012,11 +2021,8 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
for
(
int
i
=
0
;
i
<
userFunction
.
getParamCount
();
i
++
)
{
TParameter
&
param
=
userFunction
[
i
];
argVars
.
push_back
(
makeInternalVariable
(
*
param
.
name
,
*
param
.
type
));
argVars
.
back
()
->
getWritableType
().
getQualifier
().
makeTemporary
();
TIntermSymbol
*
arg
=
intermediate
.
addSymbol
(
*
argVars
.
back
());
handleFunctionArgument
(
&
callee
,
callingArgs
,
arg
);
if
(
param
.
type
->
getQualifier
().
isParamInput
())
{
intermediate
.
growAggregate
(
synthBody
,
handleAssign
(
loc
,
EOpAssign
,
arg
,
...
...
@@ -2062,7 +2068,6 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
}
else
{
returnAssign
=
handleAssign
(
loc
,
EOpAssign
,
intermediate
.
addSymbol
(
*
entryPointOutput
),
callReturn
);
}
intermediate
.
growAggregate
(
synthBody
,
returnAssign
);
}
else
intermediate
.
growAggregate
(
synthBody
,
callReturn
);
...
...
@@ -8835,7 +8840,7 @@ void HlslParseContext::addPatchConstantInvocation()
if
(
pcfOutput
->
getType
().
containsBuiltInInterstageIO
(
language
))
split
(
*
pcfOutput
);
assign
Locations
(
*
pcfOutput
);
assign
ToInterface
(
*
pcfOutput
);
TIntermSymbol
*
pcfOutputSym
=
intermediate
.
addSymbol
(
*
pcfOutput
,
loc
);
...
...
hlsl/hlslParseHelper.h
View file @
54596ff9
...
...
@@ -77,7 +77,7 @@ public:
TIntermTyped
*
handleUnaryMath
(
const
TSourceLoc
&
,
const
char
*
str
,
TOperator
op
,
TIntermTyped
*
childNode
);
TIntermTyped
*
handleDotDereference
(
const
TSourceLoc
&
,
TIntermTyped
*
base
,
const
TString
&
field
);
bool
isBuiltInMethod
(
const
TSourceLoc
&
,
TIntermTyped
*
base
,
const
TString
&
field
);
void
assign
Locations
(
TVariable
&
variable
);
void
assign
ToInterface
(
TVariable
&
variable
);
void
handleFunctionDeclarator
(
const
TSourceLoc
&
,
TFunction
&
function
,
bool
prototype
);
TIntermAggregate
*
handleFunctionDefinition
(
const
TSourceLoc
&
,
TFunction
&
,
const
TAttributeMap
&
,
TIntermNode
*&
entryPointTree
);
TIntermNode
*
transformEntryPoint
(
const
TSourceLoc
&
,
TFunction
&
,
const
TAttributeMap
&
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment