[Mesa-dev] [PATCH 4/4] st/mesa: use R10G10B10X2 format where applicable
Marek Olšák
maraeo at gmail.com
Fri Sep 29 15:04:23 UTC 2017
I commented on patch 2. The series is:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Sep 29, 2017 at 1:30 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> This is the last step of fixing
> dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb_unsigned_int_2_10_10_10_rev
> for radeonsi.
> ---
> src/mesa/state_tracker/st_format.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
> index 348853affd8..84b744e3df5 100644
> --- a/src/mesa/state_tracker/st_format.c
> +++ b/src/mesa/state_tracker/st_format.c
> @@ -82,20 +82,22 @@ st_mesa_format_to_pipe_format(const struct st_context *st, mesa_format mesaForma
> case MESA_FORMAT_B4G4R4A4_UNORM:
> return PIPE_FORMAT_B4G4R4A4_UNORM;
> case MESA_FORMAT_B5G6R5_UNORM:
> return PIPE_FORMAT_B5G6R5_UNORM;
> case MESA_FORMAT_B2G3R3_UNORM:
> return PIPE_FORMAT_B2G3R3_UNORM;
> case MESA_FORMAT_B10G10R10A2_UNORM:
> return PIPE_FORMAT_B10G10R10A2_UNORM;
> case MESA_FORMAT_R10G10B10A2_UNORM:
> return PIPE_FORMAT_R10G10B10A2_UNORM;
> + case MESA_FORMAT_R10G10B10X2_UNORM:
> + return PIPE_FORMAT_R10G10B10X2_UNORM;
> case MESA_FORMAT_L4A4_UNORM:
> return PIPE_FORMAT_L4A4_UNORM;
> case MESA_FORMAT_L8A8_UNORM:
> return PIPE_FORMAT_LA88_UNORM;
> case MESA_FORMAT_A8L8_UNORM:
> return PIPE_FORMAT_AL88_UNORM;
> case MESA_FORMAT_L16A16_UNORM:
> return PIPE_FORMAT_LA1616_UNORM;
> case MESA_FORMAT_A16L16_UNORM:
> return PIPE_FORMAT_AL1616_UNORM;
> @@ -559,20 +561,22 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
> case PIPE_FORMAT_B4G4R4A4_UNORM:
> return MESA_FORMAT_B4G4R4A4_UNORM;
> case PIPE_FORMAT_B5G6R5_UNORM:
> return MESA_FORMAT_B5G6R5_UNORM;
> case PIPE_FORMAT_B2G3R3_UNORM:
> return MESA_FORMAT_B2G3R3_UNORM;
> case PIPE_FORMAT_B10G10R10A2_UNORM:
> return MESA_FORMAT_B10G10R10A2_UNORM;
> case PIPE_FORMAT_R10G10B10A2_UNORM:
> return MESA_FORMAT_R10G10B10A2_UNORM;
> + case PIPE_FORMAT_R10G10B10X2_UNORM:
> + return MESA_FORMAT_R10G10B10X2_UNORM;
> case PIPE_FORMAT_L4A4_UNORM:
> return MESA_FORMAT_L4A4_UNORM;
> case PIPE_FORMAT_LA88_UNORM:
> return MESA_FORMAT_L8A8_UNORM;
> case PIPE_FORMAT_AL88_UNORM:
> return MESA_FORMAT_A8L8_UNORM;
> case PIPE_FORMAT_LA1616_UNORM:
> return MESA_FORMAT_L16A16_UNORM;
> case PIPE_FORMAT_AL1616_UNORM:
> return MESA_FORMAT_A16L16_UNORM;
> @@ -1051,21 +1055,21 @@ test_format_conversion(struct st_context *st)
> }
> }
>
>
> /**
> * Map GL texture formats to Gallium pipe formats.
> */
> struct format_mapping
> {
> GLenum glFormats[18]; /**< list of GLenum formats, 0-terminated */
> - enum pipe_format pipeFormats[13]; /**< list of pipe formats, 0-terminated */
> + enum pipe_format pipeFormats[14]; /**< list of pipe formats, 0-terminated */
> };
>
>
> #define DEFAULT_RGBA_FORMATS \
> PIPE_FORMAT_R8G8B8A8_UNORM, \
> PIPE_FORMAT_B8G8R8A8_UNORM, \
> PIPE_FORMAT_A8R8G8B8_UNORM, \
> PIPE_FORMAT_A8B8G8R8_UNORM, \
> 0
>
> @@ -1103,22 +1107,23 @@ struct format_mapping
>
> /**
> * This table maps OpenGL texture format enums to Gallium pipe_format enums.
> * Multiple GL enums might map to multiple pipe_formats.
> * The first pipe format in the list that's supported is the one that's chosen.
> */
> static const struct format_mapping format_map[] = {
> /* Basic RGB, RGBA formats */
> {
> { GL_RGB10, 0 },
> - { PIPE_FORMAT_B10G10R10X2_UNORM, PIPE_FORMAT_B10G10R10A2_UNORM,
> - PIPE_FORMAT_R10G10B10A2_UNORM, DEFAULT_RGB_FORMATS }
> + { PIPE_FORMAT_R10G10B10X2_UNORM, PIPE_FORMAT_B10G10R10X2_UNORM,
> + PIPE_FORMAT_R10G10B10A2_UNORM, PIPE_FORMAT_B10G10R10A2_UNORM,
> + DEFAULT_RGB_FORMATS }
> },
> {
> { GL_RGB10_A2, 0 },
> { PIPE_FORMAT_R10G10B10A2_UNORM, PIPE_FORMAT_B10G10R10A2_UNORM,
> DEFAULT_RGBA_FORMATS }
> },
> {
> { 4, GL_RGBA, GL_RGBA8, 0 },
> { PIPE_FORMAT_R8G8B8A8_UNORM, DEFAULT_RGBA_FORMATS }
> },
> --
> 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