From: Kristian Høgsberg Date: Mon, 18 May 2015 17:39:14 +0000 (-0700) Subject: vk: Only fill render targets for meta clear X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f330bad5453dfcdf56f5d7d1adecbd5a2de1392f;p=mesa.git vk: Only fill render targets for meta clear Clear inherits the render targets from the current render pass. This means we need to fill out the binding table after switching to meta bindings. However, meta copies etc happen outside a render pass and break when we try to fill in the render targets. This change fills the render targets only for meta clear. --- diff --git a/src/vulkan/meta.c b/src/vulkan/meta.c index ebdf1a2b08d..661584b0fdf 100644 --- a/src/vulkan/meta.c +++ b/src/vulkan/meta.c @@ -160,9 +160,6 @@ anv_cmd_buffer_save(struct anv_cmd_buffer *cmd_buffer, state->old_bindings = cmd_buffer->bindings; cmd_buffer->bindings = &state->bindings; state->old_pipeline = cmd_buffer->pipeline; - - /* Initialize render targets for the meta bindings. */ - anv_cmd_buffer_fill_render_targets(cmd_buffer); } static void @@ -245,6 +242,9 @@ anv_cmd_buffer_clear(struct anv_cmd_buffer *cmd_buffer, anv_cmd_buffer_save(cmd_buffer, &saved_state); + /* Initialize render targets for the meta bindings. */ + anv_cmd_buffer_fill_render_targets(cmd_buffer); + anv_CmdBindVertexBuffers((VkCmdBuffer) cmd_buffer, 0, 2, (VkBuffer[]) { (VkBuffer) &vertex_buffer,