anv: Add initial support for cube maps
[mesa.git] / src / vulkan / anv_private.h
index 77aa385225959eac92f524d16f1771567cdb1a81..d2b65711fc4092eb6f2e460299fa59d386cc2460 100644 (file)
@@ -851,6 +851,8 @@ struct anv_descriptor {
          struct anv_sampler *sampler;
       };
 
+      struct anv_buffer_view *buffer_view;
+
       struct {
          struct anv_buffer *buffer;
          uint64_t offset;
@@ -1184,6 +1186,8 @@ void anv_cmd_buffer_begin_subpass(struct anv_cmd_buffer *cmd_buffer,
 struct anv_state
 anv_cmd_buffer_push_constants(struct anv_cmd_buffer *cmd_buffer,
                               gl_shader_stage stage);
+struct anv_state
+anv_cmd_buffer_cs_push_constants(struct anv_cmd_buffer *cmd_buffer);
 
 void anv_cmd_buffer_clear_attachments(struct anv_cmd_buffer *cmd_buffer,
                                       struct anv_render_pass *pass,
@@ -1425,8 +1429,6 @@ struct anv_image {
    struct anv_bo *bo;
    VkDeviceSize offset;
 
-   uint8_t surface_type; /**< RENDER_SURFACE_STATE.SurfaceType */
-
    bool needs_nonrt_surface_state:1;
    bool needs_color_rt_surface_state:1;
    bool needs_storage_surface_state:1;
@@ -1514,6 +1516,13 @@ gen9_image_view_init(struct anv_image_view *iview,
                      const VkImageViewCreateInfo* pCreateInfo,
                      struct anv_cmd_buffer *cmd_buffer);
 
+struct anv_buffer_view {
+   struct anv_bo *bo;
+   uint32_t offset; /**< Offset into bo. */
+
+   struct anv_state surface_state;
+};
+
 void anv_fill_buffer_surface_state(struct anv_device *device, void *state,
                                    const struct anv_format *format,
                                    uint32_t offset, uint32_t range,
@@ -1634,6 +1643,7 @@ ANV_DEFINE_HANDLE_CASTS(anv_queue, VkQueue)
 
 ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_cmd_pool, VkCommandPool)
 ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_buffer, VkBuffer)
+ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_buffer_view, VkBufferView)
 ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_descriptor_set, VkDescriptorSet)
 ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_descriptor_set_layout, VkDescriptorSetLayout)
 ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_device_memory, VkDeviceMemory)