[Mesa-dev] [PATCH 3/4] mesa: use _mesa_get_srgb_format_linear() in sRGB texstore functions

Chris Forbes chrisf at ijw.co.nz
Thu Apr 10 18:16:29 PDT 2014


I was about to get to this, really! :P

This patch is:

Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>


On Fri, Apr 11, 2014 at 1:04 PM, Brian Paul <brianp at vmware.com> wrote:
> Instead of switch statements.
> ---
>  src/mesa/main/texstore.c |   30 +++++-------------------------
>  1 file changed, 5 insertions(+), 25 deletions(-)
>
> diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
> index fe3b072..d9096ab 100644
> --- a/src/mesa/main/texstore.c
> +++ b/src/mesa/main/texstore.c
> @@ -3263,20 +3263,7 @@ _mesa_texstore_srgba8(TEXSTORE_PARAMS)
>            dstFormat == MESA_FORMAT_R8G8B8X8_SRGB ||
>            dstFormat == MESA_FORMAT_R8G8B8A8_SRGB);
>
> -   /* reuse normal rgba texstore code */
> -   if (dstFormat == MESA_FORMAT_A8B8G8R8_SRGB) {
> -      newDstFormat = MESA_FORMAT_A8B8G8R8_UNORM;
> -   }
> -   else if (dstFormat == MESA_FORMAT_R8G8B8A8_SRGB) {
> -      newDstFormat = MESA_FORMAT_R8G8B8A8_UNORM;
> -   }
> -   else if (dstFormat == MESA_FORMAT_R8G8B8X8_SRGB) {
> -      newDstFormat = MESA_FORMAT_R8G8B8X8_UNORM;
> -   }
> -   else {
> -      ASSERT(0);
> -      return GL_TRUE;
> -   }
> +   newDstFormat = _mesa_get_srgb_format_linear(dstFormat);
>
>     k = _mesa_texstore_rgba8888(ctx, dims, baseInternalFormat,
>                                 newDstFormat,
> @@ -3294,17 +3281,10 @@ _mesa_texstore_sargb8(TEXSTORE_PARAMS)
>     mesa_format newDstFormat;
>     GLboolean k;
>
> -   switch (dstFormat) {
> -   case MESA_FORMAT_B8G8R8A8_SRGB:
> -      newDstFormat = MESA_FORMAT_B8G8R8A8_UNORM;
> -      break;
> -   case MESA_FORMAT_B8G8R8X8_SRGB:
> -      newDstFormat = MESA_FORMAT_B8G8R8X8_UNORM;
> -      break;
> -   default:
> -      ASSERT(0);
> -      return GL_FALSE;
> -   }
> +   assert(dstFormat == MESA_FORMAT_B8G8R8A8_SRGB ||
> +          dstFormat == MESA_FORMAT_B8G8R8X8_SRGB);
> +
> +   newDstFormat = _mesa_get_srgb_format_linear(dstFormat);
>
>     k = _mesa_texstore_argb8888(ctx, dims, baseInternalFormat,
>                                 newDstFormat,
> --
> 1.7.10.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list