mesa: use _mesa_get_srgb_format_linear() in sRGB texstore functions

Instead of switch statements.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Brian Paul
2014-04-10 19:00:46 -06:00
parent c5631b341e
commit f61edd509b
+5 -25
View File
@@ -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,