Enumerate GL extensions in sorted order

Trac #18320 Sort order is OES, EXT, vendor Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@767 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 55d48c74
#define MAJOR_VERSION 0 #define MAJOR_VERSION 0
#define MINOR_VERSION 0 #define MINOR_VERSION 0
#define BUILD_VERSION 0 #define BUILD_VERSION 0
#define BUILD_REVISION 766 #define BUILD_REVISION 767
#define STRINGIFY(x) #x #define STRINGIFY(x) #x
#define MACRO_STRINGIFY(x) STRINGIFY(x) #define MACRO_STRINGIFY(x) STRINGIFY(x)
......
...@@ -3369,68 +3369,76 @@ void Context::setVertexAttrib(GLuint index, const GLfloat *values) ...@@ -3369,68 +3369,76 @@ void Context::setVertexAttrib(GLuint index, const GLfloat *values)
mVertexDataManager->dirtyCurrentValue(index); mVertexDataManager->dirtyCurrentValue(index);
} }
// keep list sorted in following order
// OES extensions
// EXT extensions
// Vendor extensions
void Context::initExtensionString() void Context::initExtensionString()
{ {
mExtensionString += "GL_OES_packed_depth_stencil "; mExtensionString = "";
mExtensionString += "GL_EXT_texture_format_BGRA8888 ";
mExtensionString += "GL_EXT_read_format_bgra ";
mExtensionString += "GL_ANGLE_framebuffer_blit ";
mExtensionString += "GL_OES_rgb8_rgba8 ";
mExtensionString += "GL_OES_standard_derivatives ";
if (supportsEventQueries()) // OES extensions
if (supports32bitIndices())
{ {
mExtensionString += "GL_NV_fence "; mExtensionString += "GL_OES_element_index_uint ";
} }
if (supportsDXT1Textures()) mExtensionString += "GL_OES_packed_depth_stencil ";
{ mExtensionString += "GL_OES_rgb8_rgba8 ";
mExtensionString += "GL_EXT_texture_compression_dxt1 "; mExtensionString += "GL_OES_standard_derivatives ";
}
if (supportsDXT3Textures()) if (supportsHalfFloatTextures())
{ {
mExtensionString += "GL_ANGLE_texture_compression_dxt3 "; mExtensionString += "GL_OES_texture_half_float ";
} }
if (supportsHalfFloatLinearFilter())
if (supportsDXT5Textures())
{ {
mExtensionString += "GL_ANGLE_texture_compression_dxt5 "; mExtensionString += "GL_OES_texture_half_float_linear ";
} }
if (supportsFloatTextures()) if (supportsFloatTextures())
{ {
mExtensionString += "GL_OES_texture_float "; mExtensionString += "GL_OES_texture_float ";
} }
if (supportsFloatLinearFilter())
if (supportsHalfFloatTextures())
{ {
mExtensionString += "GL_OES_texture_half_float "; mExtensionString += "GL_OES_texture_float_linear ";
} }
if (supportsFloatLinearFilter()) if (supportsNonPower2Texture())
{ {
mExtensionString += "GL_OES_texture_float_linear "; mExtensionString += "GL_OES_texture_npot ";
} }
if (supportsHalfFloatLinearFilter()) // Multi-vendor (EXT) extensions
mExtensionString += "GL_EXT_read_format_bgra ";
if (supportsDXT1Textures())
{ {
mExtensionString += "GL_OES_texture_half_float_linear "; mExtensionString += "GL_EXT_texture_compression_dxt1 ";
} }
mExtensionString += "GL_EXT_texture_format_BGRA8888 ";
// ANGLE-specific extensions
mExtensionString += "GL_ANGLE_framebuffer_blit ";
if (getMaxSupportedSamples() != 0) if (getMaxSupportedSamples() != 0)
{ {
mExtensionString += "GL_ANGLE_framebuffer_multisample "; mExtensionString += "GL_ANGLE_framebuffer_multisample ";
} }
if (supports32bitIndices()) if (supportsDXT3Textures())
{ {
mExtensionString += "GL_OES_element_index_uint "; mExtensionString += "GL_ANGLE_texture_compression_dxt3 ";
}
if (supportsDXT5Textures())
{
mExtensionString += "GL_ANGLE_texture_compression_dxt5 ";
} }
if (supportsNonPower2Texture()) // Other vendor-specific extensions
if (supportsEventQueries())
{ {
mExtensionString += "GL_OES_texture_npot "; mExtensionString += "GL_NV_fence ";
} }
std::string::size_type end = mExtensionString.find_last_not_of(' '); std::string::size_type end = mExtensionString.find_last_not_of(' ');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment