[Mesa-dev] [PATCH 1/3] mesa: return 0 for GL_INTERNALFORMAT_SUPPORTED for unsupported TBO formats
Alejandro Piñeiro
apinheiro at igalia.com
Tue Oct 24 09:47:51 UTC 2017
On 21/10/17 14:54, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> ---
> src/mesa/main/formatquery.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
> index 77c7faa..05b7810 100644
> --- a/src/mesa/main/formatquery.c
> +++ b/src/mesa/main/formatquery.c
> @@ -895,20 +895,25 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
> if (pname == GL_NUM_SAMPLE_COUNTS && ctx->API == API_OPENGLES2 &&
> ctx->Version == 30 && _mesa_is_enum_format_integer(internalformat)) {
> goto end;
> }
>
> ctx->Driver.QueryInternalFormat(ctx, target, internalformat, pname,
> buffer);
> break;
>
> case GL_INTERNALFORMAT_SUPPORTED:
> + /* Reject invalid texture buffer formats. */
> + if (target == GL_TEXTURE_BUFFER &&
> + _mesa_validate_texbuffer_format(ctx, internalformat) == MESA_FORMAT_NONE)
> + break;
> +
_mesa_validate_texbuffer_format with that internalformat if target is
GL_TEXTURE_BUFFER is already called on _is_resource_supported, on line
864. Why it is needed a second call here?
> /* Having a supported <internalformat> is implemented as a prerequisite
> * for all the <pnames>. Thus, if we reach this point, the internalformat is
> * supported.
> */
> buffer[0] = GL_TRUE;
> break;
>
> case GL_INTERNALFORMAT_PREFERRED:
> /* The ARB_internalformat_query2 spec says:
> *
More information about the mesa-dev
mailing list