author | Milan Sreckovic <msreckovic@mozilla.com> |
Fri, 08 Feb 2013 15:48:09 -0500 | |
changeset 121540 | a101d8932e912e50b9752cfca4f166f523695644 |
parent 121539 | d91d6e2bc2587b4c6816574d0872bb3ae0bba746 |
child 121541 | 9e3a4589e251469070da5e605d08a54f86973e48 |
push id | 24296 |
push user | emorley@mozilla.com |
push date | Tue, 12 Feb 2013 14:43:19 +0000 |
treeherder | mozilla-central@860d7a47b675 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bgirard |
bugs | 722831 |
milestone | 21.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/qcms/transform.c +++ b/gfx/qcms/transform.c @@ -1204,17 +1204,21 @@ qcms_transform* qcms_transform_create( } if (out->output_table_r && out->output_table_g && out->output_table_b) { precache = true; } - if (qcms_supports_iccv4 && (in->A2B0 || out->B2A0 || in->mAB || out->mAB)) { + // This precache assumes RGB_SIGNATURE (fails on GRAY_SIGNATURE, for instance) + if (qcms_supports_iccv4 && + (in_type == QCMS_DATA_RGB_8 || in_type == QCMS_DATA_RGBA_8) && + (in->A2B0 || out->B2A0 || in->mAB || out->mAB)) + { // Precache the transformation to a CLUT 33x33x33 in size. // 33 is used by many profiles and works well in pratice. // This evenly divides 256 into blocks of 8x8x8. // TODO For transforming small data sets of about 200x200 or less // precaching should be avoided. qcms_transform *result = qcms_transform_precacheLUT_float(transform, in, out, 33, in_type); if (!result) { assert(0 && "precacheLUT failed");