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
Hide 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
...
@@ -57,7 +57,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:8 move second child to first child ( temp int)
0:8 move second child to first child ( temp int)
0:? 'i' ( 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: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' ( 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)
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
...
@@ -69,7 +69,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
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:? '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:? '@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)
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
...
@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:8 move second child to first child ( temp int)
0:8 move second child to first child ( temp int)
0:? 'i' ( 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: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' ( 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)
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
...
@@ -146,7 +146,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
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:? '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:? '@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)
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
// Module Version 10000
// Module Version 10000
...
@@ -185,6 +185,7 @@ gl_FragCoord origin is upper left
...
@@ -185,6 +185,7 @@ gl_FragCoord origin is upper left
MemberDecorate 26($Global) 1 Offset 64
MemberDecorate 26($Global) 1 Offset 64
Decorate 26($Global) Block
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
Decorate 28 DescriptorSet 0
Decorate 68(i) Flat
Decorate 68(i) Location 0
Decorate 68(i) Location 0
Decorate 72(input) Location 1
Decorate 72(input) Location 1
Decorate 75(@entryPointOutput) Location 0
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
...
@@ -260,7 +260,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:13 move second child to first child ( temp int)
0:13 move second child to first child ( temp int)
0:? 'sample' ( 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 Sequence
0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth})
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})
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
...
@@ -284,7 +284,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'Depth' ( out float FragDepth)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
Linked fragment stage:
Linked fragment stage:
...
@@ -551,7 +551,7 @@ gl_FragCoord origin is upper left
...
@@ -551,7 +551,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:13 move second child to first child ( temp int)
0:13 move second child to first child ( temp int)
0:? 'sample' ( 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 Sequence
0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth})
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})
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
...
@@ -575,7 +575,7 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Color' (layout( location=0) out 4-component vector of float)
0:? 'Depth' ( out float FragDepth)
0:? 'Depth' ( out float FragDepth)
0:? 'sample' (layout( location=0) in int)
0:? 'sample' (layout( location=0)
flat
in int)
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -619,6 +619,7 @@ gl_FragCoord origin is upper left
...
@@ -619,6 +619,7 @@ gl_FragCoord origin is upper left
Name 220 "g_sSamp"
Name 220 "g_sSamp"
Decorate 23(g_tTex2dmsf4) DescriptorSet 0
Decorate 23(g_tTex2dmsf4) DescriptorSet 0
Decorate 142(g_tTex2dmsf4a) DescriptorSet 0
Decorate 142(g_tTex2dmsf4a) DescriptorSet 0
Decorate 204(sample) Flat
Decorate 204(sample) Location 0
Decorate 204(sample) Location 0
Decorate 211(Color) Location 0
Decorate 211(Color) Location 0
Decorate 215(Depth) BuiltIn FragDepth
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
...
@@ -53,10 +53,10 @@ gl_FragCoord origin is upper left
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'inU1a' ( 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:5 move second child to first child ( temp uint)
0:? 'inU1b' ( 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:5 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp 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
...
@@ -76,8 +76,8 @@ gl_FragCoord origin is upper left
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV3' (layout( location=4) in 3-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:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
Linked fragment stage:
Linked fragment stage:
...
@@ -137,10 +137,10 @@ gl_FragCoord origin is upper left
...
@@ -137,10 +137,10 @@ gl_FragCoord origin is upper left
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'inU1a' ( 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:5 move second child to first child ( temp uint)
0:? 'inU1b' ( 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:5 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp 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
...
@@ -160,8 +160,8 @@ gl_FragCoord origin is upper left
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV2' (layout( location=3) in 2-component vector of double)
0:? 'inDV3' (layout( location=4) in 3-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:? 'inDV4' (layout( location=6) in 4-component vector of double)
0:? 'inU1a' (layout( location=8) in uint)
0:? 'inU1a' (layout( location=8)
flat
in uint)
0:? 'inU1b' (layout( location=9) in uint)
0:? 'inU1b' (layout( location=9)
flat
in uint)
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -217,7 +217,9 @@ gl_FragCoord origin is upper left
...
@@ -217,7 +217,9 @@ gl_FragCoord origin is upper left
Decorate 54(inDV2) Location 3
Decorate 54(inDV2) Location 3
Decorate 58(inDV3) Location 4
Decorate 58(inDV3) Location 4
Decorate 62(inDV4) Location 6
Decorate 62(inDV4) Location 6
Decorate 66(inU1a) Flat
Decorate 66(inU1a) Location 8
Decorate 66(inU1a) Location 8
Decorate 69(inU1b) Flat
Decorate 69(inU1b) Location 9
Decorate 69(inU1b) Location 9
Decorate 72(@entryPointOutput) Location 0
Decorate 72(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.intrinsics.evalfns.frag.out
View file @
54596ff9
...
@@ -60,7 +60,7 @@ gl_FragCoord origin is upper left
...
@@ -60,7 +60,7 @@ gl_FragCoord origin is upper left
0:? 'inF4' (layout( location=3) in 4-component vector of float)
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:3 move second child to first child ( temp 2-component vector of int)
0:? 'inI2' ( 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:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void)
0:? 'inF1' ( temp float)
0:? 'inF1' ( temp float)
0:? 'inF2' ( temp 2-component vector of float)
0:? 'inF2' ( temp 2-component vector of float)
...
@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
...
@@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF3' (layout( location=2) in 3-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:? '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:
Linked fragment stage:
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
0:? 'inF4' (layout( location=3) in 4-component vector of float)
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:3 move second child to first child ( temp 2-component vector of int)
0:? 'inI2' ( 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:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void)
0:? 'inF1' ( temp float)
0:? 'inF1' ( temp float)
0:? 'inF2' ( temp 2-component vector of float)
0:? 'inF2' ( temp 2-component vector of float)
...
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
...
@@ -151,7 +151,7 @@ gl_FragCoord origin is upper left
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF2' (layout( location=1) in 2-component vector of float)
0:? 'inF3' (layout( location=2) in 3-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:? '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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -190,6 +190,7 @@ gl_FragCoord origin is upper left
...
@@ -190,6 +190,7 @@ gl_FragCoord origin is upper left
Decorate 55(inF2) Location 1
Decorate 55(inF2) Location 1
Decorate 59(inF3) Location 2
Decorate 59(inF3) Location 2
Decorate 63(inF4) Location 3
Decorate 63(inF4) Location 3
Decorate 67(inI2) Flat
Decorate 67(inI2) Location 4
Decorate 67(inI2) Location 4
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
...
...
Test/baseResults/hlsl.intrinsics.negative.frag.out
View file @
54596ff9
...
@@ -374,7 +374,7 @@ ERROR: node is still EOpNull!
...
@@ -374,7 +374,7 @@ ERROR: node is still EOpNull!
0:? 'inF2' (layout( location=2) in 4-component vector of float)
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:80 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( 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: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:? '@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)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
...
@@ -518,7 +518,7 @@ ERROR: node is still EOpNull!
...
@@ -518,7 +518,7 @@ ERROR: node is still EOpNull!
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) 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:? '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:
Linked fragment stage:
...
@@ -837,7 +837,7 @@ ERROR: node is still EOpNull!
...
@@ -837,7 +837,7 @@ ERROR: node is still EOpNull!
0:? 'inF2' (layout( location=2) in 4-component vector of float)
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:80 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( 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: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:? '@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)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
...
@@ -981,6 +981,6 @@ ERROR: node is still EOpNull!
...
@@ -981,6 +981,6 @@ ERROR: node is still EOpNull!
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) 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:? '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
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
...
@@ -30,16 +30,16 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp int)
0:7 move second child to first child ( temp int)
0:? 'a1' ( 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:7 move second child to first child ( temp int)
0:? 'a2' ( 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:7 move second child to first child ( temp int)
0:? 'a3' ( 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:7 move second child to first child ( temp int)
0:? 'a4' ( 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:7 move second child to first child ( temp int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
...
@@ -49,10 +49,10 @@ gl_FragCoord origin is upper left
...
@@ -49,10 +49,10 @@ gl_FragCoord origin is upper left
0:? 'a4' ( temp int)
0:? 'a4' ( temp int)
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:? 'a1' (layout( location=0) in int)
0:? 'a1' (layout( location=0)
flat
in int)
0:? 'a2' (layout( location=1) in int)
0:? 'a2' (layout( location=1)
flat
in int)
0:? 'a3' (layout( location=2) in int)
0:? 'a3' (layout( location=2)
flat
in int)
0:? 'a4' (layout( location=3) in int)
0:? 'a4' (layout( location=3)
flat
in int)
Linked fragment stage:
Linked fragment stage:
...
@@ -89,16 +89,16 @@ gl_FragCoord origin is upper left
...
@@ -89,16 +89,16 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp int)
0:7 move second child to first child ( temp int)
0:? 'a1' ( 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:7 move second child to first child ( temp int)
0:? 'a2' ( 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:7 move second child to first child ( temp int)
0:? 'a3' ( 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:7 move second child to first child ( temp int)
0:? 'a4' ( 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:7 move second child to first child ( temp int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int)
...
@@ -108,10 +108,10 @@ gl_FragCoord origin is upper left
...
@@ -108,10 +108,10 @@ gl_FragCoord origin is upper left
0:? 'a4' ( temp int)
0:? 'a4' ( temp int)
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out int)
0:? '@entryPointOutput' (layout( location=0) out int)
0:? 'a1' (layout( location=0) in int)
0:? 'a1' (layout( location=0)
flat
in int)
0:? 'a2' (layout( location=1) in int)
0:? 'a2' (layout( location=1)
flat
in int)
0:? 'a3' (layout( location=2) in int)
0:? 'a3' (layout( location=2)
flat
in int)
0:? 'a4' (layout( location=3) in int)
0:? 'a4' (layout( location=3)
flat
in int)
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -142,9 +142,13 @@ gl_FragCoord origin is upper left
...
@@ -142,9 +142,13 @@ gl_FragCoord origin is upper left
Name 49 "param"
Name 49 "param"
Name 51 "param"
Name 51 "param"
Name 53 "param"
Name 53 "param"
Decorate 34(a1) Flat
Decorate 34(a1) Location 0
Decorate 34(a1) Location 0
Decorate 37(a2) Flat
Decorate 37(a2) Location 1
Decorate 37(a2) Location 1
Decorate 40(a3) Flat
Decorate 40(a3) Location 2
Decorate 40(a3) Location 2
Decorate 43(a4) Flat
Decorate 43(a4) Location 3
Decorate 43(a4) Location 3
Decorate 46(@entryPointOutput) Location 0
Decorate 46(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.struct.split.assign.frag.out
View file @
54596ff9
...
@@ -20,7 +20,7 @@ gl_FragCoord origin is upper left
...
@@ -20,7 +20,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp int)
0:7 move second child to first child ( temp int)
0:? 'i' ( 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 Sequence
0:7 move second child to first child ( temp float)
0:7 move second child to first child ( temp float)
0:7 f: direct index for structure ( temp float)
0:7 f: direct index for structure ( temp float)
...
@@ -110,7 +110,7 @@ gl_FragCoord origin is upper left
...
@@ -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:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
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' (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)
0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
...
@@ -139,7 +139,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp int)
0:7 move second child to first child ( temp int)
0:? 'i' ( 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 Sequence
0:7 move second child to first child ( temp float)
0:7 move second child to first child ( temp float)
0:7 f: direct index for structure ( temp float)
0:7 f: direct index for structure ( temp float)
...
@@ -229,7 +229,7 @@ gl_FragCoord origin is upper left
...
@@ -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:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
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' (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)
0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
...
@@ -261,6 +261,7 @@ gl_FragCoord origin is upper left
...
@@ -261,6 +261,7 @@ gl_FragCoord origin is upper left
Name 67 "@entryPointOutput"
Name 67 "@entryPointOutput"
Name 68 "param"
Name 68 "param"
Name 70 "param"
Name 70 "param"
Decorate 32(i) Flat
Decorate 32(i) Location 0
Decorate 32(i) Location 0
Decorate 39(input) Location 1
Decorate 39(input) Location 1
Decorate 48(input_pos) BuiltIn FragCoord
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
...
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:19 move second child to first child ( temp uint)
0:19 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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:
Linked fragment stage:
...
@@ -135,7 +135,7 @@ gl_FragCoord origin is upper left
...
@@ -135,7 +135,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:19 move second child to first child ( temp uint)
0:19 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
Decorate 50(sbuf_a@count) DescriptorSet 0
Decorate 50(sbuf_a@count) DescriptorSet 0
Decorate 51(sbuf_c) DescriptorSet 0
Decorate 51(sbuf_c) DescriptorSet 0
Decorate 52(sbuf_c@count) DescriptorSet 0
Decorate 52(sbuf_c@count) DescriptorSet 0
Decorate 58(pos) Flat
Decorate 58(pos) Location 0
Decorate 58(pos) Location 0
Decorate 61(@entryPointOutput) Location 0
Decorate 61(@entryPointOutput) Location 0
MemberDecorate 65(sbuf_a@count) 0 Offset 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
...
@@ -45,7 +45,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp uint)
0:7 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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:
Linked fragment stage:
...
@@ -109,7 +109,7 @@ gl_FragCoord origin is upper left
...
@@ -109,7 +109,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp uint)
0:7 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -158,6 +158,7 @@ gl_FragCoord origin is upper left
...
@@ -158,6 +158,7 @@ gl_FragCoord origin is upper left
Decorate 22(sbuf_a@count) DescriptorSet 0
Decorate 22(sbuf_a@count) DescriptorSet 0
Decorate 36(sbuf_c) DescriptorSet 0
Decorate 36(sbuf_c) DescriptorSet 0
Decorate 37(sbuf_c@count) DescriptorSet 0
Decorate 37(sbuf_c@count) DescriptorSet 0
Decorate 48(pos) Flat
Decorate 48(pos) Location 0
Decorate 48(pos) Location 0
Decorate 51(@entryPointOutput) Location 0
Decorate 51(@entryPointOutput) Location 0
Decorate 55(sbuf_unused) DescriptorSet 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
...
@@ -224,7 +224,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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:
Linked fragment stage:
...
@@ -463,7 +463,7 @@ gl_FragCoord origin is upper left
...
@@ -463,7 +463,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -471,7 +471,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -498,6 +498,7 @@ gl_FragCoord origin is upper left
...
@@ -498,6 +498,7 @@ gl_FragCoord origin is upper left
MemberDecorate 15(sbuf) 0 Offset 0
MemberDecorate 15(sbuf) 0 Offset 0
Decorate 15(sbuf) BufferBlock
Decorate 15(sbuf) BufferBlock
Decorate 17(sbuf) DescriptorSet 0
Decorate 17(sbuf) DescriptorSet 0
Decorate 80(pos) Flat
Decorate 80(pos) Location 0
Decorate 80(pos) Location 0
Decorate 83(@entryPointOutput) Location 0
Decorate 83(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.byte.frag.out
View file @
54596ff9
...
@@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
...
@@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -157,7 +157,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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:
Linked fragment stage:
...
@@ -313,7 +313,7 @@ gl_FragCoord origin is upper left
...
@@ -313,7 +313,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -321,7 +321,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -352,6 +352,7 @@ gl_FragCoord origin is upper left
...
@@ -352,6 +352,7 @@ gl_FragCoord origin is upper left
MemberDecorate 16(sbuf) 0 Offset 0
MemberDecorate 16(sbuf) 0 Offset 0
Decorate 16(sbuf) BufferBlock
Decorate 16(sbuf) BufferBlock
Decorate 18(sbuf) DescriptorSet 0
Decorate 18(sbuf) DescriptorSet 0
Decorate 107(pos) Flat
Decorate 107(pos) Location 0
Decorate 107(pos) Location 0
Decorate 110(@entryPointOutput) Location 0
Decorate 110(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.coherent.frag.out
View file @
54596ff9
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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:
Linked fragment stage:
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -217,6 +217,7 @@ gl_FragCoord origin is upper left
...
@@ -217,6 +217,7 @@ gl_FragCoord origin is upper left
MemberDecorate 30(sbuf) 0 Offset 0
MemberDecorate 30(sbuf) 0 Offset 0
Decorate 30(sbuf) BufferBlock
Decorate 30(sbuf) BufferBlock
Decorate 32(sbuf) DescriptorSet 0
Decorate 32(sbuf) DescriptorSet 0
Decorate 71(pos) Flat
Decorate 71(pos) Location 0
Decorate 71(pos) Location 0
Decorate 74(@entryPointOutput) Location 0
Decorate 74(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.fn.frag.out
View file @
54596ff9
...
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
...
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:20 move second child to first child ( temp uint)
0:20 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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:
Linked fragment stage:
...
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
...
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:20 move second child to first child ( temp uint)
0:20 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
...
@@ -192,6 +192,7 @@ gl_FragCoord origin is upper left
Decorate 48(sbuf2@count) DescriptorSet 0
Decorate 48(sbuf2@count) DescriptorSet 0
Decorate 50(sbuf) DescriptorSet 0
Decorate 50(sbuf) DescriptorSet 0
Decorate 50(sbuf) Binding 10
Decorate 50(sbuf) Binding 10
Decorate 63(pos) Flat
Decorate 63(pos) Location 0
Decorate 63(pos) Location 0
Decorate 66(@entryPointOutput) Location 0
Decorate 66(@entryPointOutput) Location 0
MemberDecorate 70(sbuf2@count) 0 Offset 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
...
@@ -80,7 +80,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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:
Linked fragment stage:
...
@@ -176,7 +176,7 @@ gl_FragCoord origin is upper left
...
@@ -176,7 +176,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -238,6 +238,7 @@ gl_FragCoord origin is upper left
...
@@ -238,6 +238,7 @@ gl_FragCoord origin is upper left
MemberDecorate 59(sbuf2) 0 Offset 0
MemberDecorate 59(sbuf2) 0 Offset 0
Decorate 59(sbuf2) BufferBlock
Decorate 59(sbuf2) BufferBlock
Decorate 61(sbuf2) DescriptorSet 0
Decorate 61(sbuf2) DescriptorSet 0
Decorate 89(pos) Flat
Decorate 89(pos) Location 0
Decorate 89(pos) Location 0
Decorate 92(@entryPointOutput) Location 0
Decorate 92(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.incdec.frag.out
View file @
54596ff9
...
@@ -85,7 +85,7 @@ gl_FragCoord origin is upper left
...
@@ -85,7 +85,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp uint)
0:7 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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:
Linked fragment stage:
...
@@ -189,7 +189,7 @@ gl_FragCoord origin is upper left
...
@@ -189,7 +189,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:7 move second child to first child ( temp uint)
0:7 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(u1; ( temp 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
...
@@ -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_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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -242,6 +242,7 @@ gl_FragCoord origin is upper left
...
@@ -242,6 +242,7 @@ gl_FragCoord origin is upper left
Decorate 34(sbuf_rw_i@count) BufferBlock
Decorate 34(sbuf_rw_i@count) BufferBlock
Decorate 36(sbuf_rw_i@count) DescriptorSet 0
Decorate 36(sbuf_rw_i@count) DescriptorSet 0
Decorate 43(sbuf_rw_d@count) DescriptorSet 0
Decorate 43(sbuf_rw_d@count) DescriptorSet 0
Decorate 63(pos) Flat
Decorate 63(pos) Location 0
Decorate 63(pos) Location 0
Decorate 66(@entryPointOutput) Location 0
Decorate 66(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.rw.frag.out
View file @
54596ff9
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
...
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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:
Linked fragment stage:
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
...
@@ -164,7 +164,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:12 move second child to first child ( temp uint)
0:12 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:12 Function Call: @main(u1; ( temp 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
...
@@ -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:? '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:? '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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -213,6 +213,7 @@ gl_FragCoord origin is upper left
...
@@ -213,6 +213,7 @@ gl_FragCoord origin is upper left
MemberDecorate 30(sbuf) 0 Offset 0
MemberDecorate 30(sbuf) 0 Offset 0
Decorate 30(sbuf) BufferBlock
Decorate 30(sbuf) BufferBlock
Decorate 32(sbuf) DescriptorSet 0
Decorate 32(sbuf) DescriptorSet 0
Decorate 71(pos) Flat
Decorate 71(pos) Location 0
Decorate 71(pos) Location 0
Decorate 74(@entryPointOutput) Location 0
Decorate 74(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
View file @
54596ff9
...
@@ -490,7 +490,7 @@ gl_FragCoord origin is upper left
...
@@ -490,7 +490,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -498,7 +498,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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:
Linked fragment stage:
...
@@ -995,7 +995,7 @@ gl_FragCoord origin is upper left
...
@@ -995,7 +995,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:? Sequence
0:5 move second child to first child ( temp uint)
0:5 move second child to first child ( temp uint)
0:? 'pos' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:5 Function Call: @main(u1; ( temp 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
...
@@ -1003,7 +1003,7 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
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:? '@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
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -1037,6 +1037,7 @@ gl_FragCoord origin is upper left
...
@@ -1037,6 +1037,7 @@ gl_FragCoord origin is upper left
MemberDecorate 16(sbuf) 0 Offset 0
MemberDecorate 16(sbuf) 0 Offset 0
Decorate 16(sbuf) BufferBlock
Decorate 16(sbuf) BufferBlock
Decorate 18(sbuf) DescriptorSet 0
Decorate 18(sbuf) DescriptorSet 0
Decorate 233(pos) Flat
Decorate 233(pos) Location 0
Decorate 233(pos) Location 0
Decorate 236(@entryPointOutput) Location 0
Decorate 236(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
Test/baseResults/hlsl.switch.frag.out
View file @
54596ff9
...
@@ -129,10 +129,10 @@ gl_FragCoord origin is upper left
...
@@ -129,10 +129,10 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:2 move second child to first child ( temp int)
0:2 move second child to first child ( temp int)
0:? 'c' ( 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:2 move second child to first child ( temp int)
0:? 'd' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 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
...
@@ -142,8 +142,8 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'c' (layout( location=1) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:? 'd' (layout( location=2) in int)
0:? 'd' (layout( location=2)
flat
in int)
Linked fragment stage:
Linked fragment stage:
...
@@ -279,10 +279,10 @@ gl_FragCoord origin is upper left
...
@@ -279,10 +279,10 @@ gl_FragCoord origin is upper left
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:2 move second child to first child ( temp int)
0:2 move second child to first child ( temp int)
0:? 'c' ( 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:2 move second child to first child ( temp int)
0:? 'd' ( 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: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:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 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
...
@@ -292,8 +292,8 @@ gl_FragCoord origin is upper left
0:? Linker Objects
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'c' (layout( location=1) in int)
0:? 'c' (layout( location=1)
flat
in int)
0:? 'd' (layout( location=2) in int)
0:? 'd' (layout( location=2)
flat
in int)
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
...
@@ -321,7 +321,9 @@ gl_FragCoord origin is upper left
...
@@ -321,7 +321,9 @@ gl_FragCoord origin is upper left
Name 101 "param"
Name 101 "param"
Name 103 "param"
Name 103 "param"
Decorate 88(input) Location 0
Decorate 88(input) Location 0
Decorate 92(c) Flat
Decorate 92(c) Location 1
Decorate 92(c) Location 1
Decorate 95(d) Flat
Decorate 95(d) Location 2
Decorate 95(d) Location 2
Decorate 98(@entryPointOutput) Location 0
Decorate 98(@entryPointOutput) Location 0
2: TypeVoid
2: TypeVoid
...
...
glslang/Include/Types.h
View file @
54596ff9
...
@@ -1338,7 +1338,23 @@ public:
...
@@ -1338,7 +1338,23 @@ public:
#else
#else
virtual
bool
isFloatingDomain
()
const
{
return
basicType
==
EbtFloat
||
basicType
==
EbtDouble
;
}
virtual
bool
isFloatingDomain
()
const
{
return
basicType
==
EbtFloat
||
basicType
==
EbtDouble
;
}
#endif
#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
;
}
virtual
bool
isOpaque
()
const
{
return
basicType
==
EbtSampler
||
basicType
==
EbtAtomicUint
;
}
// "Image" is a superset of "Subpass"
// "Image" is a superset of "Subpass"
...
...
hlsl/hlslParseHelper.cpp
View file @
54596ff9
...
@@ -1525,15 +1525,17 @@ void HlslParseContext::fixBuiltInIoType(TType& type)
...
@@ -1525,15 +1525,17 @@ void HlslParseContext::fixBuiltInIoType(TType& type)
}
}
// Variables that correspond to the user-interface in and out of a stage
// Variables that correspond to the user-interface in and out of a stage
// (not the built-in interface) are assigned locations and
// (not the built-in interface) are
// registered as a linkage node (part of the stage's external interface).
// - 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.
// 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
auto
assignLocation
=
[
&
](
TVariable
&
variable
)
{
const
TType
&
type
=
variable
.
get
Type
();
TType
&
type
=
variable
.
getWritable
Type
();
const
TQualifier
&
qualifier
=
type
.
getQualifier
();
TQualifier
&
qualifier
=
type
.
getQualifier
();
if
(
qualifier
.
storage
==
EvqVaryingIn
||
qualifier
.
storage
==
EvqVaryingOut
)
{
if
(
qualifier
.
storage
==
EvqVaryingIn
||
qualifier
.
storage
==
EvqVaryingOut
)
{
if
(
qualifier
.
builtIn
==
EbvNone
)
{
if
(
qualifier
.
builtIn
==
EbvNone
)
{
// Strip off the outer array dimension for those having an extra one.
// Strip off the outer array dimension for those having an extra one.
...
@@ -1552,7 +1554,12 @@ void HlslParseContext::assignLocations(TVariable& variable)
...
@@ -1552,7 +1554,12 @@ void HlslParseContext::assignLocations(TVariable& variable)
nextOutLocation
+=
size
;
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
);
trackLinkage
(
variable
);
}
}
};
};
...
@@ -1914,9 +1921,11 @@ void HlslParseContext::handleEntryPointAttributes(const TSourceLoc& loc, const T
...
@@ -1914,9 +1921,11 @@ void HlslParseContext::handleEntryPointAttributes(const TSourceLoc& loc, const T
// ret = @shaderEntryPoint(args...);
// ret = @shaderEntryPoint(args...);
// oargs = args<that are output>...;
// oargs = args<that are output>...;
// }
// }
// retType @shaderEntryPoint(args...)
// { body }
//
//
// The symbol table will still map the original entry point name to the
// 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
// symbol table: shaderEntryPoint -> @shaderEntryPoint
//
//
...
@@ -1966,7 +1975,7 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
...
@@ -1966,7 +1975,7 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
split
(
variable
);
split
(
variable
);
}
}
assign
Locations
(
variable
);
assign
ToInterface
(
variable
);
};
};
if
(
entryPointOutput
)
if
(
entryPointOutput
)
makeVariableInOut
(
*
entryPointOutput
);
makeVariableInOut
(
*
entryPointOutput
);
...
@@ -2012,11 +2021,8 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
...
@@ -2012,11 +2021,8 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
for
(
int
i
=
0
;
i
<
userFunction
.
getParamCount
();
i
++
)
{
for
(
int
i
=
0
;
i
<
userFunction
.
getParamCount
();
i
++
)
{
TParameter
&
param
=
userFunction
[
i
];
TParameter
&
param
=
userFunction
[
i
];
argVars
.
push_back
(
makeInternalVariable
(
*
param
.
name
,
*
param
.
type
));
argVars
.
push_back
(
makeInternalVariable
(
*
param
.
name
,
*
param
.
type
));
argVars
.
back
()
->
getWritableType
().
getQualifier
().
makeTemporary
();
argVars
.
back
()
->
getWritableType
().
getQualifier
().
makeTemporary
();
TIntermSymbol
*
arg
=
intermediate
.
addSymbol
(
*
argVars
.
back
());
TIntermSymbol
*
arg
=
intermediate
.
addSymbol
(
*
argVars
.
back
());
handleFunctionArgument
(
&
callee
,
callingArgs
,
arg
);
handleFunctionArgument
(
&
callee
,
callingArgs
,
arg
);
if
(
param
.
type
->
getQualifier
().
isParamInput
())
{
if
(
param
.
type
->
getQualifier
().
isParamInput
())
{
intermediate
.
growAggregate
(
synthBody
,
handleAssign
(
loc
,
EOpAssign
,
arg
,
intermediate
.
growAggregate
(
synthBody
,
handleAssign
(
loc
,
EOpAssign
,
arg
,
...
@@ -2062,7 +2068,6 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
...
@@ -2062,7 +2068,6 @@ TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunct
}
else
{
}
else
{
returnAssign
=
handleAssign
(
loc
,
EOpAssign
,
intermediate
.
addSymbol
(
*
entryPointOutput
),
callReturn
);
returnAssign
=
handleAssign
(
loc
,
EOpAssign
,
intermediate
.
addSymbol
(
*
entryPointOutput
),
callReturn
);
}
}
intermediate
.
growAggregate
(
synthBody
,
returnAssign
);
intermediate
.
growAggregate
(
synthBody
,
returnAssign
);
}
else
}
else
intermediate
.
growAggregate
(
synthBody
,
callReturn
);
intermediate
.
growAggregate
(
synthBody
,
callReturn
);
...
@@ -8835,7 +8840,7 @@ void HlslParseContext::addPatchConstantInvocation()
...
@@ -8835,7 +8840,7 @@ void HlslParseContext::addPatchConstantInvocation()
if
(
pcfOutput
->
getType
().
containsBuiltInInterstageIO
(
language
))
if
(
pcfOutput
->
getType
().
containsBuiltInInterstageIO
(
language
))
split
(
*
pcfOutput
);
split
(
*
pcfOutput
);
assign
Locations
(
*
pcfOutput
);
assign
ToInterface
(
*
pcfOutput
);
TIntermSymbol
*
pcfOutputSym
=
intermediate
.
addSymbol
(
*
pcfOutput
,
loc
);
TIntermSymbol
*
pcfOutputSym
=
intermediate
.
addSymbol
(
*
pcfOutput
,
loc
);
...
...
hlsl/hlslParseHelper.h
View file @
54596ff9
...
@@ -77,7 +77,7 @@ public:
...
@@ -77,7 +77,7 @@ public:
TIntermTyped
*
handleUnaryMath
(
const
TSourceLoc
&
,
const
char
*
str
,
TOperator
op
,
TIntermTyped
*
childNode
);
TIntermTyped
*
handleUnaryMath
(
const
TSourceLoc
&
,
const
char
*
str
,
TOperator
op
,
TIntermTyped
*
childNode
);
TIntermTyped
*
handleDotDereference
(
const
TSourceLoc
&
,
TIntermTyped
*
base
,
const
TString
&
field
);
TIntermTyped
*
handleDotDereference
(
const
TSourceLoc
&
,
TIntermTyped
*
base
,
const
TString
&
field
);
bool
isBuiltInMethod
(
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
);
void
handleFunctionDeclarator
(
const
TSourceLoc
&
,
TFunction
&
function
,
bool
prototype
);
TIntermAggregate
*
handleFunctionDefinition
(
const
TSourceLoc
&
,
TFunction
&
,
const
TAttributeMap
&
,
TIntermNode
*&
entryPointTree
);
TIntermAggregate
*
handleFunctionDefinition
(
const
TSourceLoc
&
,
TFunction
&
,
const
TAttributeMap
&
,
TIntermNode
*&
entryPointTree
);
TIntermNode
*
transformEntryPoint
(
const
TSourceLoc
&
,
TFunction
&
,
const
TAttributeMap
&
);
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