HLSL: Fix assert: ensure flattened shadow is EvqTemporary.

This commit is contained in:
John Kessenich
2016-09-19 00:19:49 -06:00
parent 5159d4f1af
commit 28b28140bb
3 changed files with 10 additions and 9 deletions

View File

@@ -58,23 +58,23 @@ gl_FragCoord origin is upper left
0:? Sequence 0:? Sequence
0:? move second child to first child (temp 2-component vector of float) 0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float) 0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 0 (const int) 0:? 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float) 0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? move second child to first child (temp 4-component vector of float) 0:? move second child to first child (temp 4-component vector of float)
0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord) 0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 1 (const int) 0:? 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord) 0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? move second child to first child (temp 2-component vector of int) 0:? move second child to first child (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int) 0:? i2: direct index for structure (temp 2-component vector of int)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 2 (const int) 0:? 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int) 0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Sequence 0:19 Sequence
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)
@@ -156,23 +156,23 @@ gl_FragCoord origin is upper left
0:? Sequence 0:? Sequence
0:? move second child to first child (temp 2-component vector of float) 0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float) 0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 0 (const int) 0:? 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float) 0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? move second child to first child (temp 4-component vector of float) 0:? move second child to first child (temp 4-component vector of float)
0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord) 0:? fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 1 (const int) 0:? 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord) 0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? move second child to first child (temp 2-component vector of int) 0:? move second child to first child (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int) 0:? i2: direct index for structure (temp 2-component vector of int)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Constant: 0:? Constant:
0:? 2 (const int) 0:? 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int) 0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'aggShadow' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) 0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Sequence 0:19 Sequence
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)

View File

@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1493" #define GLSLANG_REVISION "Overload400-PrecQual.1494"
#define GLSLANG_DATE "19-Sep-2016" #define GLSLANG_DATE "19-Sep-2016"

View File

@@ -2271,6 +2271,7 @@ void HlslParseContext::addInputArgumentConversions(const TFunction& function, TI
TSourceLoc dummyLoc; TSourceLoc dummyLoc;
dummyLoc.init(); dummyLoc.init();
TVariable* internalAggregate = makeInternalVariable("aggShadow", *function[i].type); TVariable* internalAggregate = makeInternalVariable("aggShadow", *function[i].type);
internalAggregate->getWritableType().getQualifier().makeTemporary();
TIntermSymbol* internalSymbolNode = new TIntermSymbol(internalAggregate->getUniqueId(), TIntermSymbol* internalSymbolNode = new TIntermSymbol(internalAggregate->getUniqueId(),
internalAggregate->getName(), internalAggregate->getName(),
internalAggregate->getType()); internalAggregate->getType());