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.
This commit is contained in:
Kristian Høgsberg 2015-05-18 10:39:14 -07:00
parent b6c7d8c911
commit f330bad545

View file

@ -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,