Improve robustness of extension checking, and its intersection with ES 100 features.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23388 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-10-04 21:09:36 +00:00
parent c6b7e6350b
commit 816e9bc90b
13 changed files with 365 additions and 92 deletions

View file

@ -40,16 +40,6 @@
// Help manage multiple profiles, versions, extensions etc.
//
//
// The behaviors from "#extension extension_name : behavior"
//
typedef enum {
EBhRequire,
EBhEnable,
EBhWarn,
EBhDisable
} TExtensionBehavior;
//
// Profiles are set up for masking operations, so queries can be done on multiple
// profiles at the same time.
@ -65,4 +55,26 @@ typedef enum {
EEsProfile = (1 << 3)
} EProfile;
namespace glslang {
//
// The behaviors from the GLSL "#extension extension_name : behavior"
//
typedef enum {
EBhRequire,
EBhEnable,
EBhWarn,
EBhDisable
} TExtensionBehavior;
//
// Symbolic names for extensions. Strings may be directly used when calling the
// functions, but better to have the compiler do spelling checks.
//
const char* const GL_ARB_texture_rectangle = "GL_ARB_texture_rectangle";
const char* const GL_3DL_array_objects = "GL_3DL_array_objects";
const char* const GL_ARB_shading_language_420pack = "GL_ARB_shading_language_420pack";
} // end namespace glslang
#endif // _VERSIONS_INCLUDED_