mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 02:40:11 +01:00
turnip: fix resolve MSAA D24_UNORM_S8_UINT image to S8_UINT
According to VK_KHR_depth_stencil_resolve spec (see VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03182) "If the VkFormat of pDepthStencilResolveAttachment has a stencil component, then the VkFormat of pDepthStencilAttachment must have a stencil component with the same number of bits and numerical type" That means that we can resolve MSAA depth/stencil to a stencil only image only if the stencil component matches with same number of bits and type. Although the driver only supports VK_RESOLVE_MODE_SAMPLE_ZERO_BIT resolve mode, it was doing a sample average when resolving a MSAA D24_UNORM_S8_UINT image to S8_UINT. Fixes the following tests: dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint.compatibility_depth_zero_stencil_zero_testing_s tencil dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stenc il_zero_testing_stencil Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8527>
This commit is contained in:
parent
b609d4677d
commit
09e9be3d8f
1 changed files with 2 additions and 1 deletions
|
|
@ -2392,7 +2392,8 @@ tu_emit_blit(struct tu_cmd_buffer *cmd,
|
|||
.unk0 = !resolve,
|
||||
.gmem = !resolve,
|
||||
/* "integer" bit disables msaa resolve averaging */
|
||||
.integer = vk_format_is_int(attachment->format)));
|
||||
.integer = vk_format_is_int(attachment->format) |
|
||||
vk_format_is_depth_or_stencil(attachment->format)));
|
||||
|
||||
tu_cs_emit_pkt4(cs, REG_A6XX_RB_BLIT_DST_INFO, 4);
|
||||
if (separate_stencil) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue