summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-07-11 23:29:50 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-07-11 23:31:02 +0200
commit70dd5e7c66b1fe3f82e5b4db2406050baba15f05 (patch)
tree3f012200ef3c934f33db1a4ef2b790fae3141860 /gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp
parent3b7ffb477eec078c7036c92c6a51bb5de6de4f28 (diff)
parent8481fa25d246f1968d0a254ee3c6cdd82c60781a (diff)
downloadUXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.gz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.lz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.xz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.zip
Merge branch 'ANGLE-rollback'
This resolves #624 Note: Cherry-picked some fixes on top of the ANGLE version that we want to keep.
Diffstat (limited to 'gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp')
-rwxr-xr-xgfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp55
1 files changed, 49 insertions, 6 deletions
diff --git a/gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp b/gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp
index 33d098531..6580f258d 100755
--- a/gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp
+++ b/gfx/angle/src/compiler/translator/TextureFunctionHLSL.cpp
@@ -393,22 +393,41 @@ void OutputTextureFunctionArgumentList(TInfoSinkBase &out,
{
switch (textureFunction.sampler)
{
+ case EbtSampler2D:
+ out << ", int2 offset";
+ break;
case EbtSampler3D:
- case EbtISampler3D:
- case EbtUSampler3D:
out << ", int3 offset";
break;
- case EbtSampler2D:
case EbtSampler2DArray:
+ out << ", int2 offset";
+ break;
case EbtISampler2D:
+ out << ", int2 offset";
+ break;
+ case EbtISampler3D:
+ out << ", int3 offset";
+ break;
case EbtISampler2DArray:
+ out << ", int2 offset";
+ break;
case EbtUSampler2D:
+ out << ", int2 offset";
+ break;
+ case EbtUSampler3D:
+ out << ", int3 offset";
+ break;
case EbtUSampler2DArray:
+ out << ", int2 offset";
+ break;
case EbtSampler2DShadow:
+ out << ", int2 offset";
+ break;
case EbtSampler2DArrayShadow:
- case EbtSamplerExternalOES:
out << ", int2 offset";
break;
+ case EbtSamplerExternalOES:
+ out << ", int2 offset";
default:
UNREACHABLE();
}
@@ -1094,8 +1113,32 @@ const char *TextureFunctionHLSL::TextureFunction::getReturnType() const
bool TextureFunctionHLSL::TextureFunction::operator<(const TextureFunction &rhs) const
{
- return std::tie(sampler, coords, proj, offset, method) <
- std::tie(rhs.sampler, rhs.coords, rhs.proj, rhs.offset, rhs.method);
+ if (sampler < rhs.sampler)
+ return true;
+ if (sampler > rhs.sampler)
+ return false;
+
+ if (coords < rhs.coords)
+ return true;
+ if (coords > rhs.coords)
+ return false;
+
+ if (!proj && rhs.proj)
+ return true;
+ if (proj && !rhs.proj)
+ return false;
+
+ if (!offset && rhs.offset)
+ return true;
+ if (offset && !rhs.offset)
+ return false;
+
+ if (method < rhs.method)
+ return true;
+ if (method > rhs.method)
+ return false;
+
+ return false;
}
TString TextureFunctionHLSL::useTextureFunction(const TString &name,