diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/texstore.c | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index fe3b072565b..d9096abf33f 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, |