mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 11:50:09 +01:00
mesa: expose EXT_texture_compression_s3tc on GLES
The spec was modified to support GLES. Tested-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
2734baa9e2
commit
a09cbaffbf
3 changed files with 13 additions and 1 deletions
|
|
@ -57,6 +57,7 @@ Note: some of the new features are only available with certain drivers.
|
|||
<li>GL_AMD_multi_draw_indirect on all GL 4.x drivers.</li>
|
||||
<li>GL_AMD_query_buffer_object on i965, nvc0, r600, radeonsi.</li>
|
||||
<li>GL_EXT_disjoint_timer_query on radeonsi and most other Gallium drivers (ES extension)</li>
|
||||
<li>GL_EXT_texture_compression_s3tc on all drivers (ES extension)<li>
|
||||
<li>GL_EXT_vertex_attrib_64bit on i965, nvc0, radeonsi.</li>
|
||||
<li>GL_EXT_window_rectangles on radeonsi.</li>
|
||||
<li>GL_KHR_texture_compression_astc_sliced_3d on radeonsi.</li>
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ EXT(EXT_texture_buffer , OES_texture_buffer
|
|||
EXT(EXT_texture_compression_dxt1 , ANGLE_texture_compression_dxt , GLL, GLC, ES1, ES2, 2004)
|
||||
EXT(EXT_texture_compression_latc , EXT_texture_compression_latc , GLL, x , x , x , 2006)
|
||||
EXT(EXT_texture_compression_rgtc , ARB_texture_compression_rgtc , GLL, GLC, x , x , 2004)
|
||||
EXT(EXT_texture_compression_s3tc , EXT_texture_compression_s3tc , GLL, GLC, x , x , 2000)
|
||||
EXT(EXT_texture_compression_s3tc , EXT_texture_compression_s3tc , GLL, GLC, x , ES2, 2000)
|
||||
EXT(EXT_texture_cube_map , ARB_texture_cube_map , GLL, x , x , x , 2001)
|
||||
EXT(EXT_texture_cube_map_array , OES_texture_cube_map_array , x , x , x , 31, 2014)
|
||||
EXT(EXT_texture_edge_clamp , dummy_true , GLL, x , x , x , 1997)
|
||||
|
|
|
|||
|
|
@ -2803,6 +2803,17 @@ _mesa_es3_error_check_format_and_type(const struct gl_context *ctx,
|
|||
internalFormat = effectiveInternalFormat;
|
||||
}
|
||||
|
||||
/* 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 &&
|
||||
(internalFormat == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ||
|
||||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT ||
|
||||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT ||
|
||||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT))
|
||||
return format == GL_RGB || format == GL_RGBA ? GL_NO_ERROR :
|
||||
GL_INVALID_OPERATION;
|
||||
|
||||
switch (format) {
|
||||
case GL_BGRA_EXT:
|
||||
if (type != GL_UNSIGNED_BYTE || internalFormat != GL_BGRA)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue