X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fintel%2Fvulkan%2Fanv_genX.h;h=aede549f487519005dc39e9587e1e3a4326fbec9;hb=240c0746d1617690ede440794eb4aa981784f5df;hp=dc2dd5df6c84fb191a77e8217d1ff791a47ac492;hpb=b548fdbed5c16f5c0dfc26f65b0037a85c567735;p=mesa.git diff --git a/src/intel/vulkan/anv_genX.h b/src/intel/vulkan/anv_genX.h index dc2dd5df6c8..aede549f487 100644 --- a/src/intel/vulkan/anv_genX.h +++ b/src/intel/vulkan/anv_genX.h @@ -21,54 +21,87 @@ * IN THE SOFTWARE. */ +/* + * NOTE: The header can be included multiple times, from the same file. + */ + /* * Gen-specific function declarations. This header must *not* be included - * directly. Instead, it is included multiple times by gen8_private.h. - * + * directly. Instead, it is included multiple times by anv_private.h. + * * In this header file, the usual genx() macro is available. */ +#ifndef ANV_PRIVATE_H +#error This file is included by means other than anv_private.h +#endif + +extern const uint32_t genX(vk_to_gen_cullmode)[]; + +extern const uint32_t genX(vk_to_gen_front_face)[]; + +extern const uint32_t genX(vk_to_gen_primitive_type)[]; + +extern const uint32_t genX(vk_to_gen_compare_op)[]; + +extern const uint32_t genX(vk_to_gen_stencil_op)[]; + VkResult genX(init_device_state)(struct anv_device *device); void genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer); -struct anv_state -genX(cmd_buffer_alloc_null_surface_state)(struct anv_cmd_buffer *cmd_buffer, - struct anv_framebuffer *fb); - void genX(cmd_buffer_apply_pipe_flushes)(struct anv_cmd_buffer *cmd_buffer); +void genX(cmd_buffer_emit_gen7_depth_flush)(struct anv_cmd_buffer *cmd_buffer); + +void genX(cmd_buffer_set_binding_for_gen8_vb_flush)(struct anv_cmd_buffer *cmd_buffer, + int vb_index, + struct anv_address vb_address, + uint32_t vb_size); +void genX(cmd_buffer_update_dirty_vbs_for_gen8_vb_flush)(struct anv_cmd_buffer *cmd_buffer, + uint32_t access_type, + uint64_t vb_used); + +void genX(cmd_buffer_emit_hashing_mode)(struct anv_cmd_buffer *cmd_buffer, + unsigned width, unsigned height, + unsigned scale); + void genX(flush_pipeline_select_3d)(struct anv_cmd_buffer *cmd_buffer); void genX(flush_pipeline_select_gpgpu)(struct anv_cmd_buffer *cmd_buffer); void genX(cmd_buffer_config_l3)(struct anv_cmd_buffer *cmd_buffer, const struct gen_l3_config *cfg); +void genX(cmd_buffer_emit_clip)(struct anv_cmd_buffer *cmd_buffer); + void genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer); void genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer); void genX(cmd_buffer_flush_compute_state)(struct anv_cmd_buffer *cmd_buffer); +void genX(cmd_buffer_enable_pma_fix)(struct anv_cmd_buffer *cmd_buffer, + bool enable); + +void genX(cmd_buffer_mark_image_written)(struct anv_cmd_buffer *cmd_buffer, + const struct anv_image *image, + VkImageAspectFlagBits aspect, + enum isl_aux_usage aux_usage, + uint32_t level, + uint32_t base_layer, + uint32_t layer_count); + +void genX(cmd_emit_conditional_render_predicate)(struct anv_cmd_buffer *cmd_buffer); + void genX(emit_urb_setup)(struct anv_device *device, struct anv_batch *batch, + const struct gen_l3_config *l3_config, VkShaderStageFlags active_stages, - unsigned vs_entry_size, unsigned gs_entry_size, - const struct gen_l3_config *l3_config); - -VkResult -genX(graphics_pipeline_create)(VkDevice _device, - struct anv_pipeline_cache *cache, - const VkGraphicsPipelineCreateInfo *pCreateInfo, - const struct anv_graphics_pipeline_create_info *extra, - const VkAllocationCallbacks *alloc, - VkPipeline *pPipeline); - -VkResult -genX(compute_pipeline_create)(VkDevice _device, - struct anv_pipeline_cache *cache, - const VkComputePipelineCreateInfo *pCreateInfo, - const VkAllocationCallbacks *alloc, - VkPipeline *pPipeline); + const unsigned entry_size[4], + enum gen_urb_deref_block_size *deref_block_size); + +void genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer, + struct anv_address dst, struct anv_address src, + uint32_t size); void genX(blorp_exec)(struct blorp_batch *batch, const struct blorp_params *params);