mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-30 22:51:06 +00:00
Memory: Don't use pool memory to store the entry point name in the intermediate representation.
This might address issue #221, which I couldn't reproduce.
This commit is contained in:
parent
78a6b78810
commit
7e3e486344
@ -2126,7 +2126,7 @@ bool TGlslangToSpvTraverser::isShaderEntrypoint(const glslang::TIntermAggregate*
|
||||
{
|
||||
// have to ignore mangling and just look at the base name
|
||||
int firstOpen = node->getName().find('(');
|
||||
return node->getName().compare(0, firstOpen, glslangIntermediate->getEntryPoint()) == 0;
|
||||
return node->getName().compare(0, firstOpen, glslangIntermediate->getEntryPoint().c_str()) == 0;
|
||||
}
|
||||
|
||||
// Make all the functions, skeletally, without actually visiting their bodies.
|
||||
|
@ -986,7 +986,7 @@ TIntermAggregate* TParseContext::handleFunctionDefinition(const TSourceLoc& loc,
|
||||
//
|
||||
// Raise error message if main function takes any parameters or returns anything other than void
|
||||
//
|
||||
if (function.getName() == intermediate.getEntryPoint()) {
|
||||
if (function.getName() == intermediate.getEntryPoint().c_str()) {
|
||||
if (function.getParamCount() > 0)
|
||||
error(loc, "function cannot take any parameter(s)", function.getName().c_str(), "");
|
||||
if (function.getType().getBasicType() != EbtVoid)
|
||||
|
@ -149,7 +149,7 @@ public:
|
||||
void setSource(EShSource s) { source = s; }
|
||||
EShSource getSource() const { return source; }
|
||||
void setEntryPoint(const char* ep) { entryPoint = ep; }
|
||||
const TString& getEntryPoint() const { return entryPoint; }
|
||||
const std::string& getEntryPoint() const { return entryPoint; }
|
||||
void setVersion(int v) { version = v; }
|
||||
int getVersion() const { return version; }
|
||||
void setProfile(EProfile p) { profile = p; }
|
||||
@ -347,7 +347,7 @@ protected:
|
||||
|
||||
const EShLanguage language; // stage, known at construction time
|
||||
EShSource source; // source language, known a bit later
|
||||
TString entryPoint;
|
||||
std::string entryPoint;
|
||||
EProfile profile;
|
||||
int version;
|
||||
int spv;
|
||||
|
@ -709,7 +709,7 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l
|
||||
currentFunctionType = new TType(EbtVoid);
|
||||
functionReturnsValue = false;
|
||||
|
||||
inEntrypoint = (function.getName() == intermediate.getEntryPoint());
|
||||
inEntrypoint = (function.getName() == intermediate.getEntryPoint().c_str());
|
||||
|
||||
//
|
||||
// New symbol table scope for body of function plus its arguments
|
||||
|
Loading…
Reference in New Issue
Block a user