[Intel-gfx] [PATCH v4 0/3] Support 64 bpp half float formats

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Fri Feb 8 14:49:48 UTC 2019


Op 06-02-2019 om 19:02 schreef Kevin Strasser:
> This series defines new formats and adds implementation to the i915 driver.
> Since posting v1 I have removed the pixel normalize property, as it's not needed
> for basic functionality. Also, I have been working on adding support to
> userspace, but we can't land any patches until drm_fourcc.h has been updated
> here.
>
> I have submitted a series to Mesa to make use of the RGBA ordered formats:
>   https://patchwork.freedesktop.org/series/54759/
>
> My igt branch is reworked to drop usage of pixel normalize and includes use
> of f16c intrinsics to speed up conversion:
>   https://gitlab.freedesktop.org/strassek/igt-gpu-tools/commits/fp16
>
> I also have a libdrm branch with fp16 coverage added to modetest:
>   https://gitlab.freedesktop.org/strassek/drm/commits/fp16
>
> To serve as a smoke test of the whole stack I have a modified version of
> kmscube:
>   https://gitlab.freedesktop.org/strassek/kmscube/commits/fp16
>
> Kevin Strasser (3):
>   drm/fourcc: Add 64 bpp half float formats
>   drm/i915: Refactor icl_is_hdr_plane
>   drm/i915/icl: Implement half float formats
>
>  drivers/gpu/drm/drm_fourcc.c         |  4 ++
>  drivers/gpu/drm/i915/intel_atomic.c  |  3 +-
>  drivers/gpu/drm/i915/intel_display.c | 27 ++++++++++++-
>  drivers/gpu/drm/i915/intel_drv.h     |  7 ++--
>  drivers/gpu/drm/i915/intel_sprite.c  | 73 +++++++++++++++++++++++++++++++-----
>  include/uapi/drm/drm_fourcc.h        | 11 ++++++
>  6 files changed, 110 insertions(+), 15 deletions(-)
>
It's nice that the igt parts are almost done. I think this might need rebasing on top of

I'm glad there are tests, but the internal accuracy of the CAIRO_FORMAT_RGB24 is only 8 bits, so it wouldn't test this properly.

Fortunately we will start using CAIRO_FORMAT_RGB96F and RGBA128F soon. :)

See https://patchwork.freedesktop.org/patch/284507/

We should be able to convert native float to half float with an intrinsic.

~Maarten



More information about the dri-devel mailing list