Mesa (master): radv: set fmask state to all 0s when no fmask. (v2)

Dave Airlie airlied at kemper.freedesktop.org
Fri Jun 9 19:42:20 UTC 2017


Module: Mesa
Branch: master
Commit: 51553c0beaeb91b1f2cb3292ac55573309b1d86f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=51553c0beaeb91b1f2cb3292ac55573309b1d86f

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jun  9 02:11:29 2017 +0100

radv: set fmask state to all 0s when no fmask. (v2)

The shader reads the descriptor to decide if it should take the
fmask value, however we weren't initing it always, which meant
random crap, esp with MSAA depth textures.

Fixes random hangs with:
dEQP-VK.glsl.builtin_var.fragdepth.*

v2: check fmask_state is not NULL

Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_image.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 9a2f32bec7..91c7e5ff79 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -499,7 +499,8 @@ si_make_texture_descriptor(struct radv_device *device,
 				S_008F20_PITCH_GFX6(image->fmask.pitch_in_pixels - 1);
 			fmask_state[5] |= S_008F24_LAST_ARRAY(last_layer);
 		}
-	}
+	} else if (fmask_state)
+		memset(fmask_state, 0, 8 * 4);
 }
 
 static void




More information about the mesa-commit mailing list