Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>

On 8/15/18 4:25 PM, Bas Nieuwenhuizen wrote:
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."
---
  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 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,

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to