Граф коммитов

182 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond 5ee82cb26c Bug 1615394 - Add color management support to the BMP decoder. r=tnikkel
This patch adds support for color management in BMPs added in
BITMAPV4HEADER and BITMAPV5HEADER. While display of BMPs is relatively
rare this comes in handy when interacting with the Windows clipboard.

Differential Revision: https://phabricator.services.mozilla.com/D64880

--HG--
extra : moz-landing-system : lando
2020-03-03 14:16:00 +00:00
Dorel Luca 284433eb29 Backed out changeset 388ac5609ceb (bug 1615394) for MinGW build bustage. CLOSED TREE
--HG--
extra : amend_source : cf3cec59ae1efd99b9de0d19b7a09c135138daf5
2020-03-03 13:02:04 +02:00
Andrew Osmond 97a2bca5b9 Bug 1615394 - Add color management support to the BMP decoder. r=tnikkel
This patch adds support for color management in BMPs added in
BITMAPV4HEADER and BITMAPV5HEADER. While display of BMPs is relatively
rare this comes in handy when interacting with the Windows clipboard.

Differential Revision: https://phabricator.services.mozilla.com/D64880

--HG--
extra : moz-landing-system : lando
2020-03-02 23:49:37 +00:00
Andrew Osmond bb4bf3f608 Bug 1600911 - Implement AVX variant of QCMS ICCv2 algorithm. r=jrmuizel
Our performance gtests indicate anywhere from 10-20% reduction in
execution time based on the SSE2 version. Where it fell in the range
depended on the platform, but presumably that is related to the hardware
selected by treeherder. llvm-mca suggested it should be closer to 20%
on modern hardware (skylake).

Differential Revision: https://phabricator.services.mozilla.com/D55642

--HG--
extra : moz-landing-system : lando
2019-12-17 19:22:36 +00:00
Csoregi Natalia c6abd544c4 Backed out changeset 5483da347be3 (bug 1600911) for bustage on transform-avx.cpp. CLOSED TREE 2019-12-13 21:39:14 +02:00
Andrew Osmond 9e59ec2b0d Bug 1600911 - Implement AVX variant of QCMS ICCv2 algorithm. r=jrmuizel
Our performance gtests indicate anywhere from 10-20% reduction in
execution time based on the SSE2 version. Where it fell in the range
depended on the platform, but presumably that is related to the hardware
selected by treeherder. llvm-mca suggested it should be closer to 20%
on modern hardware (skylake).

Differential Revision: https://phabricator.services.mozilla.com/D55642

--HG--
extra : moz-landing-system : lando
2019-12-13 18:26:22 +00:00
Andrew Osmond e6fe246634 Bug 1558883 - Add QCMS transform correctness and performance tests. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D34765
2019-06-25 09:45:56 -04:00
Andrew Osmond 3c03c2b472 Bug 1551844 - Implement NEON variations of QCMS ICCv2 transforms. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D34582
2019-06-14 08:46:20 -04:00
Bogdan Tara e05c286c5f Backed out changeset 331846de4391 (bug 1551844) for ccwn2c08.html and ccwn3p08.html failures a=backout 2019-06-14 12:48:16 +03:00
Andrew Osmond 3334a54347 Bug 1551844 - Implement NEON variations of QCMS ICCv2 transforms. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D34582
2019-06-13 07:55:21 -04:00
Andrew Osmond d8f7e96b8d Bug 1555329 - Fix BGRA support with ICCv4 QCMS profiles. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33004
2019-05-30 13:21:21 -04:00
Andrew Osmond dbcc53ff29 Bug 1551084 - Part 5. Allow QCMS gray transforms to expand to add alpha. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30822
2019-05-27 15:44:48 -04:00
Andrew Osmond 1871421d78 Bug 1551084 - Part 4. Add support for BGRA to QCMS. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30821
2019-05-27 15:44:42 -04:00
Andrew Osmond 811c958f2b Bug 1551084 - Part 3. Use templates to reduce code duplication in QCMS. r=miko
No functional change. This allows us to support both alpha and non-alpha
variants with the same implementation, in addition to laying the ground
work for QCMS to support BGRA as an input and output.

Differential Revision: https://phabricator.services.mozilla.com/D30820
2019-05-27 15:44:32 -04:00
Andrew Osmond e4f8bc1035 Bug 1551084 - Part 2. Make QCMS transform files use C++. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30819


