switch (_mesa_get_format_layout(m_format)) {
case MESA_FORMAT_LAYOUT_S3TC:
if (_mesa_get_format_color_encoding(m_format) == GL_LINEAR) {
- /* Assume that the ANGLE flag will always be set if the
- * EXT flag is set.
- */
- return ctx->Extensions.ANGLE_texture_compression_dxt;
+ return _mesa_has_EXT_texture_compression_s3tc(ctx);
} else {
return _mesa_has_EXT_texture_sRGB(ctx) &&
_mesa_has_EXT_texture_compression_s3tc(ctx);
case MESA_FORMAT_LAYOUT_ETC1:
return _mesa_has_OES_compressed_ETC1_RGB8_texture(ctx);
case MESA_FORMAT_LAYOUT_ETC2:
- return _mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility;
+ return _mesa_is_gles3(ctx) || _mesa_has_ARB_ES3_compatibility(ctx);
case MESA_FORMAT_LAYOUT_BPTC:
return _mesa_has_ARB_texture_compression_bptc(ctx);
case MESA_FORMAT_LAYOUT_ASTC:
- return ctx->Extensions.KHR_texture_compression_astc_ldr;
+ return _mesa_has_KHR_texture_compression_astc_ldr(ctx);
default:
return GL_FALSE;
}
break; /* OK */
}
if (format == GL_RGB_INTEGER_EXT &&
- ctx->Extensions.ARB_texture_rgb10_a2ui) {
+ _mesa_has_texture_rgb10_a2ui(ctx)) {
break; /* OK */
}
return GL_INVALID_OPERATION;
break; /* OK */
}
if ((format == GL_RGBA_INTEGER_EXT || format == GL_BGRA_INTEGER_EXT) &&
- ctx->Extensions.ARB_texture_rgb10_a2ui) {
+ _mesa_has_texture_rgb10_a2ui(ctx)) {
break; /* OK */
}
return GL_INVALID_OPERATION;
break; /* OK */
}
if ((format == GL_RGBA_INTEGER_EXT || format == GL_BGRA_INTEGER_EXT) &&
- ctx->Extensions.ARB_texture_rgb10_a2ui) {
+ _mesa_has_texture_rgb10_a2ui(ctx)) {
break; /* OK */
}
if (type == GL_UNSIGNED_INT_2_10_10_10_REV && format == GL_RGB &&
case GL_UNSIGNED_BYTE_2_3_3_REV:
case GL_UNSIGNED_SHORT_5_6_5:
case GL_UNSIGNED_SHORT_5_6_5_REV:
- return ctx->Extensions.ARB_texture_rgb10_a2ui
+ return _mesa_has_texture_rgb10_a2ui(ctx)
? GL_NO_ERROR : GL_INVALID_ENUM;
default:
return GL_INVALID_ENUM;
case GL_UNSIGNED_INT_8_8_8_8_REV:
case GL_UNSIGNED_INT_10_10_10_2:
case GL_UNSIGNED_INT_2_10_10_10_REV:
- return ctx->Extensions.ARB_texture_rgb10_a2ui
+ return _mesa_has_texture_rgb10_a2ui(ctx)
? GL_NO_ERROR : GL_INVALID_ENUM;
default:
return GL_INVALID_ENUM;
case GL_UNSIGNED_SHORT:
case GL_INT:
case GL_UNSIGNED_INT:
- return ctx->Extensions.EXT_texture_integer
+ return _mesa_has_integer_textures(ctx)
? GL_NO_ERROR : GL_INVALID_ENUM;
default:
return GL_INVALID_ENUM;
}
}
- if (ctx->Extensions.ARB_depth_texture) {
+ if (_mesa_has_ARB_depth_texture(ctx) || _mesa_has_OES_depth_texture(ctx) ||
+ ctx->API == API_OPENGL_CORE) {
switch (internalFormat) {
case GL_DEPTH_COMPONENT:
case GL_DEPTH_COMPONENT16:
}
}
- if (ctx->Extensions.ARB_texture_stencil8) {
+ if (_mesa_has_ARB_texture_stencil8(ctx) ||
+ _mesa_has_OES_texture_stencil8(ctx)) {
switch (internalFormat) {
case GL_STENCIL_INDEX:
case GL_STENCIL_INDEX1:
return base_compressed;
}
- if ((ctx->Extensions.KHR_texture_compression_astc_ldr &&
+ if ((_mesa_has_KHR_texture_compression_astc_ldr(ctx) &&
is_astc_2d_format(internalFormat)) ||
- (ctx->Extensions.OES_texture_compression_astc &&
+ (_mesa_has_OES_texture_compression_astc(ctx) &&
is_astc_3d_format(internalFormat)))
return GL_RGBA;
}
}
- if (ctx->Extensions.ARB_texture_rgb10_a2ui) {
+ if (_mesa_has_texture_rgb10_a2ui(ctx)) {
switch (internalFormat) {
case GL_RGB10_A2UI:
return GL_RGBA;
}
}
- if (ctx->Extensions.EXT_texture_integer) {
+ if (_mesa_has_integer_textures(ctx)) {
switch (internalFormat) {
case GL_ALPHA8UI_EXT:
case GL_ALPHA16UI_EXT:
/* The GLES variant of EXT_texture_compression_s3tc is very vague and
* doesn't list valid types. Just do exactly what the spec says.
*/
- if (ctx->Extensions.EXT_texture_compression_s3tc &&
+ if (_mesa_has_EXT_texture_compression_s3tc(ctx) &&
(internalFormat == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT ||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT ||