From: Bas Nieuwenhuizen Date: Wed, 15 Aug 2018 14:00:02 +0000 (+0200) Subject: radv: Possible on-demand compilation fix. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3308db2dd711607673328e991e8d98c653683d20;p=mesa.git 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 Reviewed-by: Timothy Arceri Reviewed-by: Samuel Pitoiset --- diff --git a/src/amd/vulkan/radv_meta_resolve_fs.c b/src/amd/vulkan/radv_meta_resolve_fs.c index 21a5922f5df..af4a6fe7a66 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,