X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fglformats.c;h=76f1f9a28b7239a087cac850cc427f342879941e;hb=3bbd543b6ef1a59e5edb940915d822514a43e467;hp=41e7393a46df72b785b517e0a085cd649df8cbf7;hpb=70bfd312875810e23962a70c9ba98c8295d6a3fd;p=mesa.git diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c index 41e7393a46d..76f1f9a28b7 100644 --- a/src/mesa/main/glformats.c +++ b/src/mesa/main/glformats.c @@ -1354,8 +1354,7 @@ _mesa_is_compressed_format(const struct gl_context *ctx, GLenum format) case GL_RGBA4_S3TC: return _mesa_has_S3_s3tc(ctx); case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: - return ctx->API == API_OPENGL_COMPAT - && ctx->Extensions.ATI_texture_compression_3dc; + return _mesa_has_ATI_texture_compression_3dc(ctx); case GL_PALETTE4_RGB8_OES: case GL_PALETTE4_RGBA8_OES: case GL_PALETTE4_R5_G6_B5_OES: @@ -1372,33 +1371,25 @@ _mesa_is_compressed_format(const struct gl_context *ctx, GLenum format) 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_FXT1: - return _mesa_is_desktop_gl(ctx) - && ctx->Extensions.TDFX_texture_compression_FXT1; + return _mesa_has_3DFX_texture_compression_FXT1(ctx); case MESA_FORMAT_LAYOUT_RGTC: - return _mesa_is_desktop_gl(ctx) - && ctx->Extensions.ARB_texture_compression_rgtc; + return _mesa_has_ARB_texture_compression_rgtc(ctx); case MESA_FORMAT_LAYOUT_LATC: - return ctx->API == API_OPENGL_COMPAT - && ctx->Extensions.EXT_texture_compression_latc; + return _mesa_has_EXT_texture_compression_latc(ctx); case MESA_FORMAT_LAYOUT_ETC1: - return _mesa_is_gles(ctx) - && ctx->Extensions.OES_compressed_ETC1_RGB8_texture; + 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_is_desktop_gl(ctx) && - ctx->Extensions.ARB_texture_compression_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; } @@ -1809,7 +1800,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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; @@ -1824,7 +1815,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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; @@ -1838,7 +1829,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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 && @@ -2096,7 +2087,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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; @@ -2136,7 +2127,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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; @@ -2151,7 +2142,7 @@ _mesa_error_check_format_and_type(const struct gl_context *ctx, 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; @@ -2330,7 +2321,8 @@ _mesa_base_tex_format(const struct gl_context *ctx, GLint internalFormat) } } - 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: @@ -2345,7 +2337,8 @@ _mesa_base_tex_format(const struct gl_context *ctx, GLint internalFormat) } } - 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: @@ -2382,9 +2375,9 @@ _mesa_base_tex_format(const struct gl_context *ctx, GLint internalFormat) 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; @@ -2508,14 +2501,14 @@ _mesa_base_tex_format(const struct gl_context *ctx, GLint internalFormat) } } - 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: @@ -2808,7 +2801,7 @@ _mesa_gles_error_check_format_and_type(const struct gl_context *ctx, /* 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 ||