intel/tools: Disassemble WAIT's argument as a destination
[mesa.git] / src / intel / vulkan / anv_nir.h
index 844e5b0bfd40bd021291968fb3ecef428c7ba2bd..9095f2d58d3b23fc4616c8a25f9c086f3f2870b3 100644 (file)
 extern "C" {
 #endif
 
-void anv_nir_lower_push_constants(nir_shader *shader);
+bool anv_check_for_primitive_replication(nir_shader **shaders,
+                                         struct anv_graphics_pipeline *pipeline);
 
-bool anv_nir_lower_multiview(nir_shader *shader, uint32_t view_mask);
+bool anv_nir_lower_multiview(nir_shader *shader,
+                             struct anv_graphics_pipeline *pipeline);
 
 bool anv_nir_lower_ycbcr_textures(nir_shader *shader,
-                                  struct anv_pipeline_layout *layout);
+                                  const struct anv_pipeline_layout *layout);
 
 static inline nir_address_format
 anv_nir_ssbo_addr_format(const struct anv_physical_device *pdevice,
@@ -54,13 +56,21 @@ anv_nir_ssbo_addr_format(const struct anv_physical_device *pdevice,
 
 void anv_nir_apply_pipeline_layout(const struct anv_physical_device *pdevice,
                                    bool robust_buffer_access,
-                                   struct anv_pipeline_layout *layout,
+                                   const struct anv_pipeline_layout *layout,
                                    nir_shader *shader,
-                                   struct brw_stage_prog_data *prog_data,
                                    struct anv_pipeline_bind_map *map);
 
-bool anv_nir_add_base_work_group_id(nir_shader *shader,
-                                    struct brw_cs_prog_data *prog_data);
+void anv_nir_compute_push_layout(const struct anv_physical_device *pdevice,
+                                 bool robust_buffer_access,
+                                 nir_shader *nir,
+                                 struct brw_stage_prog_data *prog_data,
+                                 struct anv_pipeline_bind_map *map,
+                                 void *mem_ctx);
+
+void anv_nir_validate_push_layout(struct brw_stage_prog_data *prog_data,
+                                  struct anv_pipeline_bind_map *map);
+
+bool anv_nir_add_base_work_group_id(nir_shader *shader);
 
 #ifdef __cplusplus
 }