Cool. Thanks. Will update the patch.

-----Original Message-----
From: Palli, Tapani 
Sent: Friday, March 23, 2018 4:59 PM
To: Lin, Johnson <johnson....@intel.com>; Alejandro Piñeiro 
<apinhe...@igalia.com>; mesa-dev@lists.freedesktop.org
Subject: Re: [Mesa-dev] [PATCH] mesa: readpixels add support for GL_HALF_FLOAT


On 03/23/2018 07:54 AM, Lin, Johnson wrote:
> So the solution will be query if EXT_color_buffer_half_float is supported?

I think I found a proof that we don't actually need anything. Spec for 
EXT_color_buffer_float adds following text:

--- 8< ---
An INVALID_OPERATION error is generated ... if the color buffer is a 
floating-point format and type is not FLOAT, HALF FLOAT, or 
UNSIGNED_INT_10F_11F_11F_REV.
--- 8< ---

This means that type can be HALF FLOAT when color buffer has floating-point 
format.

(even though for some weird reason spec does not add it to earlier sentence 
that says " "For floating-point rendering surfaces, the combination format RGBA 
and type FLOAT is accepted.")

Since EXT_color_buffer_float is enabled, we can just use this patch. 
Please remove the comment about EXT_color_buffer_half_float extension though, 
that extension is not enabled and would need more work elsewhere.


> -----Original Message-----
> From: Palli, Tapani
> Sent: Friday, March 23, 2018 1:53 PM
> To: Lin, Johnson <johnson....@intel.com>; Alejandro Piñeiro 
> <apinhe...@igalia.com>; mesa-dev@lists.freedesktop.org
> Subject: Re: [Mesa-dev] [PATCH] mesa: readpixels add support for GL_HALF_FLOAT
> 
> 
> On 03/22/2018 07:53 AM, Tapani Pälli wrote:
>>
>>
>> On 03/22/2018 04:43 AM, Lin, Johnson wrote:
>>> Hi,  Thanks for the comments.
>>>
>>> I just noticed it does not check the extension support for
>>> EXT_color_buffer_float neither?
>>
>> That is probably because it is enabled as 'dummy_true' (see
>> extensions_table.h) so it's always enabled on any driver. I wonder if
>> we can just go and do the same for EXT_color_buffer_half_float? Is
>> there any driver that would not support this?
> 
> Took a brief look and no, we can't simply toggle it on. There is also some 
> API interaction defined by the spec that would need to be enabled, querying 
> component type via glGetFramebufferAttachmentParameteriv and so on.
> 
>>
>>> -----Original Message-----
>>> From: Palli, Tapani
>>> Sent: Wednesday, March 21, 2018 6:57 PM
>>> To: Alejandro Piñeiro <apinhe...@igalia.com>; Lin, Johnson
>>> <johnson....@intel.com>; mesa-dev@lists.freedesktop.org
>>> Subject: Re: [Mesa-dev] [PATCH] mesa: readpixels add support for
>>> GL_HALF_FLOAT
>>>
>>>
>>>
>>> On 21.03.2018 12:45, Tapani Pälli wrote:
>>>>
>>>>
>>>> On 21.03.2018 08:52, Alejandro Piñeiro wrote:
>>>>> On 21/03/18 06:57, Lin Johnson wrote:
>>>>>> Ext_color_buffer_half_float is using type GL_HALF_FLOAT and
>>>>>> data_type GL_FLOAT. This fix Android CTS test
>>>>>> android.view.cts.PixelCopyTest #TestWindowProducerCopyToRGBA16F
>>>>>>
>>>>>> Signed-off-by: Lin Johnson <johnson....@intel.com>
>>>>>> ---
>>>>>>     src/mesa/main/readpix.c | 2 ++
>>>>>>     1 file changed, 2 insertions(+)
>>>>>>
>>>>>> diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
>>>>>> index 6ce340ddf9bb..51331dd095ab 100644
>>>>>> --- a/src/mesa/main/readpix.c
>>>>>> +++ b/src/mesa/main/readpix.c
>>>>>> @@ -920,6 +920,8 @@ read_pixels_es3_error_check(GLenum format,
>>>>>> GLenum type,
>>>>>>        case GL_RGBA:
>>>>>>           if (type == GL_FLOAT && data_type == GL_FLOAT)
>>>>>>              return GL_NO_ERROR; /* EXT_color_buffer_float */
>>>>>> +      if (type == GL_HALF_FLOAT && data_type == GL_FLOAT)
>>>>>> +         return GL_NO_ERROR; /* EXT_color_buffer_half_float */
>>>>>
>>>>> If this combination is allowed thanks to that extension, what would
>>>>> happen if that extension is not supported? shouldn't include a
>>>>> extension check? Or that is checked in a different place?
>>>>
>>>> I was thinking the same. Having seen the test it does not seem to
>>>> make any kind of checks what is supported (like asking for
>>>> extension, or maybe asking for GL_IMPLEMENTATION_COLOR_READ_TYPE)
>>>> but attempts glReadPixels using GL_HALF_FLOAT type, I think it
>>>> should verify first that such reads are supported. Currently we
>>>> don't seem to support this extension.
>>>
>>> ... but probably support the functionality (OpenGL ES 3.2), so maybe
>>> some checks needed for ES version (?)
>>>
>>>
>>>>
>>>>
>>>>>>           if (type == GL_UNSIGNED_BYTE && data_type ==
>>>>>> GL_UNSIGNED_NORMALIZED)
>>>>>>              return GL_NO_ERROR;
>>>>>>           if (internalFormat == GL_RGB10_A2 &&
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> mesa-dev mailing list
>>>>> mesa-dev@lists.freedesktop.org
>>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>>>
>>>> _______________________________________________
>>>> mesa-dev mailing list
>>>> mesa-dev@lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to