Mesa (master): mesa: use _mesa_get_srgb_format_linear() in sRGB texstore functions

Brian Paul brianp at kemper.freedesktop.org
Fri Apr 11 17:51:27 UTC 2014


Module: Mesa
Branch: master
Commit: f61edd509b8f234e3feed76ba87b4846f0676a9f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f61edd509b8f234e3feed76ba87b4846f0676a9f

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 10 19:00:46 2014 -0600

mesa: use _mesa_get_srgb_format_linear() in sRGB texstore functions

Instead of switch statements.

Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 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,




More information about the mesa-commit mailing list