Stop emitting the "#version missing" warning, and hook up the existing "suppress warnings" to a command-line option (-w).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23952 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
d627502d07
commit
b0a7eb599b
Binary file not shown.
@ -62,6 +62,7 @@ enum TOptions {
|
|||||||
EOptionMultiThreaded = 0x040,
|
EOptionMultiThreaded = 0x040,
|
||||||
EOptionDumpConfig = 0x080,
|
EOptionDumpConfig = 0x080,
|
||||||
EOptionDumpReflection = 0x100,
|
EOptionDumpReflection = 0x100,
|
||||||
|
EOptionSuppressWarnings = 0x200,
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -91,7 +92,7 @@ ShBinding FixedAttributeBindings[] = {
|
|||||||
ShBindingTable FixedAttributeTable = { 3, FixedAttributeBindings };
|
ShBindingTable FixedAttributeTable = { 3, FixedAttributeBindings };
|
||||||
|
|
||||||
EShLanguage FindLanguage(const std::string& name);
|
EShLanguage FindLanguage(const std::string& name);
|
||||||
bool CompileFile(const char *fileName, ShHandle, int options);
|
bool CompileFile(const char *fileName, ShHandle);
|
||||||
void usage();
|
void usage();
|
||||||
void FreeFileData(char** data);
|
void FreeFileData(char** data);
|
||||||
char** ReadFileData(const char* fileName);
|
char** ReadFileData(const char* fileName);
|
||||||
@ -481,6 +482,9 @@ bool ProcessArguments(int argc, char* argv[])
|
|||||||
Options |= EOptionMultiThreaded;
|
Options |= EOptionMultiThreaded;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
case 'w':
|
||||||
|
Options |= EOptionSuppressWarnings;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -496,6 +500,16 @@ bool ProcessArguments(int argc, char* argv[])
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetMessageOptions(EShMessages& messages)
|
||||||
|
{
|
||||||
|
if (Options & EOptionRelaxedErrors)
|
||||||
|
messages = (EShMessages)(messages | EShMsgRelaxedErrors);
|
||||||
|
if (Options & EOptionIntermediate)
|
||||||
|
messages = (EShMessages)(messages | EShMsgAST);
|
||||||
|
if (Options & EOptionSuppressWarnings)
|
||||||
|
messages = (EShMessages)(messages | EShMsgSuppressWarnings);
|
||||||
|
}
|
||||||
|
|
||||||
// Thread entry point, for non-linking asynchronous mode.
|
// Thread entry point, for non-linking asynchronous mode.
|
||||||
unsigned int
|
unsigned int
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@ -509,7 +523,7 @@ CompileShaders(void*)
|
|||||||
if (compiler == 0)
|
if (compiler == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CompileFile(workItem->name.c_str(), compiler, Options);
|
CompileFile(workItem->name.c_str(), compiler);
|
||||||
|
|
||||||
if (! (Options & EOptionSuppressInfolog))
|
if (! (Options & EOptionSuppressInfolog))
|
||||||
workItem->results = ShGetInfoLog(compiler);
|
workItem->results = ShGetInfoLog(compiler);
|
||||||
@ -532,10 +546,7 @@ void CompileAndLinkShaders()
|
|||||||
std::list<glslang::TShader*> shaders;
|
std::list<glslang::TShader*> shaders;
|
||||||
|
|
||||||
EShMessages messages = EShMsgDefault;
|
EShMessages messages = EShMsgDefault;
|
||||||
if (Options & EOptionRelaxedErrors)
|
SetMessageOptions(messages);
|
||||||
messages = (EShMessages)(messages | EShMsgRelaxedErrors);
|
|
||||||
if (Options & EOptionIntermediate)
|
|
||||||
messages = (EShMessages)(messages | EShMsgAST);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Per-shader processing...
|
// Per-shader processing...
|
||||||
@ -713,7 +724,7 @@ EShLanguage FindLanguage(const std::string& name)
|
|||||||
// Read a file's data into a string, and compile it using the old interface ShCompile,
|
// Read a file's data into a string, and compile it using the old interface ShCompile,
|
||||||
// for non-linkable results.
|
// for non-linkable results.
|
||||||
//
|
//
|
||||||
bool CompileFile(const char *fileName, ShHandle compiler, int Options)
|
bool CompileFile(const char *fileName, ShHandle compiler)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char** shaderStrings = ReadFileData(fileName);
|
char** shaderStrings = ReadFileData(fileName);
|
||||||
@ -732,10 +743,7 @@ bool CompileFile(const char *fileName, ShHandle compiler, int Options)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
EShMessages messages = EShMsgDefault;
|
EShMessages messages = EShMsgDefault;
|
||||||
if (Options & EOptionRelaxedErrors)
|
SetMessageOptions(messages);
|
||||||
messages = (EShMessages)(messages | EShMsgRelaxedErrors);
|
|
||||||
if (Options & EOptionIntermediate)
|
|
||||||
messages = (EShMessages)(messages | EShMsgAST);
|
|
||||||
|
|
||||||
for (int i = 0; i < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++i) {
|
for (int i = 0; i < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++i) {
|
||||||
for (int j = 0; j < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++j) {
|
for (int j = 0; j < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++j) {
|
||||||
@ -777,13 +785,14 @@ void usage()
|
|||||||
"To get other information, use one of the following options:\n"
|
"To get other information, use one of the following options:\n"
|
||||||
"-c: configuration dump; use to create default configuration file (redirect to a .conf file)\n"
|
"-c: configuration dump; use to create default configuration file (redirect to a .conf file)\n"
|
||||||
"-i: intermediate tree (glslang AST) is printed out\n"
|
"-i: intermediate tree (glslang AST) is printed out\n"
|
||||||
"-d: delay exit\n"
|
|
||||||
"-l: link validation of all input files\n"
|
"-l: link validation of all input files\n"
|
||||||
"-m: memory leak mode\n"
|
"-m: memory leak mode\n"
|
||||||
"-q: dump reflection query database\n"
|
"-q: dump reflection query database\n"
|
||||||
"-r: relaxed semantic error-checking mode\n"
|
"-r: relaxed semantic error-checking mode\n"
|
||||||
"-s: silent mode\n"
|
"-s: silent mode\n"
|
||||||
"-t: multi-threaded mode\n");
|
"-t: multi-threaded mode\n"
|
||||||
|
"-w: suppress warnings (except as required by #extension : warn)\n"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
|
|||||||
@ -37,3 +37,10 @@ in vec4 gl_Color;
|
|||||||
flat in vec4 gl_Color;
|
flat in vec4 gl_Color;
|
||||||
flat in vec4 gl_Color[2]; // ERROR, array
|
flat in vec4 gl_Color[2]; // ERROR, array
|
||||||
vec4 gl_Color; // ERROR, storage
|
vec4 gl_Color; // ERROR, storage
|
||||||
|
|
||||||
|
#extension GL_ARB_texture_gather : warn
|
||||||
|
|
||||||
|
void bar()
|
||||||
|
{
|
||||||
|
vec4 s = textureGather(sampC, vec3(0.2));
|
||||||
|
}
|
||||||
|
|||||||
@ -3,7 +3,9 @@ ERROR: 0:25: 'texture gather function' : not supported for this version or the e
|
|||||||
ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color
|
ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color
|
||||||
ERROR: 0:38: 'gl_Color' : redeclaring non-array as array
|
ERROR: 0:38: 'gl_Color' : redeclaring non-array as array
|
||||||
ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color
|
ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color
|
||||||
ERROR: 4 compilation errors. No code generated.
|
ERROR: 0:43: 'bar' : function already has a body
|
||||||
|
WARNING: 0:45: extension GL_ARB_texture_gather is being used for texture gather function
|
||||||
|
ERROR: 5 compilation errors. No code generated.
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:16 Function Definition: main( (void)
|
0:16 Function Definition: main( (void)
|
||||||
@ -40,6 +42,18 @@ ERROR: node is still EOpNull!
|
|||||||
0:32 0.200000
|
0:32 0.200000
|
||||||
0:32 0.200000
|
0:32 0.200000
|
||||||
0:32 0.200000
|
0:32 0.200000
|
||||||
|
0:43 Function Definition: bar( (void)
|
||||||
|
0:43 Function Parameters:
|
||||||
|
0:45 Sequence
|
||||||
|
0:45 Sequence
|
||||||
|
0:45 move second child to first child (4-component vector of float)
|
||||||
|
0:45 's' (4-component vector of float)
|
||||||
|
0:45 Function Call: textureGather(sC1;vf3; (4-component vector of float)
|
||||||
|
0:45 'sampC' (uniform samplerCube)
|
||||||
|
0:45 Constant:
|
||||||
|
0:45 0.200000
|
||||||
|
0:45 0.200000
|
||||||
|
0:45 0.200000
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a' (3-component vector of float)
|
0:? 'a' (3-component vector of float)
|
||||||
0:? 'b' (float)
|
0:? 'b' (float)
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
WARNING: #version: statement missing; use #version on first line of shader
|
|
||||||
ERROR: 0:46: 'xyxwx' : illegal vector field selection
|
ERROR: 0:46: 'xyxwx' : illegal vector field selection
|
||||||
ERROR: 0:46: 'xyxwx' : illegal vector field selection
|
ERROR: 0:46: 'xyxwx' : illegal vector field selection
|
||||||
ERROR: 2 compilation errors. No code generated.
|
ERROR: 2 compilation errors. No code generated.
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
empty.frag
|
empty.frag
|
||||||
WARNING: #version: statement missing; use #version on first line of shader
|
|
||||||
|
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|
||||||
empty2.frag
|
empty2.frag
|
||||||
WARNING: #version: statement missing; use #version on first line of shader
|
|
||||||
|
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
WARNING: #version: statement missing; use #version on first line of shader
|
|
||||||
ERROR: 0:1: 'main' : function cannot take any parameter(s)
|
ERROR: 0:1: 'main' : function cannot take any parameter(s)
|
||||||
ERROR: 0:1: 'int' : main function cannot return a value
|
ERROR: 0:1: 'int' : main function cannot return a value
|
||||||
ERROR: 2 compilation errors. No code generated.
|
ERROR: 2 compilation errors. No code generated.
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
WARNING: #version: statement missing; use #version on first line of shader
|
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:5 Function Definition: main( (void)
|
0:5 Function Definition: main( (void)
|
||||||
0:5 Function Parameters:
|
0:5 Function Parameters:
|
||||||
|
|||||||
@ -296,7 +296,7 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
|
|||||||
// Get a good version...
|
// Get a good version...
|
||||||
if (version == 0) {
|
if (version == 0) {
|
||||||
version = defaultVersion;
|
version = defaultVersion;
|
||||||
infoSink.info.message(EPrefixWarning, "#version: statement missing; use #version on first line of shader");
|
// infoSink.info.message(EPrefixWarning, "#version: statement missing; use #version on first line of shader");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get a good profile...
|
// Get a good profile...
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user