mesa: fix texstore for MESA_FORMAT_R8G8B8A8_SRGB
authorChris Forbes <chrisf@ijw.co.nz>
Sat, 29 Mar 2014 03:56:48 +0000 (16:56 +1300)
committerChris Forbes <chrisf@ijw.co.nz>
Mon, 31 Mar 2014 22:54:56 +0000 (11:54 +1300)
The case for this was in the wrong function, and this format's store
func was not set in the table at all.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/texstore.c

index b68ba603ec55aa05615404f150b19c826b1a23af..fe3b072565ba3136f72b44ba2b8e7243e5befad9 100644 (file)
@@ -3260,12 +3260,16 @@ _mesa_texstore_srgba8(TEXSTORE_PARAMS)
    GLboolean k;
 
    ASSERT(dstFormat == MESA_FORMAT_A8B8G8R8_SRGB ||
-          dstFormat == MESA_FORMAT_R8G8B8X8_SRGB);
+          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;
    }
@@ -3294,9 +3298,6 @@ _mesa_texstore_sargb8(TEXSTORE_PARAMS)
    case MESA_FORMAT_B8G8R8A8_SRGB:
       newDstFormat = MESA_FORMAT_B8G8R8A8_UNORM;
       break;
-   case MESA_FORMAT_R8G8B8A8_SRGB:
-      newDstFormat = MESA_FORMAT_R8G8B8A8_UNORM;
-      break;
    case MESA_FORMAT_B8G8R8X8_SRGB:
       newDstFormat = MESA_FORMAT_B8G8R8X8_UNORM;
       break;
@@ -3852,6 +3853,7 @@ _mesa_get_texstore_func(mesa_format format)
       table[MESA_FORMAT_B5G5R5X1_UNORM] = store_ubyte_texture;
       table[MESA_FORMAT_R8G8B8X8_SNORM] = _mesa_texstore_signed_rgbx8888;
       table[MESA_FORMAT_R8G8B8X8_SRGB] = _mesa_texstore_srgba8;
+      table[MESA_FORMAT_R8G8B8A8_SRGB] = _mesa_texstore_srgba8;
       table[MESA_FORMAT_RGBX_UINT8] = _mesa_texstore_rgba_uint8;
       table[MESA_FORMAT_RGBX_SINT8] = _mesa_texstore_rgba_int8;
       table[MESA_FORMAT_B10G10R10X2_UNORM] = _mesa_texstore_argb2101010;