X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Famd%2Fvulkan%2Fradv_meta.h;h=c4a81a25945263c8179925b927f0dde658782697;hb=a83f28d536d97615047f29ffb5f651a8afafb568;hp=6cad94c89e0138e5ad8a51088f396a55a8fcc528;hpb=399ebd2a84a133bd2ca3da388a059fd3bafe33f5;p=mesa.git diff --git a/src/amd/vulkan/radv_meta.h b/src/amd/vulkan/radv_meta.h index 6cad94c89e0..c4a81a25945 100644 --- a/src/amd/vulkan/radv_meta.h +++ b/src/amd/vulkan/radv_meta.h @@ -91,13 +91,9 @@ void radv_device_finish_meta_query_state(struct radv_device *device); VkResult radv_device_init_meta_resolve_compute_state(struct radv_device *device); void radv_device_finish_meta_resolve_compute_state(struct radv_device *device); -void radv_meta_save(struct radv_meta_saved_state *state, - const struct radv_cmd_buffer *cmd_buffer, - uint32_t dynamic_mask); -void radv_meta_save_novertex(struct radv_meta_saved_state *state, - const struct radv_cmd_buffer *cmd_buffer, - uint32_t dynamic_mask); +VkResult radv_device_init_meta_resolve_fragment_state(struct radv_device *device); +void radv_device_finish_meta_resolve_fragment_state(struct radv_device *device); void radv_meta_restore(const struct radv_meta_saved_state *state, struct radv_cmd_buffer *cmd_buffer); @@ -205,8 +201,6 @@ void radv_fast_clear_flush_image_inplace(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image, const VkImageSubresourceRange *subresourceRange); -void radv_meta_save_graphics_reset_vport_scissor(struct radv_meta_saved_state *saved_state, - struct radv_cmd_buffer *cmd_buffer); void radv_meta_save_graphics_reset_vport_scissor_novertex(struct radv_meta_saved_state *saved_state, struct radv_cmd_buffer *cmd_buffer); @@ -218,15 +212,33 @@ void radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer, uint32_t region_count, const VkImageResolve *regions); +void radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer, + struct radv_image *src_image, + VkImageLayout src_image_layout, + struct radv_image *dest_image, + VkImageLayout dest_image_layout, + uint32_t region_count, + const VkImageResolve *regions); + void radv_blit_to_prime_linear(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image, struct radv_image *linear_image); /* common nir builder helpers */ -#include "nir_builder.h" +#include "nir/nir_builder.h" nir_ssa_def *radv_meta_gen_rect_vertices(nir_builder *vs_b); - +nir_ssa_def *radv_meta_gen_rect_vertices_comp2(nir_builder *vs_b, nir_ssa_def *comp2); +nir_shader *radv_meta_build_nir_vs_generate_vertices(void); +nir_shader *radv_meta_build_nir_fs_noop(void); + +void radv_meta_build_resolve_shader_core(nir_builder *b, + bool is_integer, + bool is_srgb, + int samples, + nir_variable *input_img, + nir_variable *color, + nir_ssa_def *img_coord); #ifdef __cplusplus } #endif