[Mesa-dev] [PATCH] mesa: fix GL_{COLOR, DEPTH, STENCIL}_COMPONENTS queries for TBOs

Marek Olšák maraeo at gmail.com
Tue Oct 24 14:30:39 UTC 2017


These are failing:

checks for pnames related to arb_image_load_store that return values
from table 3.22 (opengl 4.2):
gl_image_compatibility_class
gl_image_pixel_format
gl_image_pixel_type
gl_image_texel_size

image_format_compatibility_type pname checks:
gl_image_format_compatibility_type

Marek


On Tue, Oct 24, 2017 at 4:04 PM, Alejandro Piñeiro <apinheiro at igalia.com> wrote:
> On 24/10/17 15:59, Marek Olšák wrote:
>> On Tue, Oct 24, 2017 at 3:30 PM, Alejandro Piñeiro <apinheiro at igalia.com> wrote:
>>> On 24/10/17 03:28, Ilia Mirkin wrote:
>>>> On Mon, Oct 23, 2017 at 9:16 PM, Marek Olšák <maraeo at gmail.com> wrote:
>>>>> From: Marek Olšák <marek.olsak at amd.com>
>>>>>
>>>>> ---
>>>>>  src/mesa/main/formatquery.c | 11 +++++++++++
>>>>>  1 file changed, 11 insertions(+)
>>>>>
>>>>> diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
>>>>> index 05b7810..9c53d7c 100644
>>>>> --- a/src/mesa/main/formatquery.c
>>>>> +++ b/src/mesa/main/formatquery.c
>>>>> @@ -1094,43 +1094,54 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
>>>>>     }
>>>>>
>>>>>     case GL_COLOR_COMPONENTS:
>>>>>        /* The ARB_internalformat_query2 spec says:
>>>>>         *
>>>>>         *     "- COLOR_COMPONENTS: If the internal format contains any color
>>>>>         *     components (R, G, B, or A), TRUE is returned in <params>.
>>>>>         *     If the internal format is unsupported or contains no color
>>>>>         *     components, FALSE is returned."
>>>>>         */
>>>>> +      if (target == GL_TEXTURE_BUFFER &&
>>>>> +          _mesa_validate_texbuffer_format(ctx, internalformat) ==
>>>>> +          MESA_FORMAT_NONE)
>>>>> +         break;
>>>> Because not all color formats are supported for TBO's, right?
>>> But in the same case that with INTERNALFORMAT_SUPPORTED on the quote
>>> spec, there is no reference to the format or the "resource", so the
>>> literal reading of that paragraph is ignore the target, and only returns
>>> if the format is supported in any combination. The method
>>> _is_resource_supported is already doing that on purpose.
>>>
>>> In any case, if we disagree with the interpretation of the spec, it
>>> would be more simple to modify the method _is_resource_supported.
>>>
>>>> Although _mesa_is_color_format returns true for unsupported formats as
>>>> well... although that's probably a separate bug.
>>>>
>>>> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>> NAK unless someone convinces otherwise about the spec interpretation.
>> I've already dropped all Mesa patches for internalformat_query2.
>
> Ok. But in any case, do you get any internalformat_query2 test failing?
> We were testing here your ARB_compatibility patches (plust a hack to
> enable it on i965) and we got not failures. If you are able to get them
> failing. Can we help somehow? What else we need to to to reproduce those
> failures?
>
> BR


More information about the mesa-dev mailing list