diff options
author | Chris Forbes <[email protected]> | 2014-03-29 16:56:48 +1300 |
---|---|---|
committer | Chris Forbes <[email protected]> | 2014-04-01 11:54:56 +1300 |
commit | 3196c53c5d9bc25dae8c220c3dc38eb510612f76 (patch) | |
tree | feebfefde9212fb4f1260bc2f1a8722d458124e2 | |
parent | db414c468609764c2394b4472900e7878f4ddfaa (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.c | 10 |
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; |