Commit Graph

403 Commits

Author SHA1 Message Date
Mike Hommey
80eebdef4c Bug 1841921 - Fix "variable does not need to be mutable" warnings in qcms. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D182852
2023-07-06 02:32:58 +00:00
Kelsey Gilbert
3bd71468e2 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2023-03-13 21:04:09 +00:00
Stanca Serban
aaea911dc4 Backed out 9 changesets (bug 1799258) for causing multiple failures. CLOSED TREE
Backed out changeset 40351b5987a5 (bug 1799258)
Backed out changeset 87f3532bfbcd (bug 1799258)
Backed out changeset 9c1d9405e8bf (bug 1799258)
Backed out changeset 60a0351d9092 (bug 1799258)
Backed out changeset 5f911de66ec0 (bug 1799258)
Backed out changeset 294a00d1c7b7 (bug 1799258)
Backed out changeset 228200dcaf93 (bug 1799258)
Backed out changeset b25110652394 (bug 1799258)
Backed out changeset 3c3c7366cc40 (bug 1799258)
2023-02-15 12:18:44 +02:00
Kelsey Gilbert
8a7e329c9a Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2023-02-15 08:29:41 +00:00
Norisz Fay
ed1015daf1 Backed out 9 changesets (bug 1799258) for causing build bustages CLOSED TREE
Backed out changeset a48db1421c6d (bug 1799258)
Backed out changeset 7707637480e7 (bug 1799258)
Backed out changeset 0141b29bf5df (bug 1799258)
Backed out changeset cd9af26bb314 (bug 1799258)
Backed out changeset 4e68a54c6410 (bug 1799258)
Backed out changeset 52afd24d2338 (bug 1799258)
Backed out changeset b4b4977857c7 (bug 1799258)
Backed out changeset 2c23929f52f2 (bug 1799258)
Backed out changeset 83744e1e372b (bug 1799258)
2023-02-07 00:36:41 +02:00
Kelsey Gilbert
c5cc9f1f33 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2023-02-06 19:58:53 +00:00
Csoregi Natalia
f822f99642 Backed out 6 changesets (bug 1799258) for failures on gfx.color_management.display_profile. CLOSED TREE
Backed out changeset 22351f36b74b (bug 1799258)
Backed out changeset 9bbbe3ed2794 (bug 1799258)
Backed out changeset e05c809f58d0 (bug 1799258)
Backed out changeset 791eeb52f034 (bug 1799258)
Backed out changeset 353ef4721bba (bug 1799258)
Backed out changeset b5157d950aa7 (bug 1799258)
2023-01-24 02:08:51 +02:00
Kelsey Gilbert
4d0c2f5f61 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2023-01-23 22:13:16 +00:00
Jeff Muizelaar
d8212052f2 Bug 1809154. Silently fail to read convert unsupported transfer functions instead of crashing. r=gfx-reviewers,jnicol
This isn't great but I'm pretty sure it's better than crashing.

Differential Revision: https://phabricator.services.mozilla.com/D166338
2023-01-09 19:08:12 +00:00
Marian-Vasile Laza
74bda87ddf Backed out 3 changesets (bug 1799258) for causing GTest-1proc failures on Span. CLOSED TREE
Backed out changeset 0facab7b9a1d (bug 1799258)
Backed out changeset 4f9ee3537468 (bug 1799258)
Backed out changeset 12e98a3054d0 (bug 1799258)
2022-12-21 01:41:43 +02:00
Kelsey Gilbert
0dd2e222e9 Bug 1799258 - [qcms] Add query for profile data and lut tables. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D163663
2022-12-20 22:47:52 +00:00
Jeff Muizelaar
fc041b8b9e Bug 1799391. Allow negative XYZ on non-macOS. r=aosmond
It seems like Chrome allows this and it's relatively common.
We don't have a good reason to continue blocking these profiles.

Differential Revision: https://phabricator.services.mozilla.com/D162024
2022-11-15 03:49:04 +00:00
Jeff Muizelaar
2091af5f6b Bug 1795045 - qcms: Add support for only reading the curves from profiles. r=aosmond
We use this when reading the output profiles to avoid the
performance cost of doing the color transformation using LUTs
when the output profile has them.

