Mesa (master): radv: make sure to init the DCC decompress compute path state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 17 09:29:16 UTC 2019


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Jun 13 12:44:03 2019 +0200

radv: make sure to init the DCC decompress compute path state

This fixes a segfault when forcing DCC decompressions on compute
because internal meta objects are not created since the on-demand
stuff.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-By: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_meta_fast_clear.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/amd/vulkan/radv_meta_fast_clear.c b/src/amd/vulkan/radv_meta_fast_clear.c
index 8f97c1a8f15..176f9803b45 100644
--- a/src/amd/vulkan/radv_meta_fast_clear.c
+++ b/src/amd/vulkan/radv_meta_fast_clear.c
@@ -753,6 +753,14 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer,
 	state->flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB |
 			     RADV_CMD_FLAG_FLUSH_AND_INV_CB_META;
 
+	if (!cmd_buffer->device->meta_state.fast_clear_flush.cmask_eliminate_pipeline) {
+		VkResult ret = radv_device_init_meta_fast_clear_flush_state_internal(cmd_buffer->device);
+		if (ret != VK_SUCCESS) {
+			cmd_buffer->record_result = ret;
+			return;
+		}
+	}
+
 	radv_meta_save(&saved_state, cmd_buffer, RADV_META_SAVE_DESCRIPTORS |
 	                                         RADV_META_SAVE_COMPUTE_PIPELINE);
 




More information about the mesa-commit mailing list