mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 19:00:13 +01:00
mesa: add support for ARB_texture_buffer_object_rgb32
This adds the extensions + the tex buffer support for checking the formats. There is a piglit test enhancement sent to that list. Reviewed-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
7d7a549fa0
commit
1b62c326ea
3 changed files with 15 additions and 0 deletions
|
|
@ -127,6 +127,7 @@ static const struct extension extension_table[] = {
|
|||
{ "GL_ARB_sync", o(ARB_sync), GL, 2003 },
|
||||
{ "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GLL, 2000 },
|
||||
{ "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GLC, 2008 },
|
||||
{ "GL_ARB_texture_buffer_object_rgb32", o(ARB_texture_buffer_object_rgb32), GLC, 2009 },
|
||||
{ "GL_ARB_texture_compression", o(dummy_true), GLL, 2000 },
|
||||
{ "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 },
|
||||
{ "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GLL, 1999 },
|
||||
|
|
|
|||
|
|
@ -2989,6 +2989,7 @@ struct gl_extensions
|
|||
GLboolean ARB_sync;
|
||||
GLboolean ARB_texture_border_clamp;
|
||||
GLboolean ARB_texture_buffer_object;
|
||||
GLboolean ARB_texture_buffer_object_rgb32;
|
||||
GLboolean ARB_texture_compression_rgtc;
|
||||
GLboolean ARB_texture_cube_map;
|
||||
GLboolean ARB_texture_cube_map_array;
|
||||
|
|
|
|||
|
|
@ -3848,6 +3848,13 @@ get_texbuffer_format(const struct gl_context *ctx, GLenum internalFormat)
|
|||
case GL_R32UI:
|
||||
return MESA_FORMAT_R_UINT32;
|
||||
|
||||
case GL_RGB32F:
|
||||
return MESA_FORMAT_RGB_FLOAT32;
|
||||
case GL_RGB32UI:
|
||||
return MESA_FORMAT_RGB_UINT32;
|
||||
case GL_RGB32I:
|
||||
return MESA_FORMAT_RGB_INT32;
|
||||
|
||||
default:
|
||||
return MESA_FORMAT_NONE;
|
||||
}
|
||||
|
|
@ -3879,6 +3886,12 @@ validate_texbuffer_format(const struct gl_context *ctx, GLenum internalFormat)
|
|||
if (base_format == GL_R || base_format == GL_RG)
|
||||
return MESA_FORMAT_NONE;
|
||||
}
|
||||
|
||||
if (!ctx->Extensions.ARB_texture_buffer_object_rgb32) {
|
||||
GLenum base_format = _mesa_get_format_base_format(format);
|
||||
if (base_format == GL_RGB)
|
||||
return MESA_FORMAT_NONE;
|
||||
}
|
||||
return format;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue