Fix #2020: PR #1977 broke HLSL member consistency, this finishes it...
using an unitialized member. This commit consistently does not use those
HLSL members unless ENABLE_HLSL is on.
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index e852d15..3572099 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -82,11 +82,6 @@
bool sampler : 1; // true means a pure sampler, other fields should be clear()
#ifdef GLSLANG_WEB
- unsigned int getVectorSize() const { return 4; }
- void clearReturnStruct() const { }
- bool hasReturnStruct() const { return false; }
- unsigned getStructReturnIndex() const { return 0; }
-
bool is1D() const { return false; }
bool isBuffer() const { return false; }
bool isRect() const { return false; }
@@ -111,10 +106,12 @@
bool external : 1; // GL_OES_EGL_image_external
bool yuv : 1; // GL_EXT_YUV_target
+#ifdef ENABLE_HLSL
unsigned int getVectorSize() const { return vectorSize; }
void clearReturnStruct() { structReturnIndex = noReturnStruct; }
bool hasReturnStruct() const { return structReturnIndex != noReturnStruct; }
unsigned getStructReturnIndex() const { return structReturnIndex; }
+#endif
bool is1D() const { return dim == Esd1D; }
bool isBuffer() const { return dim == EsdBuffer; }
@@ -225,9 +222,12 @@
isCombined() == right.isCombined() &&
isPureSampler() == right.isPureSampler() &&
isExternal() == right.isExternal() &&
- isYuv() == right.isYuv() &&
- getVectorSize() == right.getVectorSize() &&
- getStructReturnIndex() == right.getStructReturnIndex();
+ isYuv() == right.isYuv()
+#ifdef ENABLE_HLSL
+ && getVectorSize() == right.getVectorSize() &&
+ getStructReturnIndex() == right.getStructReturnIndex()
+#endif
+ ;
}
bool operator!=(const TSampler& right) const
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index 2ea14af..4468237 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -114,6 +114,7 @@
default: break; // some compilers want this
}
+#ifdef ENABLE_HLSL
if (sampler.hasReturnStruct()) {
// Name mangle for sampler return struct uses struct table index.
mangledName += "-tx-struct";
@@ -129,6 +130,7 @@
case 4: break; // default to prior name mangle behavior
}
}
+#endif
if (sampler.isMultiSample())
mangledName += "M";