Hi Lucas > > 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. >
Do you know out of head if rs can handle yuv? If that would be the case the conversion from yuv -> rgb could also be done this way and you have the same interal RGB representation. But I have the feeling YUY2_RENDER_TARGET (aka. RS_FORMAT_YUY2) needs to be supported. Is glReadPixels(..) and friends really an use-case for YUV textures? To be honest I am not that deep in that topic. Maybe you can 1-2 sentences about the reasoning for using the 2D core somewhere in an commit message? > 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. > As the branch point is coming I am okay with this. But I have the feeling that we need to touch this area in near future for our lovely imx8 based gpus. Btw. do you have some numbers regarding the speed-up you get by using the 2D core in parallel? > 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 > > -- greets -- Christian Gmeiner, MSc https://christian-gmeiner.info _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev