[Mesa-dev] [PATCH] formatquery: use correct target check for IMAGE_FORMAT_COMPATIBILITY_TYPE

Ilia Mirkin imirkin at alum.mit.edu
Fri Oct 27 12:52:08 UTC 2017


On Fri, Oct 27, 2017 at 5:18 AM, Alejandro PiƱeiro <apinheiro at igalia.com> wrote:
> From the spec:
>    "IMAGE_FORMAT_COMPATIBILITY_TYPE: The matching criteria use for the
>     resource when used as an image textures is returned in
>     <params>. This is equivalent to calling GetTexParameter"
>
> So we would need to return None for any target not supported by
> GetTexParameter. By mistake, we were using the target check for
> GetTexLevelParameter.
> ---
>  src/mesa/main/formatquery.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
> index 77c7faa2251..39c628039b8 100644
> --- a/src/mesa/main/formatquery.c
> +++ b/src/mesa/main/formatquery.c
> @@ -1430,7 +1430,13 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
>        if (!_mesa_has_ARB_shader_image_load_store(ctx))
>           goto end;
>
> -      if (!_mesa_legal_get_tex_level_parameter_target(ctx, target, true))
> +      /* As pointed by the spec quote below, this pname query should return
> +       * the same value that GetTexParameter. So if the target is not valid
> +       * for GetTexParameter we return the unsupported value. The check below
> +       * is the same target check used by GetTextParameter.

GetTexParameter

> +       */
> +      int targetIndex = _mesa_tex_target_to_index(ctx, target);
> +      if (targetIndex < 0 || targetIndex == TEXTURE_BUFFER_INDEX)
>           goto end;
>
>        /* From spec: "Equivalent to calling GetTexParameter with <value> set
> --
> 2.11.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list