st/mesa: add support for GL_OES_compressed_ETC1_RGB8_texture
Have st/mesa recognize MESA_FORMAT_ETC1_RGB8 then we are good to advertise the extension. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -475,6 +475,14 @@ void st_init_extensions(struct st_context *st)
|
|||||||
ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE;
|
ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctx->API != API_OPENGL) {
|
||||||
|
if (screen->is_format_supported(screen, PIPE_FORMAT_ETC1_RGB8,
|
||||||
|
PIPE_TEXTURE_2D, 0,
|
||||||
|
PIPE_BIND_SAMPLER_VIEW)) {
|
||||||
|
ctx->Extensions.OES_compressed_ETC1_RGB8_texture = GL_TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SNORM,
|
if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SNORM,
|
||||||
PIPE_TEXTURE_2D, 0,
|
PIPE_TEXTURE_2D, 0,
|
||||||
PIPE_BIND_SAMPLER_VIEW)) {
|
PIPE_BIND_SAMPLER_VIEW)) {
|
||||||
|
@@ -420,6 +420,9 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
|
|||||||
case MESA_FORMAT_SIGNED_LA_LATC2:
|
case MESA_FORMAT_SIGNED_LA_LATC2:
|
||||||
return PIPE_FORMAT_LATC2_SNORM;
|
return PIPE_FORMAT_LATC2_SNORM;
|
||||||
|
|
||||||
|
case MESA_FORMAT_ETC1_RGB8:
|
||||||
|
return PIPE_FORMAT_ETC1_RGB8;
|
||||||
|
|
||||||
/* signed normalized formats */
|
/* signed normalized formats */
|
||||||
case MESA_FORMAT_SIGNED_R8:
|
case MESA_FORMAT_SIGNED_R8:
|
||||||
return PIPE_FORMAT_R8_SNORM;
|
return PIPE_FORMAT_R8_SNORM;
|
||||||
@@ -745,6 +748,9 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
|
|||||||
case PIPE_FORMAT_LATC2_SNORM:
|
case PIPE_FORMAT_LATC2_SNORM:
|
||||||
return MESA_FORMAT_SIGNED_LA_LATC2;
|
return MESA_FORMAT_SIGNED_LA_LATC2;
|
||||||
|
|
||||||
|
case PIPE_FORMAT_ETC1_RGB8:
|
||||||
|
return MESA_FORMAT_ETC1_RGB8;
|
||||||
|
|
||||||
/* signed normalized formats */
|
/* signed normalized formats */
|
||||||
case PIPE_FORMAT_R8_SNORM:
|
case PIPE_FORMAT_R8_SNORM:
|
||||||
return MESA_FORMAT_SIGNED_R8;
|
return MESA_FORMAT_SIGNED_R8;
|
||||||
@@ -1189,6 +1195,12 @@ static const struct format_mapping format_map[] = {
|
|||||||
{ PIPE_FORMAT_LATC2_SNORM, 0 }
|
{ PIPE_FORMAT_LATC2_SNORM, 0 }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/* ETC1 */
|
||||||
|
{
|
||||||
|
{ GL_ETC1_RGB8_OES, 0 },
|
||||||
|
{ PIPE_FORMAT_ETC1_RGB8, 0 }
|
||||||
|
},
|
||||||
|
|
||||||
/* signed/unsigned integer formats.
|
/* signed/unsigned integer formats.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user