[Mesa-dev] [PATCH 05/16] svga: don't advertise support for R32G32B32_UINT/SINT surface formats
Roland Scheidegger
sroland at vmware.com
Thu Jun 30 00:13:46 UTC 2016
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?
But otherwise 4-16 are:
Acked-by: Roland Scheidegger <sroland at vmware.com>
More information about the mesa-dev
mailing list