--HG--
rename : gfx/qcms/transform-altivec.c => gfx/qcms/transform-altivec.cpp
rename : gfx/qcms/transform-sse1.c => gfx/qcms/transform-sse1.cpp
rename : gfx/qcms/transform-sse2.c => gfx/qcms/transform-sse2.cpp
rename : gfx/qcms/transform.c => gfx/qcms/transform.cpp
2019-05-27 15:43:59 -04:00
Andrew Osmond 244d1f67b8 Bug 1551084 - Part 1. Minor reworking of QCMS to allow C files to compile as C++. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30818
2019-05-27 15:43:59 -04:00
Narcis Beleuzu 5b11cf9cb8 Backed out 5 changesets (bug 1551084) for build bustages on transform.cpp . CLOSED TREE
Backed out changeset af04f8907fab (bug 1551084)
Backed out changeset 2a5ae3eb40ce (bug 1551084)
Backed out changeset 99874bf89419 (bug 1551084)
Backed out changeset d73949bd98e9 (bug 1551084)
Backed out changeset cd1bb23b475a (bug 1551084)

--HG--
rename : gfx/qcms/transform-altivec.cpp => gfx/qcms/transform-altivec.c
rename : gfx/qcms/transform-sse1.cpp => gfx/qcms/transform-sse1.c
rename : gfx/qcms/transform-sse2.cpp => gfx/qcms/transform-sse2.c
rename : gfx/qcms/transform.cpp => gfx/qcms/transform.c
2019-05-27 18:52:34 +03:00
Andrew Osmond 5c3360e51e Bug 1551084 - Part 5. Allow QCMS gray transforms to expand to add alpha. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30822
2019-05-27 11:16:46 -04:00
Andrew Osmond 8f51499c6d Bug 1551084 - Part 4. Add support for BGRA to QCMS. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30821
2019-05-27 11:16:46 -04:00
Andrew Osmond b5eed66d2b Bug 1551084 - Part 3. Use templates to reduce code duplication in QCMS. r=miko
No functional change. This allows us to support both alpha and non-alpha
variants with the same implementation, in addition to laying the ground
work for QCMS to support BGRA as an input and output.

Differential Revision: https://phabricator.services.mozilla.com/D30820
2019-05-27 11:16:46 -04:00
Andrew Osmond 803f797714 Bug 1551084 - Part 2. Make QCMS transform files use C++. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30819


--HG--
rename : gfx/qcms/transform-altivec.c => gfx/qcms/transform-altivec.cpp
rename : gfx/qcms/transform-sse1.c => gfx/qcms/transform-sse1.cpp
rename : gfx/qcms/transform-sse2.c => gfx/qcms/transform-sse2.cpp
rename : gfx/qcms/transform.c => gfx/qcms/transform.cpp
2019-05-27 11:16:46 -04:00
Andrew Osmond 086ae9c208 Bug 1551084 - Part 1. Minor reworking of QCMS to allow C files to compile as C++. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D30818
2019-05-27 11:16:46 -04:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Thomas P. f33c95e66c Bug 1494222: Add source bytes to fix qcms_fuzzer coverage. r=agaynor 2018-10-07 21:21:34 +00:00
Thomas P. bf5942616e Bug 1494222: add combined mAB/mBA profile to qcms_fuzzer samples. r=agaynor
--HG--
extra : histedit_source : 5e64af56ed5284b2b1e70ea94f250356b68ad193
2018-09-28 02:59:39 +00:00
Thomas P. 150e193f2f Bug 1494222: fix qcms_fuzzer coverage by enabling all path combinations. r=agaynor
--HG--
extra : histedit_source : f9144b08a11cef50c336cad1dbe8599f1c612b7b
2018-09-27 21:59:12 +00:00
Thomas P. 7d42fc9019 Bug 1494222: set XYZ PCS on internal RGB profiles. r=nical
--HG--
extra : histedit_source : b53b8c299be35db04ca199d0798daa208e447150
2018-09-26 08:38:24 +00:00
Thomas P. 7b759af801 Bug 1494222: don't check bogosity of profiles with LUT-types mAB/mBA. r=nical
--HG--
extra : histedit_source : d269029c707e6feac4a618ccba62e5cb7f35ae71
2018-09-26 08:43:33 +00:00
Thomas P. 4b1be4ef6a Bug 1484556: add Qcms fuzzer seed profiles. r=decoder 2018-08-24 04:31:37 +00:00
Thomas P. cd613a5787 Bug 1477858 - add Qcms fuzzing target dictionary. r=decoder 2018-07-23 22:34:16 +00:00
Nathan Froyd 309ddc0be2 Bug 1477048 - part 2 - remove non-ipc/chromium moz.build uses of OS_TEST; r=gps
The deletions in xptcall are when we don't even have support for the CPU
in moz.configure, so I assume that people haven't been compiling on
those architectures for quite some time.
2018-07-24 16:08:56 -04:00
Nathan Froyd 5158597854 Bug 1477048 - part 1 - remove `'86' in CONFIG['OS_TEST']` stanzas from moz.build files; r=gps
The current code is somewhat non-obvious to a first-time reader, and
OS_TEST is a bizarre thing anyway, since it's actually the name of the
CPU we're running on.  We'd do well to minimize the use of OS_TEST.