This will let us enable ICCv4 everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D159273
2022-10-14 19:16:54 +00:00
Mike Hommey
7e2794ca9d Bug 1783985 - Remove compat with rustc < 1.61 from qcms. r=gfx-reviewers,jgilbert,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D154342
2022-08-16 00:56:24 +00:00
Mike Hommey
7ce663eb08 Bug 1772048 - Update rustc_version and semver crates. r=emilio,webdriver-reviewers,kinetik,whimboo
semver 1.0 doesn't and won't support Clone on semver::Error[1], so we
convert the mozversion error type to store the string version of the
error, which is an incompatible change requiring a version bump on the
crate.

1. https://github.com/dtolnay/semver/pull/280

Differential Revision: https://phabricator.services.mozilla.com/D147825
2022-06-07 10:01:32 +00:00
Mike Hommey
7b58e2b833 Bug 1771827 - Don't enable the aarch64_target_feature feature on rustc 1.61.0. r=gfx-reviewers,jrmuizel
because it's stable as of that version.

Differential Revision: https://phabricator.services.mozilla.com/D147706
2022-05-31 00:50:09 +00:00
Mike Hommey
f7b39f73c2 Bug 1758021 - Get is_{arm,aarch64}_feature_detected from std::arch on rustc >= 1.60. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D140278
2022-03-04 00:39:40 +00:00
Jon Bauman
619acc91bb Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-17 17:41:26 +00:00
Butkovits Atila
f2a5d438bb Backed out changeset d629f462a605 (bug 1729539) for causing Wd failures. CLOSED TREE 2021-09-16 02:50:35 +03:00
Jon Bauman
6d6715ba10 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-15 19:57:15 +00:00
Marian-Vasile Laza
699488300d Backed out changeset bd23fb0c95cc (bug 1729539) for causing web platform failures. 2021-09-15 08:41:00 +03:00
Jon Bauman
f5e56d8781 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-14 23:14:41 +00:00
Cristian Tuns
3a65ad3358 Backed out changeset db3338456ae1 (bug 1729539) for causing multiple failures. CLOSED TREE 2021-09-14 15:02:43 -04:00
Jon Bauman
cf0312ede2 Bug 1729539 - Hit MOZ_CRASH(assertion failed: y2 > 1. / 12. && y2 <= 1.) at gfx/qcms/src/iccread.rs:1392. r=jrmuizel
The assertion is due to an inappropriate test of exact floating-point values.
build_trc_table() handles this saturating case, so there's no need to assert.
Add more test coverage to be certain no fuzzing inputs will lead to crashes.

Differential Revision: https://phabricator.services.mozilla.com/D125006
2021-09-14 16:32:37 +00:00
Jon Bauman
6155249a72 Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 22:34:32 +00:00
Sandor Molnar
bb9a848857 Backed out changeset d0f659f7ea9b (bug 1696045) for causing gtest failures in image/decoders/nsAVIFDecoder. CLOSED TREE 2021-08-24 21:27:20 +03:00
Jon Bauman
fc5f21743a Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 17:20:02 +00:00
Jeff Muizelaar
1916934834 Bug 1725742. Validate tag offsets upfront to avoid weird overflow situations later on. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D122856
2021-08-19 16:33:03 +00:00
Jon Bauman
bacfba2091 Bug 1725056 - qcms: avoid undefined behavior when handling CICP values. r=jrmuizel,tsmith
Differential Revision: https://phabricator.services.mozilla.com/D122318
2021-08-16 23:13:36 +00:00
Jon Bauman
1fbcf87b11 Bug 1634741 - AVIF (AV1 Image File Format): proper color space support. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D121764
2021-08-05 15:47:59 +00:00
Jon Bauman
ad9d5759ea Bug 1723253 - qcms: Add CICP (Coding-independent code points) support. r=jrmuizel
Add CICP-specific functionality

Differential Revision: https://phabricator.services.mozilla.com/D121452
2021-08-05 05:10:37 +00:00
Jon Bauman
bbd6119d94 Bug 1723253 - qcms: Clippy/costmetic changes. r=jrmuizel
Clippy/costmetic changes

Differential Revision: https://phabricator.services.mozilla.com/D121458
2021-08-05 05:10:37 +00:00
Jeff Muizelaar
ee0926e1db Bug 1721596 - qcms: Rerun rustfmt. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D120466
2021-07-21 13:03:23 +00:00
Jeff Muizelaar
132a09618b Bug 1721515 - qcms: Remove some now unneeded unstable features. r=aosmond
These were used by our local NEON intrinsics implementation.
We don't need them anymore.

