anv: pCreateInfo->pApplicationInfo parameter to vkCreateInstance may be NULL
[mesa.git] / src / vulkan / anv_meta.h
index ac28d897f0b582928237540df175aceda37c68ca..d33e9e6d8ba7185816b745d082ed71d3dad598ab 100644 (file)
@@ -35,18 +35,40 @@ struct anv_meta_saved_state {
    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
 }