Mesa (17.1): radv: fix stencil only clears.

Emil Velikov evelikov at kemper.freedesktop.org
Wed May 10 14:19:18 UTC 2017


Module: Mesa
Branch: 17.1
Commit: 9b808c5748ff162be8f3cf2958c7c5ecb5436b25
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b808c5748ff162be8f3cf2958c7c5ecb5436b25

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue May  2 15:29:28 2017 +1000

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 <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit 3c730639740f9b1243e95d06e6608cb54649be9a)

---

 src/amd/vulkan/radv_meta_clear.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index cbb90a4f28..a5502ce53f 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -693,6 +693,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] = {
 		{
 			.position = {




More information about the mesa-commit mailing list