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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user