[Mesa-dev] [PATCH 05/16] svga: don't advertise support for R32G32B32_UINT/SINT surface formats

Brian Paul brianp at vmware.com
Thu Jun 30 13:16:22 UTC 2016


On 06/29/2016 06:13 PM, Roland Scheidegger wrote:
> Am 29.06.2016 um 01:52 schrieb Brian Paul:
>> From: Neha Bhende <bhenden at vmware.com>
>>
>> We want to be able to copy between different 32-bit, 3-channel surface
>> formats for GL_ARB_copy_image but since we don't have a 3-channel float
>> format, we can't support 32-bit, 3-channel integer formats.
>>
>> The state tracker will choose 4-channel formats instead.
>>
>> Fixes the piglit arb_copy_image-format test for several cases.
>>
>> Note: This change may need to be revisited if/when the texture_view exension
>> is enabled in driver.
>>
>> Reviewed-by: Brian Paul <brianp at vmware.com>
>> ---
>>   src/gallium/drivers/svga/svga_format.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/drivers/svga/svga_format.c b/src/gallium/drivers/svga/svga_format.c
>> index 4662bef..17c3bf9 100644
>> --- a/src/gallium/drivers/svga/svga_format.c
>> +++ b/src/gallium/drivers/svga/svga_format.c
>> @@ -242,11 +242,11 @@ static const struct vgpu10_format_entry format_conversion_table[] =
>>      { PIPE_FORMAT_R16G16B16A16_SINT,     SVGA3D_R16G16B16A16_SINT,   SVGA3D_R16G16B16A16_SINT,    0 },
>>      { PIPE_FORMAT_R32_UINT,              SVGA3D_R32_UINT,            SVGA3D_R32_UINT,             0 },
>>      { PIPE_FORMAT_R32G32_UINT,           SVGA3D_R32G32_UINT,         SVGA3D_R32G32_UINT,          0 },
>> -   { PIPE_FORMAT_R32G32B32_UINT,        SVGA3D_R32G32B32_UINT,      SVGA3D_R32G32B32_UINT,       0 },
>> +   { PIPE_FORMAT_R32G32B32_UINT,        SVGA3D_R32G32B32_UINT,      SVGA3D_FORMAT_INVALID,       0 },
>>      { PIPE_FORMAT_R32G32B32A32_UINT,     SVGA3D_R32G32B32A32_UINT,   SVGA3D_R32G32B32A32_UINT,    0 },
>>      { PIPE_FORMAT_R32_SINT,              SVGA3D_R32_SINT,            SVGA3D_R32_SINT,             0 },
>>      { PIPE_FORMAT_R32G32_SINT,           SVGA3D_R32G32_SINT,         SVGA3D_R32G32_SINT,          0 },
>> -   { PIPE_FORMAT_R32G32B32_SINT,        SVGA3D_R32G32B32_SINT,      SVGA3D_R32G32B32_SINT,       0 },
>> +   { PIPE_FORMAT_R32G32B32_SINT,        SVGA3D_R32G32B32_SINT,      SVGA3D_FORMAT_INVALID,       0 },
>>      { PIPE_FORMAT_R32G32B32A32_SINT,     SVGA3D_R32G32B32A32_SINT,   SVGA3D_R32G32B32A32_SINT,    0 },
>>      { PIPE_FORMAT_A8_UINT,               SVGA3D_FORMAT_INVALID,      SVGA3D_FORMAT_INVALID,       0 },
>>      { PIPE_FORMAT_I8_UINT,               SVGA3D_FORMAT_INVALID,      SVGA3D_FORMAT_INVALID,       0 },
>>
>
> I don't doubt that it didn't work, but I don't quite understand the
> reasoning - R32G32B32_FLOAT seems to be supported? Or it doesn't work?

Hmm, IIRC, Neha ran into some problems with it.  I'll try omitting this 
patch and see what happens.  I'll drop the patch if it's not actually 
needed.


> But otherwise 4-16 are:
> Acked-by: Roland Scheidegger <sroland at vmware.com>

Thanks.

-Brian




More information about the mesa-dev mailing list