mesa/shaderimage: Make is_image_format_supported public

It will be used by the ARB_internalformat_query2 implementation
to implement queries related to the ARB_shader_image_load_store
extension.

Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Antia Puentes
2015-11-15 18:01:56 +01:00
committed by Eduardo Lima Mitev
parent fae2b10ff9
commit 876f7a7c08
2 changed files with 13 additions and 8 deletions

View File

@@ -331,12 +331,9 @@ get_image_format_class(mesa_format format)
}
}
/**
* Return whether an image format should be supported based on the current API
* version of the context.
*/
static bool
is_image_format_supported(const struct gl_context *ctx, GLenum format)
bool
_mesa_is_shader_image_format_supported(const struct gl_context *ctx,
GLenum format)
{
switch (format) {
/* Formats supported on both desktop and ES GL, c.f. table 8.27 of the
@@ -503,7 +500,7 @@ validate_bind_image_texture(struct gl_context *ctx, GLuint unit,
return GL_FALSE;
}
if (!is_image_format_supported(ctx, format)) {
if (!_mesa_is_shader_image_format_supported(ctx, format)) {
_mesa_error(ctx, GL_INVALID_VALUE, "glBindImageTexture(format)");
return GL_FALSE;
}
@@ -668,7 +665,7 @@ _mesa_BindImageTextures(GLuint first, GLsizei count, const GLuint *textures)
tex_format = image->InternalFormat;
}
if (!is_image_format_supported(ctx, tex_format)) {
if (!_mesa_is_shader_image_format_supported(ctx, tex_format)) {
/* The ARB_multi_bind spec says:
*
* "An INVALID_OPERATION error is generated if the internal

View File

@@ -42,6 +42,14 @@ struct gl_context;
mesa_format
_mesa_get_shader_image_format(GLenum format);
/**
* Return whether an image format should be supported based on the current API
* version of the context.
*/
bool
_mesa_is_shader_image_format_supported(const struct gl_context *ctx,
GLenum format);
/**
* Get a single image unit struct with the default state.
*/