Having been frustrated with duplicating this code into yet another driver, I made some little helpers for u_transfer so others don't have to go through this.
I'm not pleased with needing the callback for Z32F, and the recursion feels dangerous if you're doing both of them, but it does seem to work. Eric Anholt (5): gallium: Add helpers for MSAA resolves in pipe_transfer_map()/unmap(). broadcom/vc4: Switch to using the u_transfer_map_msaa_helper(). broadcom/vc5: Switch to using u_transfer_map_msaa_helper(). gallium: Make a helper for doing Z32_FLOAT_S8X24_UINT mappings. broadcom/vc5: Start adding support for rendering to Z32F_S8X24_UINT. src/gallium/auxiliary/util/u_transfer.c | 237 ++++++++++++++++++++++++++++++++ src/gallium/auxiliary/util/u_transfer.h | 28 ++++ src/gallium/drivers/vc4/vc4_resource.c | 104 ++------------ src/gallium/drivers/vc4/vc4_resource.h | 3 - src/gallium/drivers/vc5/vc5_rcl.c | 22 +++ src/gallium/drivers/vc5/vc5_resource.c | 188 +++++++++++++------------ src/gallium/drivers/vc5/vc5_resource.h | 9 +- src/gallium/drivers/vc5/vc5_screen.c | 6 + 8 files changed, 401 insertions(+), 196 deletions(-) -- 2.15.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev