Support GL_ARB_texture_cube_map_array extension for desktop.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25025 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2014-01-26 22:22:54 +00:00
parent 4e9d8c3171
commit e5fbec8a17
7 changed files with 105 additions and 5 deletions

View File

@@ -9,5 +9,5 @@
// source have to figure out how to create revision.h just to get a build
// going. However, if it is not updated, it can be a version behind.
#define GLSLANG_REVISION "25015"
#define GLSLANG_DATE "2014/01/25 18:44:34"
#define GLSLANG_REVISION "25018"
#define GLSLANG_DATE "2014/01/26 00:56:43"

View File

@@ -1464,7 +1464,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile)
continue;
if (dim == Esd3D && shadow)
continue;
if (dim == EsdCube && arrayed && version < 400)
if (dim == EsdCube && arrayed && (profile == EEsProfile || version < 130))
continue;
if (dim == EsdBuffer && (profile == EEsProfile || version < 140))
continue;

View File

@@ -735,12 +735,17 @@ int TScanContext::tokenizeIdentifier()
case DVEC2:
case DVEC3:
case DVEC4:
afterType = true;
if (parseContext.profile == EEsProfile || parseContext.version < 400)
reservedWord();
return keyword;
case SAMPLERCUBEARRAY:
case SAMPLERCUBEARRAYSHADOW:
case ISAMPLERCUBEARRAY:
case USAMPLERCUBEARRAY:
afterType = true;
if (parseContext.profile == EEsProfile || parseContext.version < 400)
if (parseContext.profile == EEsProfile || (parseContext.version < 400 && ! parseContext.extensionsTurnedOn(1, &GL_ARB_texture_cube_map_array)))
reservedWord();
return keyword;

View File

@@ -163,6 +163,7 @@ void TParseContext::initializeExtensionBehavior()
extensionBehavior[GL_ARB_separate_shader_objects] = EBhDisable;
extensionBehavior[GL_ARB_tessellation_shader] = EBhDisable;
extensionBehavior[GL_ARB_enhanced_layouts] = EBhDisable;
extensionBehavior[GL_ARB_texture_cube_map_array] = EBhDisable;
}
// Get code that is not part of a shared symbol table, is specific to this shader,
@@ -186,7 +187,8 @@ const char* TParseContext::getPreamble()
"#define GL_ARB_gpu_shader5 1\n"
"#define GL_ARB_separate_shader_objects 1\n"
"#define GL_ARB_tessellation_shader 1\n"
"#define GL_ARB_enhanced_layouts 1\n";
"#define GL_ARB_enhanced_layouts 1\n"
"#define GL_ARB_texture_cube_map_array 1\n";
}
}

View File

@@ -87,6 +87,7 @@ const char* const GL_ARB_gpu_shader5 = "GL_ARB_gpu_shader5";
const char* const GL_ARB_separate_shader_objects = "GL_ARB_separate_shader_objects";
const char* const GL_ARB_tessellation_shader = "GL_ARB_tessellation_shader";
const char* const GL_ARB_enhanced_layouts = "GL_ARB_enhanced_layouts";
const char* const GL_ARB_texture_cube_map_array = "GL_ARB_texture_cube_map_array";
} // end namespace glslang