zink: use u_transfer_helper to split/merge interleaved depth/stencil formats
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 1 Jun 2020 14:53:19 +0000 (10:53 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 31 Aug 2020 13:45:42 +0000 (13:45 +0000)
commitd84a75466c9d0df78370675421472afe5663b4e9
treeeadbb87d564383e326e945c0c2ae7d86b1fd2461
parent7059708dcdb7d594579b941edcd03d57762183d3
zink: use u_transfer_helper to split/merge interleaved depth/stencil formats

EXT_packed_depth_stencil adds GL_UNSIGNED_INT_24_8_EXT which is an interleaved format,
but vulkan spec states that reading/writing the corresponding format provides only the
D24 component, which requires that we perform separate operations for each component
using separate buffers

fixes mesa/mesa#3031

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6266>
src/gallium/drivers/zink/zink_batch.c
src/gallium/drivers/zink/zink_format.c
src/gallium/drivers/zink/zink_resource.c
src/gallium/drivers/zink/zink_resource.h