From: Dave Airlie Date: Tue, 2 May 2017 05:29:28 +0000 (+1000) Subject: radv: fix stencil only clears. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3c730639740f9b1243e95d06e6608cb54649be9a;p=mesa.git radv: fix stencil only clears. If we are clearing stencil only, we still need to provide a a valid Z output from the vertex shader, we can't rely on the depth clear value having any meaning, as we use this for the position output, and it could get clipped, so we don't end up clearing anything. Fixes: dEQP-VK.renderpass.simple.stencil since I added S8 support. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c index 190af651a1a..2fa50cf0b5d 100644 --- a/src/amd/vulkan/radv_meta_clear.c +++ b/src/amd/vulkan/radv_meta_clear.c @@ -672,6 +672,9 @@ emit_depthstencil_clear(struct radv_cmd_buffer *cmd_buffer, VK_IMAGE_ASPECT_STENCIL_BIT)); assert(pass_att != VK_ATTACHMENT_UNUSED); + if (!(aspects & VK_IMAGE_ASPECT_DEPTH_BIT)) + clear_value.depth = 1.0f; + const struct depthstencil_clear_vattrs vertex_data[3] = { { .depth_clear = clear_value.depth,