summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Forbes <[email protected]>2014-03-29 16:56:48 +1300
committerChris Forbes <[email protected]>2014-04-01 11:54:56 +1300
commit3196c53c5d9bc25dae8c220c3dc38eb510612f76 (patch)
treefeebfefde9212fb4f1260bc2f1a8722d458124e2
parentdb414c468609764c2394b4472900e7878f4ddfaa (diff)
mesa: fix texstore for MESA_FORMAT_R8G8B8A8_SRGB
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 <[email protected]> Reviewed-by: Brian Paul <[email protected]>
-rw-r--r--src/mesa/main/texstore.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index b68ba603ec5..fe3b072565b 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -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;