Differential Revision: https://phabricator.services.mozilla.com/D120420
2021-07-21 01:42:38 +00:00
Jeff Muizelaar
6edd219c43 Bug 1721484 - qcms: Fix extra space. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D120395
2021-07-20 21:36:45 +00:00
Jeff Muizelaar
ad5985aca6 Bug 1721483 - qcms: Remove unneeded vim modelines. r=aosmond
These were inherited from the C code and are wrong and unneeded in
Rust.

Differential Revision: https://phabricator.services.mozilla.com/D120394
2021-07-20 21:36:18 +00:00
Jeff Muizelaar
2ed71226c3 Bug 1697818 - Drop handrolled NEON SIMD wrappers. r=aosmond
We require Rust 1.50 now which is new enough to not need these
wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D108337
2021-07-20 21:29:01 +00:00
Jeff Muizelaar
62908eaa10 Bug 1713012. Only set RUSTC_BOOTSTRAP if it's not already set. r=aosmond
In bug 1670538 we started setting RUSTC_BOOTSTRAP for Rust 1.50+
Rust 1.50+ gives a warning if we set in build.rs so don't.

Differential Revision: https://phabricator.services.mozilla.com/D116131
2021-05-28 20:18:23 +00:00
Jeff Muizelaar
54a52e060a Bug 1710897 - Handle matrix inversion failing more gracefully. r=aosmond
Prior to making invert() return an Option we just gleefully
assumed that it succeeded here. Instead of panicing let's
fail to create the transform.

The problem was found by oss-fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34216

Differential Revision: https://phabricator.services.mozilla.com/D114999
2021-05-12 20:52:53 +00:00
Jeff Muizelaar
c92ee2a045 Bug 1710542 - Remove 'invalid' field from Matrix. r=aosmond
This changes to using Option<Matrix> instead of
having an 'invalid' field. This makes sure we check
when we need to and don't have to check otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D114808
2021-05-11 13:58:20 +00:00
Jeff Muizelaar
9b9ddc9cc2 Bug 1710450 - Pass a reference to read_tag_s15Fixed16ArrayType r=aosmond
This lets us avoid having to look up the tag again.

Differential Revision: https://phabricator.services.mozilla.com/D114751
2021-05-11 13:57:43 +00:00
Jeff Muizelaar
7c5d88731c Bug 1708805 - Reject output luts with channels != 3. r=aosmond
This problem was introduced by the CMYK support
patch not rejecting 4 channel LUTs at parse time.

The problem was caught by oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33647

Differential Revision: https://phabricator.services.mozilla.com/D114014
2021-05-01 02:39:06 +00:00
Jeff Muizelaar
db8307e53c Bug 1707794 - Add support for CMYK to the fuzzing target. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D113460
2021-04-27 14:38:51 +00:00
Jeff Muizelaar
cdd4899132 Bug 1555331. Add a test that parametric functions are properly inverted. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D113227
2021-04-26 12:48:33 +00:00
Jeff Muizelaar
0fe884da2d Bug 1555331. Use parametric inversion when building an output_lut. r=aosmond
Previously we didn't invert at all which was causing over saturation.

Differential Revision: https://phabricator.services.mozilla.com/D113226
2021-04-26 12:48:33 +00:00
Jeff Muizelaar
bf77763c5d Bug 1555331. Implement analytic inversion for parametric transfer functions. r=aosmond
This also adjusts the initialization of Param to make inversion better behaved.

Differential Revision: https://phabricator.services.mozilla.com/D113225
2021-04-26 12:48:32 +00:00
Jeff Muizelaar
e98ff078aa Bug 1555331. Add a Param struct. r=aosmond
This makes our parsing of parametric transfer functions
more clear because you can see exactly what output variables
the input variables map to.

Differential Revision: https://phabricator.services.mozilla.com/D113224
2021-04-26 12:48:32 +00:00
Jeff Muizelaar
404d7d8cfe Bug 1706144 - Add support for CMYK. r=aosmond
This is not enabled in Gecko yet.

Differential Revision: https://phabricator.services.mozilla.com/D112643
2021-04-23 02:42:53 +00:00
Butkovits Atila
0a6b07942c Backed out changeset d87602a10873 (bug 1706144) for causing build bustages. CLOSED TREE 2021-04-23 04:59:43 +03:00
Jeff Muizelaar
33c441281c Bug 1706144 - Add support for CMYK. r=aosmond
This is not enabled in Gecko yet.

Differential Revision: https://phabricator.services.mozilla.com/D112643
2021-04-23 01:36:00 +00:00