mirror of
https://github.com/KhronosGroup/glslang
synced 2024-09-20 04:40:01 +00:00
HLSL: More clip fix: It is more involved than previous commit. Complete.
This commit is contained in:
parent
4ce5b562bb
commit
1a4bbc4a95
@ -88,7 +88,7 @@ gl_FragCoord origin is upper left
|
||||
0:34 Compare Less Than ( temp bool)
|
||||
0:34 'r005' ( temp int)
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:34 0 (const int)
|
||||
0:34 true case
|
||||
0:34 Branch: Kill
|
||||
0:35 Sequence
|
||||
@ -2906,7 +2906,7 @@ gl_FragCoord origin is upper left
|
||||
0:34 Compare Less Than ( temp bool)
|
||||
0:34 'r005' ( temp int)
|
||||
0:34 Constant:
|
||||
0:34 0.000000
|
||||
0:34 0 (const int)
|
||||
0:34 true case
|
||||
0:34 Branch: Kill
|
||||
0:35 Sequence
|
||||
|
@ -4503,14 +4503,21 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*&
|
||||
std::max(arg0->getType().getMatrixRows(), 1);
|
||||
|
||||
TConstUnion zero;
|
||||
zero.setDConst(0.0);
|
||||
if (arg0->getType().isIntegerDomain())
|
||||
zero.setDConst(0);
|
||||
else
|
||||
zero.setDConst(0.0);
|
||||
TConstUnionArray zeros(constComponentCount, zero);
|
||||
|
||||
less->getSequence().push_back(intermediate.addConstantUnion(zeros, arg0->getType(), loc, true));
|
||||
|
||||
compareNode = intermediate.addBuiltInFunctionCall(loc, EOpAny, true, less, TType(EbtBool));
|
||||
} else {
|
||||
TIntermTyped* zero = intermediate.addConstantUnion(0, type0, loc, true);
|
||||
TIntermTyped* zero;
|
||||
if (arg0->getType().isIntegerDomain())
|
||||
zero = intermediate.addConstantUnion(0, loc, true);
|
||||
else
|
||||
zero = intermediate.addConstantUnion(0.0, type0, loc, true);
|
||||
compareNode = handleBinaryMath(loc, "clip", EOpLessThan, arg0, zero);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user