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 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev