diff options
author | Dave Airlie <[email protected]> | 2017-06-09 02:11:29 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-06-14 12:47:58 +0100 |
commit | 423dab9d324e774c807403549c8e67d826af7bd4 (patch) | |
tree | 16b9b83c2d2bffa8b5f8906dc48df6990b5475ab | |
parent | 18fd7249c515634bfe23fcf468239add5d5f4cc9 (diff) |
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 <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 51553c0beaeb91b1f2cb3292ac55573309b1d86f)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/amd/vulkan/radv_image.c
-rw-r--r-- | src/amd/vulkan/radv_image.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index 3586e4c158b..4e6453cd168 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -382,7 +382,8 @@ si_make_texture_descriptor(struct radv_device *device, S_008F24_LAST_ARRAY(last_layer); fmask_state[6] = 0; fmask_state[7] = 0; - } + } else if (fmask_state) + memset(fmask_state, 0, 8 * 4); } static void |