summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/compiler/translator/StructureHLSL.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/StructureHLSL.h')
-rw-r--r--src/3rdparty/angle/src/compiler/translator/StructureHLSL.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/StructureHLSL.h b/src/3rdparty/angle/src/compiler/translator/StructureHLSL.h
index 63fbaaaf8e..ed002fef30 100644
--- a/src/3rdparty/angle/src/compiler/translator/StructureHLSL.h
+++ b/src/3rdparty/angle/src/compiler/translator/StructureHLSL.h
@@ -11,7 +11,7 @@
#define TRANSLATOR_STRUCTUREHLSL_H_
#include "compiler/translator/Common.h"
-#include "compiler/translator/intermediate.h"
+#include "compiler/translator/IntermNode.h"
#include <set>
@@ -26,7 +26,8 @@ namespace sh
class Std140PaddingHelper
{
public:
- explicit Std140PaddingHelper(const std::map<TString, int> &structElementIndexes);
+ explicit Std140PaddingHelper(const std::map<TString, int> &structElementIndexes,
+ unsigned *uniqueCounter);
int elementIndex() const { return mElementIndex; }
int prePadding(const TType &type);
@@ -34,7 +35,9 @@ class Std140PaddingHelper
TString postPaddingString(const TType &type, bool useHLSLRowMajorPacking);
private:
- int mPaddingCounter;
+ TString next();
+
+ unsigned *mPaddingCounter;
int mElementIndex;
const std::map<TString, int> &mStructElementIndexes;
};
@@ -50,9 +53,11 @@ class StructureHLSL
TString defineQualified(const TStructure &structure, bool useHLSLRowMajorPacking, bool useStd140Packing);
static TString defineNameless(const TStructure &structure);
- Std140PaddingHelper getPaddingHelper() const { return Std140PaddingHelper(mStd140StructElementIndexes); }
+ Std140PaddingHelper getPaddingHelper();
private:
+ unsigned mUniquePaddingCounter;
+
std::map<TString, int> mStd140StructElementIndexes;
typedef std::set<TString> StructNames;