From d8741ad251d65b7cf2aa019ed5d0713a264bc941 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 29 Aug 2019 16:05:20 -0700 Subject: mesa: Redefine the RG formats as array formats. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the layout used in the GL API, and maps directly to PIPE formats with no endianness trickery. As with the LA change, this fixes big-endian fetching from texbos. Also cleans up some endian shenanigans in shader images. Reviewed-by: Marek Olšák --- src/mesa/state_tracker/st_format.c | 48 +++++++++++++------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) (limited to 'src/mesa/state_tracker/st_format.c') diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index aa293ac5195..35d2e3bc915 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -212,14 +212,10 @@ st_mesa_format_to_pipe_format(const struct st_context *st, return PIPE_FORMAT_R8_UNORM; case MESA_FORMAT_R_UNORM16: return PIPE_FORMAT_R16_UNORM; - case MESA_FORMAT_R8G8_UNORM: - return PIPE_FORMAT_RG88_UNORM; - case MESA_FORMAT_G8R8_UNORM: - return PIPE_FORMAT_GR88_UNORM; - case MESA_FORMAT_R16G16_UNORM: - return PIPE_FORMAT_RG1616_UNORM; - case MESA_FORMAT_G16R16_UNORM: - return PIPE_FORMAT_GR1616_UNORM; + case MESA_FORMAT_RG_UNORM8: + return PIPE_FORMAT_R8G8_UNORM; + case MESA_FORMAT_RG_UNORM16: + return PIPE_FORMAT_R16G16_UNORM; case MESA_FORMAT_RGBA_UNORM16: return PIPE_FORMAT_R16G16B16A16_UNORM; @@ -366,10 +362,8 @@ st_mesa_format_to_pipe_format(const struct st_context *st, /* signed normalized formats */ case MESA_FORMAT_R_SNORM8: return PIPE_FORMAT_R8_SNORM; - case MESA_FORMAT_R8G8_SNORM: - return PIPE_FORMAT_RG88_SNORM; - case MESA_FORMAT_G8R8_SNORM: - return PIPE_FORMAT_GR88_SNORM; + case MESA_FORMAT_RG_SNORM8: + return PIPE_FORMAT_R8G8_SNORM; case MESA_FORMAT_R8G8B8A8_SNORM: return PIPE_FORMAT_RGBA8888_SNORM; case MESA_FORMAT_A8B8G8R8_SNORM: @@ -386,10 +380,8 @@ st_mesa_format_to_pipe_format(const struct st_context *st, case MESA_FORMAT_R_SNORM16: return PIPE_FORMAT_R16_SNORM; - case MESA_FORMAT_R16G16_SNORM: - return PIPE_FORMAT_RG1616_SNORM; - case MESA_FORMAT_G16R16_SNORM: - return PIPE_FORMAT_GR1616_SNORM; + case MESA_FORMAT_RG_SNORM16: + return PIPE_FORMAT_R16G16_SNORM; case MESA_FORMAT_RGBA_SNORM16: return PIPE_FORMAT_R16G16B16A16_SNORM; @@ -804,14 +796,10 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_R_UNORM8; case PIPE_FORMAT_R16_UNORM: return MESA_FORMAT_R_UNORM16; - case PIPE_FORMAT_RG88_UNORM: - return MESA_FORMAT_R8G8_UNORM; - case PIPE_FORMAT_GR88_UNORM: - return MESA_FORMAT_G8R8_UNORM; - case PIPE_FORMAT_RG1616_UNORM: - return MESA_FORMAT_R16G16_UNORM; - case PIPE_FORMAT_GR1616_UNORM: - return MESA_FORMAT_G16R16_UNORM; + case PIPE_FORMAT_R8G8_UNORM: + return MESA_FORMAT_RG_UNORM8; + case PIPE_FORMAT_R16G16_UNORM: + return MESA_FORMAT_RG_UNORM16; case PIPE_FORMAT_A8_UINT: return MESA_FORMAT_A_UINT8; @@ -953,10 +941,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format) /* signed normalized formats */ case PIPE_FORMAT_R8_SNORM: return MESA_FORMAT_R_SNORM8; - case PIPE_FORMAT_RG88_SNORM: - return MESA_FORMAT_R8G8_SNORM; - case PIPE_FORMAT_GR88_SNORM: - return MESA_FORMAT_G8R8_SNORM; + case PIPE_FORMAT_R8G8_SNORM: + return MESA_FORMAT_RG_SNORM8; case PIPE_FORMAT_RGBA8888_SNORM: return MESA_FORMAT_R8G8B8A8_SNORM; case PIPE_FORMAT_ABGR8888_SNORM: @@ -973,10 +959,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_R16_SNORM: return MESA_FORMAT_R_SNORM16; - case PIPE_FORMAT_RG1616_SNORM: - return MESA_FORMAT_R16G16_SNORM; - case PIPE_FORMAT_GR1616_SNORM: - return MESA_FORMAT_G16R16_SNORM; + case PIPE_FORMAT_R16G16_SNORM: + return MESA_FORMAT_RG_SNORM16; case PIPE_FORMAT_R16G16B16A16_SNORM: return MESA_FORMAT_RGBA_SNORM16; -- cgit v1.2.1