Mesa (master): radv: Possible on-demand compilation fix.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 16 09:35:05 UTC 2018


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

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Wed Aug 15 16:00:02 2018 +0200

radv: Possible on-demand compilation fix.

Seems that in a single case we use the renderpass before checking
the pipeline, so check the renderpass before we use it.

Fixes: fbcd1673144 "radv: Add on-demand compilation of built-in shaders."
Tested-by: Timothy Arceri <tarceri at itsqueeze.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

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

diff --git a/src/amd/vulkan/radv_meta_resolve_fs.c b/src/amd/vulkan/radv_meta_resolve_fs.c
index 21a5922f5d..af4a6fe7a6 100644
--- a/src/amd/vulkan/radv_meta_resolve_fs.c
+++ b/src/amd/vulkan/radv_meta_resolve_fs.c
@@ -463,6 +463,14 @@ void radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer,
 	radv_decompress_resolve_src(cmd_buffer, src_image, src_image_layout,
 				    region_count, regions);
 
+	if (!device->meta_state.resolve_fragment.rc[samples_log2].render_pass[fs_key][dst_layout]) {
+		VkResult ret = create_resolve_pipeline(device, samples_log2, radv_fs_key_format_exemplars[fs_key]);
+		if (ret != VK_SUCCESS) {
+			cmd_buffer->record_result = ret;
+			return;
+		}
+	}
+
 	rp = device->meta_state.resolve_fragment.rc[samples_log2].render_pass[fs_key][dst_layout];
 
 	radv_meta_save(&saved_state, cmd_buffer,




More information about the mesa-commit mailing list