summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-05-02 15:29:28 +1000
committerDave Airlie <airlied@redhat.com>2017-05-03 06:31:20 +1000
commit3c730639740f9b1243e95d06e6608cb54649be9a (patch)
treee995659a6f3a42bd3a740879407bc2e73a995e14
parentb539335e50b355854202c4b1b42aa4ddbe9289fa (diff)
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@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/amd/vulkan/radv_meta_clear.c3
1 files changed, 3 insertions, 0 deletions
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,