struct anv_vertex_binding old_vertex_bindings[ANV_META_VERTEX_BINDING_COUNT];
struct anv_descriptor_set *old_descriptor_set0;
struct anv_pipeline *old_pipeline;
- uint32_t dynamic_flags;
+
+ /**
+ * Bitmask of (1 << VK_DYNAMIC_STATE_*). Defines the set of saved dynamic
+ * state.
+ */
+ uint32_t dynamic_mask;
struct anv_dynamic_state dynamic;
};
+VkResult anv_device_init_meta_clear_state(struct anv_device *device);
+void anv_device_finish_meta_clear_state(struct anv_device *device);
+
+VkResult anv_device_init_meta_resolve_state(struct anv_device *device);
+void anv_device_finish_meta_resolve_state(struct anv_device *device);
+
+VkResult anv_device_init_meta_blit_state(struct anv_device *device);
+void anv_device_finish_meta_blit_state(struct anv_device *device);
+
void
-anv_cmd_buffer_save(struct anv_cmd_buffer *cmd_buffer,
- struct anv_meta_saved_state *state,
- uint32_t dynamic_state);
+anv_meta_save(struct anv_meta_saved_state *state,
+ const struct anv_cmd_buffer *cmd_buffer,
+ uint32_t dynamic_mask);
void
-anv_cmd_buffer_restore(struct anv_cmd_buffer *cmd_buffer,
- const struct anv_meta_saved_state *state);
+anv_meta_restore(const struct anv_meta_saved_state *state,
+ struct anv_cmd_buffer *cmd_buffer);
+
+VkImageViewType
+anv_meta_get_view_type(const struct anv_image *image);
+
+uint32_t
+anv_meta_get_iview_layer(const struct anv_image *dest_image,
+ const VkImageSubresourceLayers *dest_subresource,
+ const VkOffset3D *dest_offset);
#ifdef __cplusplus
}