Note that the complete nuking of the xptcall/md/unix/moz.build lines are
because we don't support OS X/x86 anymore.
2018-07-24 16:08:56 -04:00
Thomas P. 5f96c00e81 Bug 1464257: fix lut8Type tag implementation. r=bas 2018-06-26 02:20:22 +00:00
Thomas P. 9e3d57b831 Bug 1459425: add fuzzing target for qcms. r=bas sr=decoder
hybrid target that works with both the native interface and oss-fuzz
2018-06-26 02:40:45 +00:00
Nicolas Silva 5070dbcceb Bug 1444734 - Bail out of read_nested_curveType when encountering an invalid source. r=Bas 2018-06-20 10:37:22 +02:00
Nicolas Silva 7b8229b86b Bug 1464039 - Only reject qcms transform with invalid grid size if the transform function uses the grid size. r=Bas 2018-06-19 15:32:29 +02:00
Nicolas Silva fdf1d9bbb2 Bug 1464039 - Reject some invalid transforms in qcms. r=mwoodrow 2018-06-15 14:01:07 -07:00
Nicolas Silva b2c558ac48 Bug 1463424 - Fix divide by zeroes in qcms. r=Bas 2018-05-28 11:34:03 +02:00
Ryan VanderMeulen cc37a66c1c Backed out changeset 94b228e67f4c (bug 1432067) because it causes valid profiles to be rejected. 2018-05-16 19:29:59 -04:00
Milan Sreckovic b1115c2c28 Bug 1432067 - Ignore zero sized tables. r=jrmuizel 2018-05-07 16:33:33 -04:00
Lee Salzman a843f0909e Bug 1431637 - free qcms_transform r_clut. r=jrmuizel
MozReview-Commit-ID: DwbIhtuGvcA
2018-02-08 21:41:03 -05:00
Sylvestre Ledru 5de63ef061 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h

--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Jeff Muizelaar d057c6f505 Bug 1250461. Don't reject profiles with negative colorant tristiumlus value on macOS. r=mstange
This is basically just this: https://bugs.chromium.org/p/chromium/issues/detail?id=562951
The original profile that caused us to add this check has bigger problems than negative
colorant tristiumlus values. We should reject it using a better metric. In the mean time
let's not reject these things on macOS.
2017-10-12 11:46:08 -04:00
John Paul Adrian Glaubitz c6b39f0f90 Bug 972945 - Add autoconf test to enable AltiVec on supported targets only. r=glandium
Currently, the build scripts enable AltiVec unconditionally on all ppc*
targets. However, there some ppc* targets which do not support AltiVec
instruction set extensions, these are often embedded systems like the
PowerPC e500 or similar which have their own type of instruction set
extensions like SPE. Trying to enable Altivec support on these targets
results in a compiler error, hence we need to add an autoconf test for
AltiVec support before trying to enable it on ppc* targets.

Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

--HG--
extra : rebase_source : 6c4df813d97d95046fd2269c876313ce7591c5cf
2016-08-16 05:17:00 -04:00
Miko Mynttinen 9ea7cd8eb6 Bug 1291490 - File gfx/qcms/transform_util.h is missing a header. r=bgirard
Include the missing math.h header.

MozReview-Commit-ID: BozHU59BGkF

--HG--
extra : transplant_source : %02%95%3F-k%FF%BA_%C7%1CU%CBU%29c%D7%82%9F%04J
2016-08-02 15:41:56 -07:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Nicholas Nethercote af6751ef10 Bug 1205533 - Fix and disallow warnings in gfx/qcms/. r=jrmuizel.
This patch fixes various warnings from MSVC.

- Several "truncation from 'double' to 'float'" warnings, easily fixed by
  appending 'f' to literals.

- Some "signed/unsigned mismatch" warnings. In read_tag_lutType(), MSVC is
  apparently promoting the multiplication of a uint8_t and a uint16_t to an
  int32_t, oddly enough. A uint32_t cast fixes the warning.

- |offset| was unused in qcms_data_create_rbg_with_gamma().

- A couple of "overflow in floating-point constant arithmetic" warnings
  involving INFINITY in transform_util.c. There is some type confusion here --
  in C99 HUGE_VAL is a double and INFINITY is a float. So the HUGE_VAL here
  should actualy be HUGE_VALF. But, strangely enough, that isn't enough to
  avoid the warning, I don't know why. However, it turns out that any
  non-positive value for |interval| will have the same effect, so I just
  removed all the INFINITY/HUGE_VAL stuff and used -1 instead.

It also fixes an ARM-only GCC warning.

- "'__force_align_arg_pointer__' attribute directive ignored". This is an
  x86-only attribute. Instead of disabling it on x86-64, instead enable it on
  i386 (which avoids enabling it uselessly on ARM).

--HG--
extra : rebase_source : 61015b7e48aebd58035fc222abf076e79a99a972
2015-09-17 17:11:27 -07:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00