[Mesa-dev] [PATCH 0/6] Add support for NV12
Lucas Stach
l.stach at pengutronix.de
Thu Apr 25 08:54:45 UTC 2019
Hi Christian,
Am Mittwoch, den 24.04.2019, 08:36 +0200 schrieb Christian Gmeiner:
> This patch series goes a complete different route then the one from
> Lucas Stach. I am using the integrated YUV tiler instead of using
> the 2D core for format conversion. I am reusing some patches from
> Lucas and this series sits on-top of Lucas "st/dri: YUV" patches.
We specifically opted to use the 2D GPU to do a format conversion, as
this yields a RGB internal representation, which means the texture has
the same properties as a normal GL texture (e.g. glReadPixels works).
This way we can expose YUV format imports as non-external textures.
This provides a number of benefits in texture lifetime handling in the
upper layers of the stack, which are used to drive those video use-
cases, like GStreamer. I don't really care what the blob does, but I do
care about having the highest performing solution, which is to have the
2D GPU work in parallel with the 3D GPU and allow efficient texture
imports with GStreamer.
I would really appreciate a review of my patch series.
Regards,
Lucas
> Christian Gmeiner (3):
> etnaviv: direct YUYV/UYVY support
> etnaviv: update headers from rnndb
> etnaviv: add multi-planar YUV support
>
> Lucas Stach (3):
> etnaviv: clear out next pointer when allocating resource
> etnaviv: remember data offset into BO
> etnaviv: improve PIPE_BIND_LINEAR handling
>
> .../drivers/etnaviv/etnaviv_clear_blit.c | 2 +-
> src/gallium/drivers/etnaviv/etnaviv_format.c | 5 +-
> .../drivers/etnaviv/etnaviv_resource.c | 24 +++-
> src/gallium/drivers/etnaviv/etnaviv_rs.c | 5 +
> src/gallium/drivers/etnaviv/etnaviv_screen.c | 4 +
> src/gallium/drivers/etnaviv/etnaviv_texture.c | 8 ++
> src/gallium/drivers/etnaviv/etnaviv_yuv.c | 123
> ++++++++++++++++++
> src/gallium/drivers/etnaviv/etnaviv_yuv.h | 44 +++++++
> src/gallium/drivers/etnaviv/hw/common.xml.h | 2 +-
> .../drivers/etnaviv/hw/common_3d.xml.h | 2 +-
> src/gallium/drivers/etnaviv/hw/state.xml.h | 4 +-
> src/gallium/drivers/etnaviv/hw/state_3d.xml.h | 35 +++--
> .../drivers/etnaviv/hw/state_blt.xml.h | 4 +-
> .../drivers/etnaviv/hw/texdesc_3d.xml.h | 2 +-
> src/gallium/drivers/etnaviv/meson.build | 2 +
> 15 files changed, 240 insertions(+), 26 deletions(-)
> create mode 100644 src/gallium/drivers/etnaviv/etnaviv_yuv.c
> create mode 100644 src/gallium/drivers/etnaviv/etnaviv_yuv.h
>
More information about the mesa-dev
mailing list