diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2019-02-01 11:13:59 +0100 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2019-02-13 13:02:06 +0100 |
commit | cb8e45a624426648ddffc675c8232eb31e58a50e (patch) | |
tree | 091016991391971a393efabdb50e0f65b13e3a9c /meson.build | |
parent | b0033d9310c13eee8fd8268ec0ea16af91c92e6e (diff) |
lib/igt_fb: Add support for P01x formats, v5.
The P01x formats are planar 16 bits per component, with the unused lower bits set to 0.
This means they can all be converted the same way. Only the range is slightly different,
and this is handled in the color_encoding implementation.
This requires cairo 1.17.2 and pixman 0.36. This works but doesn't give extra precision.
For more than 8 bits precision a few more patches are required to pixman, pending review:
https://lists.freedesktop.org/archives/pixman/2019-January/004815.html
https://lists.freedesktop.org/archives/pixman/2019-January/004809.html
Once those are merged, we will require the next pixman release for better precision.
Changes since v1:
- Add fallback color definitions when compiling on cairo version < 1.17.2.
- Skip when FB creation fails on HDR formats, instead of failing.
Changes since v2:
- Complain slightly harder when pixman/cairo are out of date.
- Create a fb with alpha when converting to pixman formats with alpha.
- Oops, s/pixman_format_code_t/cairo_format_t/
Changes since v3:
- Rebase on top of upstream YUV changes.
Changes since v4:
- Rebase again.
- Use drm_fourcc.h from drm-misc-next.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> #v4
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/meson.build b/meson.build index b17e67ef7..356a54142 100644 --- a/meson.build +++ b/meson.build @@ -336,3 +336,13 @@ message('=============') foreach str : build_info message(str) endforeach + +if cairo.version().version_compare('<1.17.2') + if pixman.version().version_compare('<0.36.0') + warning('Pixman < 0.36.0 found, cannot test HDR formats') + endif + warning('Cairo < 1.17.2 found, cannot test HDR formats') +elif pixman.version().version_compare('<0.36.0') + # Cairo 1.17.2 requires 0.36.0 to compile, but somehow it went missing? + error('Cairo with floating point support found, but pixman version too old') +endif |