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
f0bc598d
Commit
f0bc598d
authored
Jun 20, 2017
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Force flat interpolation for structure members. Fixes #940.
parent
be1085cb
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
37 deletions
+48
-37
hlsl.entry-in.frag.out
Test/baseResults/hlsl.entry-in.frag.out
+9
-8
hlsl.struct.frag.out
Test/baseResults/hlsl.struct.frag.out
+22
-20
Types.h
glslang/Include/Types.h
+2
-3
hlslParseHelper.cpp
hlsl/hlslParseHelper.cpp
+15
-6
No files found.
Test/baseResults/hlsl.entry-in.frag.out
View file @
f0bc598d
...
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
...
@@ -58,7 +58,7 @@ gl_FragCoord origin is upper left
0:13 Constant:
0:13 Constant:
0:13 0 (const int)
0:13 0 (const int)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 0 (const int)
0:13 0 (const int)
0:13 move second child to first child ( temp 4-component vector of float)
0:13 move second child to first child ( temp 4-component vector of float)
...
@@ -72,8 +72,8 @@ gl_FragCoord origin is upper left
...
@@ -72,8 +72,8 @@ gl_FragCoord origin is upper left
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 2 (const int)
0:13 2 (const int)
0:13 i2: direct index for structure ( temp 2-component vector of int)
0:13 i2: direct index for structure (
flat
temp 2-component vector of int)
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 1 (const int)
0:13 1 (const int)
0:13 move second child to first child ( temp 4-component vector of float)
0:13 move second child to first child ( temp 4-component vector of float)
...
@@ -82,7 +82,7 @@ gl_FragCoord origin is upper left
...
@@ -82,7 +82,7 @@ gl_FragCoord origin is upper left
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
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 structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:? 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:? 'i_fragCoord' ( in 4-component vector of float FragCoord)
0:? 'i_fragCoord' ( in 4-component vector of float FragCoord)
...
@@ -148,7 +148,7 @@ gl_FragCoord origin is upper left
...
@@ -148,7 +148,7 @@ gl_FragCoord origin is upper left
0:13 Constant:
0:13 Constant:
0:13 0 (const int)
0:13 0 (const int)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 0 (const int)
0:13 0 (const int)
0:13 move second child to first child ( temp 4-component vector of float)
0:13 move second child to first child ( temp 4-component vector of float)
...
@@ -162,8 +162,8 @@ gl_FragCoord origin is upper left
...
@@ -162,8 +162,8 @@ gl_FragCoord origin is upper left
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 2 (const int)
0:13 2 (const int)
0:13 i2: direct index for structure ( temp 2-component vector of int)
0:13 i2: direct index for structure (
flat
temp 2-component vector of int)
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:13 Constant:
0:13 Constant:
0:13 1 (const int)
0:13 1 (const int)
0:13 move second child to first child ( temp 4-component vector of float)
0:13 move second child to first child ( temp 4-component vector of float)
...
@@ -172,7 +172,7 @@ gl_FragCoord origin is upper left
...
@@ -172,7 +172,7 @@ gl_FragCoord origin is upper left
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
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 structure{ temp 2-component vector of float v, temp 2-component vector of int i2})
0:? 'i' (layout( location=0) in structure{ temp 2-component vector of float v,
flat
temp 2-component vector of int i2})
0:? 'i_fragCoord' ( in 4-component vector of float FragCoord)
0:? 'i_fragCoord' ( in 4-component vector of float FragCoord)
// Module Version 10000
// Module Version 10000
...
@@ -207,6 +207,7 @@ gl_FragCoord origin is upper left
...
@@ -207,6 +207,7 @@ gl_FragCoord origin is upper left
Name 63 "i_fragCoord"
Name 63 "i_fragCoord"
Name 73 "@entryPointOutput"
Name 73 "@entryPointOutput"
Name 74 "param"
Name 74 "param"
MemberDecorate 54(InParam) 1 Flat
Decorate 56(i) Location 0
Decorate 56(i) Location 0
Decorate 63(i_fragCoord) BuiltIn FragCoord
Decorate 63(i_fragCoord) BuiltIn FragCoord
Decorate 73(@entryPointOutput) Location 0
Decorate 73(@entryPointOutput) Location 0
...
...
Test/baseResults/hlsl.struct.frag.out
View file @
f0bc598d
...
@@ -44,7 +44,7 @@ gl_FragCoord origin is upper left
...
@@ -44,7 +44,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 0 (const int)
0:40 0 (const int)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 0 (const int)
0:40 0 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
...
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 1 (const int)
0:40 1 (const int)
0:40 b: direct index for structure ( flat temp bool)
0:40 b: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 1 (const int)
0:40 1 (const int)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 move second child to first child ( temp 1-component vector of float)
...
@@ -62,7 +62,7 @@ gl_FragCoord origin is upper left
...
@@ -62,7 +62,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 2 (const int)
0:40 2 (const int)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 2 (const int)
0:40 2 (const int)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
...
@@ -71,7 +71,7 @@ gl_FragCoord origin is upper left
...
@@ -71,7 +71,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 3 (const int)
0:40 3 (const int)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 3 (const int)
0:40 3 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -85,8 +85,8 @@ gl_FragCoord origin is upper left
...
@@ -85,8 +85,8 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 5 (const int)
0:40 5 (const int)
0:40 ff2: direct index for structure ( temp bool)
0:40 ff2: direct index for structure (
flat
temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 4 (const int)
0:40 4 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
...
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 6 (const int)
0:40 6 (const int)
0:40 ff3: direct index for structure ( temp bool)
0:40 ff3: direct index for structure (
flat
temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 5 (const int)
0:40 5 (const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
...
@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
...
@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 7 (const int)
0:40 7 (const int)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 6 (const int)
0:40 6 (const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
...
@@ -117,7 +117,7 @@ gl_FragCoord origin is upper left
...
@@ -117,7 +117,7 @@ gl_FragCoord origin is upper left
0:? 's2' ( global structure{ temp 4-component vector of float i})
0:? 's2' ( global structure{ temp 4-component vector of float i})
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:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:? 's_ff1' ( in bool Face)
0:? 's_ff1' ( in bool Face)
...
@@ -165,7 +165,7 @@ gl_FragCoord origin is upper left
...
@@ -165,7 +165,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 0 (const int)
0:40 0 (const int)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 0 (const int)
0:40 0 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -174,7 +174,7 @@ gl_FragCoord origin is upper left
...
@@ -174,7 +174,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 1 (const int)
0:40 1 (const int)
0:40 b: direct index for structure ( flat temp bool)
0:40 b: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 1 (const int)
0:40 1 (const int)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 move second child to first child ( temp 1-component vector of float)
...
@@ -183,7 +183,7 @@ gl_FragCoord origin is upper left
...
@@ -183,7 +183,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 2 (const int)
0:40 2 (const int)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 2 (const int)
0:40 2 (const int)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
...
@@ -192,7 +192,7 @@ gl_FragCoord origin is upper left
...
@@ -192,7 +192,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 3 (const int)
0:40 3 (const int)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 3 (const int)
0:40 3 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -206,8 +206,8 @@ gl_FragCoord origin is upper left
...
@@ -206,8 +206,8 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 5 (const int)
0:40 5 (const int)
0:40 ff2: direct index for structure ( temp bool)
0:40 ff2: direct index for structure (
flat
temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 4 (const int)
0:40 4 (const int)
0:40 move second child to first child ( temp bool)
0:40 move second child to first child ( temp bool)
...
@@ -215,8 +215,8 @@ gl_FragCoord origin is upper left
...
@@ -215,8 +215,8 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 6 (const int)
0:40 6 (const int)
0:40 ff3: direct index for structure ( temp bool)
0:40 ff3: direct index for structure (
flat
temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 5 (const int)
0:40 5 (const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
...
@@ -225,7 +225,7 @@ gl_FragCoord origin is upper left
...
@@ -225,7 +225,7 @@ gl_FragCoord origin is upper left
0:40 Constant:
0:40 Constant:
0:40 7 (const int)
0:40 7 (const int)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 Constant:
0:40 6 (const int)
0:40 6 (const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
...
@@ -238,7 +238,7 @@ gl_FragCoord origin is upper left
...
@@ -238,7 +238,7 @@ gl_FragCoord origin is upper left
0:? 's2' ( global structure{ temp 4-component vector of float i})
0:? 's2' ( global structure{ temp 4-component vector of float i})
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:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
temp bool ff2,
temp bool ff3, temp 4-component vector of float ff4})
0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d,
flat temp bool ff2, flat
temp bool ff3, temp 4-component vector of float ff4})
0:? 's_ff1' ( in bool Face)
0:? 's_ff1' ( in bool Face)
// Module Version 10000
// Module Version 10000
...
@@ -306,6 +306,8 @@ gl_FragCoord origin is upper left
...
@@ -306,6 +306,8 @@ gl_FragCoord origin is upper left
MemberDecorate 54(IN_S) 2 NoPerspective
MemberDecorate 54(IN_S) 2 NoPerspective
MemberDecorate 54(IN_S) 2 Centroid
MemberDecorate 54(IN_S) 2 Centroid
MemberDecorate 54(IN_S) 3 Centroid
MemberDecorate 54(IN_S) 3 Centroid
MemberDecorate 54(IN_S) 4 Flat
MemberDecorate 54(IN_S) 5 Flat
Decorate 56(s) Location 1
Decorate 56(s) Location 1
Decorate 79(s_ff1) BuiltIn FrontFacing
Decorate 79(s_ff1) BuiltIn FrontFacing
Decorate 94(@entryPointOutput) Location 0
Decorate 94(@entryPointOutput) Location 0
...
...
glslang/Include/Types.h
View file @
f0bc598d
...
@@ -1349,7 +1349,6 @@ public:
...
@@ -1349,7 +1349,6 @@ public:
case
EbtInt16
:
case
EbtInt16
:
case
EbtUint16
:
case
EbtUint16
:
#endif
#endif
case
EbtBool
:
case
EbtAtomicUint
:
case
EbtAtomicUint
:
return
true
;
return
true
;
default
:
default
:
...
@@ -1469,9 +1468,9 @@ public:
...
@@ -1469,9 +1468,9 @@ public:
case
EbtUint16
:
case
EbtUint16
:
#endif
#endif
case
EbtBool
:
case
EbtBool
:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
}
}
};
};
...
...
hlsl/hlslParseHelper.cpp
View file @
f0bc598d
...
@@ -791,7 +791,7 @@ TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc,
...
@@ -791,7 +791,7 @@ TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc,
index
=
makeIntegerIndex
(
index
);
index
=
makeIntegerIndex
(
index
);
if
(
index
==
nullptr
)
{
if
(
index
==
nullptr
)
{
error
(
loc
,
" unknown
u
ndex type "
,
""
,
""
);
error
(
loc
,
" unknown
i
ndex type "
,
""
,
""
);
return
nullptr
;
return
nullptr
;
}
}
...
@@ -1554,11 +1554,20 @@ void HlslParseContext::assignToInterface(TVariable& variable)
...
@@ -1554,11 +1554,20 @@ void HlslParseContext::assignToInterface(TVariable& variable)
nextOutLocation
+=
size
;
nextOutLocation
+=
size
;
}
}
}
}
// Going into the fragment stage, integer-based stuff must be flat/nointerpolation
if
(
qualifier
.
storage
==
EvqVaryingIn
&&
language
==
EShLangFragment
)
{
if
(
type
.
isIntegerDomain
()
&&
qualifier
.
builtIn
==
EbvNone
&&
// Going into the fragment stage, integer-based stuff must be flat/nointerpolation
qualifier
.
storage
==
EvqVaryingIn
&&
language
==
EShLangFragment
)
{
const
auto
fixQualifier
=
[](
TType
&
type
)
{
qualifier
.
clearInterpolation
();
if
(
type
.
getQualifier
().
builtIn
==
EbvNone
&&
qualifier
.
flat
=
true
;
(
type
.
isIntegerDomain
()
||
type
.
getBasicType
()
==
EbtBool
))
{
type
.
getQualifier
().
clearInterpolation
();
type
.
getQualifier
().
flat
=
true
;
}
};
if
(
type
.
isStruct
())
for
(
auto
mem
=
(
*
type
.
getStruct
()).
begin
();
mem
!=
(
*
type
.
getStruct
()).
end
();
++
mem
)
fixQualifier
(
*
mem
->
type
);
else
fixQualifier
(
type
);
}
}
trackLinkage
(
variable
);
trackLinkage
(
variable
);
}
}
...
...
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