diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index 12f17e3d..8a075678 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -979,7 +979,6 @@ public: constSubtree(nullptr) { name = n; } virtual int getId() const { return id; } - virtual void setId(int newId) { id = newId; } virtual const TString& getName() const { return name; } virtual void traverse(TIntermTraverser*); virtual TIntermSymbol* getAsSymbolNode() { return this; } @@ -993,6 +992,10 @@ public: int getFlattenSubset() const { return flattenSubset; } // -1 means full object #endif + // This is meant for cases where a node has already been constructed, and + // later on, it becomes necessary to switch to a different symbol. + virtual void switchId(int newId) { id = newId; } + protected: int id; // the unique id of the symbol this node represents #ifdef ENABLE_HLSL diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index 706173d2..fe6333b9 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -2994,7 +2994,7 @@ TIntermAggregate* HlslParseContext::handleSamplerTextureCombine(const TSourceLoc argTex->getWritableType().getSampler().shadow = shadowMode; samplerType.shadow = shadowMode; - texSymbol->setId(newId); + texSymbol->switchId(newId); } txcombine->setType(TType(samplerType, EvqTemporary));