Fixed processing #include's when preprocessing HLSL

This commit is contained in:
Keith Newton 2016-12-04 17:07:10 -05:00
parent e50dc536ff
commit 205dc4e4ec
2 changed files with 4 additions and 1 deletions

View File

@ -110,6 +110,7 @@ public:
void getPreamble(std::string&); void getPreamble(std::string&);
bool relaxedErrors() const { return (messages & EShMsgRelaxedErrors) != 0; } bool relaxedErrors() const { return (messages & EShMsgRelaxedErrors) != 0; }
bool suppressWarnings() const { return (messages & EShMsgSuppressWarnings) != 0; } bool suppressWarnings() const { return (messages & EShMsgSuppressWarnings) != 0; }
bool isReadingHLSL() const { return (messages & EShMsgReadHlsl) == EShMsgReadHlsl; }
TInfoSink& infoSink; TInfoSink& infoSink;

View File

@ -897,7 +897,9 @@ int TPpContext::readCPPline(TPpToken* ppToken)
token = CPPifdef(0, ppToken); token = CPPifdef(0, ppToken);
break; break;
case PpAtomInclude: case PpAtomInclude:
parseContext.ppRequireExtensions(ppToken->loc, 1, &E_GL_GOOGLE_include_directive, "#include"); if(!parseContext.isReadingHLSL()) {
parseContext.ppRequireExtensions(ppToken->loc, 1, &E_GL_GOOGLE_include_directive, "#include");
}
token = CPPinclude(ppToken); token = CPPinclude(ppToken);
break; break;
case PpAtomLine: case PpAtomLine: