mesa/src/amd/vulkan
Pierre-Eric Pelloux-Prayer 7f94b80001 ac/surface: introduce umd metadata v2
Update the metadata format. For gfx8- chips nothing change.

For gfx9 chips:
* for textures without a valid modifier a dw is added at index=10
  containing the stride
* for textures with a valid modifier the modifier is stored at
  index 10 and 11. Then the number of planes is stored at 12.
  Then for each plane the offset and the stride are stored.

The goal here is to be able to create textures from dmabuf from
umr - without these changes this is impossible because these
values can't be guessed.

The new layout is compatible with version=1 so old/new UMD can
be used together without issues and isn't used by default.
For radeonsi, it will be possible to use it with a AMD_DEBUG=...
option.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21984>
2023-03-28 15:17:28 +00:00
..
bvh radv/bvh: Add a shader for filling the header 2023-02-24 15:14:40 +00:00
layers radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
meta radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radix_sort meson: do not use source_root() when possible 2022-11-22 06:11:07 +00:00
winsys radv/amdgpu: only set a new pstate if the current one is different 2023-02-17 11:36:06 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_acceleration_structure.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_aco_shader_info.h aco, radv: Remove VS IO information from ACO. 2023-03-15 14:54:28 +00:00
radv_android.c vulkan: Use static_assert for check HWVULKAN_DISPATCH_MAGIC == ICD_LOADER_MAGIC 2023-02-10 07:21:31 +00:00
radv_buffer.c radv: use common GetBufferMemoryRequirements2() 2023-03-22 07:50:04 +00:00
radv_check_va.py radv: add a Python script to check if a VA was ever valid 2020-12-30 08:40:21 +01:00
radv_cmd_buffer.c radv/rt: bind the pipeline stack when it's not dynamic 2023-03-28 06:56:14 +00:00
radv_constants.h radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_cp_reg_shadowing.c radv: add support for register shadowing 2023-01-25 04:53:34 +00:00
radv_cs.h amd: massively simplify how info->spi_cu_en is applied 2023-03-03 00:41:48 +00:00
radv_debug.c radv: remove radv_pipeline::device completely 2023-03-24 13:48:40 +00:00
radv_debug.h radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_descriptor_set.c radv: do not add descriptor BOs on update when the global BO list is used 2023-03-07 07:30:29 +00:00
radv_descriptor_set.h radv: Use common ycbcr conversion lowering 2023-02-06 18:36:29 +00:00
radv_device.c radv: use common GetBufferMemoryRequirements2() 2023-03-22 07:50:04 +00:00
radv_device_generated_commands.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_device_memory.c radv: implement VK_KHR_map_memory2 2023-03-21 23:08:03 +00:00
radv_event.c radv: move event related code to radv_event.c 2023-03-08 16:21:10 +00:00
radv_formats.c radv: disable DCC with signedness reinterpretation on GFX11 2023-03-08 11:53:25 +00:00
radv_image.c ac/surface: introduce umd metadata v2 2023-03-28 15:17:28 +00:00
radv_instance.c radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_llvm_helper.cpp radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_llvm_helper.h radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_nir_apply_pipeline_layout.c radv: load ssbo_atomic_fadd descriptor 2023-01-17 17:39:15 +00:00
radv_nir_lower_abi.c radv: Add per-prim attributes to ring_attr stride. 2023-03-23 11:49:35 +00:00
radv_nir_lower_ray_queries.c radv/rt: Pre shift cull_mask 2023-02-26 12:58:13 +00:00
radv_nir_lower_vs_inputs.c radv: Fix swizzled VS input loads when some components are unused. 2023-03-28 08:37:28 +00:00
radv_nir_to_llvm.c radv: move gl_shader_stage from radv_binary to radv_shader_info 2023-03-24 19:03:29 +00:00
radv_perfcounter.c radv: Fixes prototypes 2022-11-11 05:38:19 +00:00
radv_physical_device.c radv: Enable mesh shading on GFX11. 2023-03-23 11:49:35 +00:00
radv_pipeline.c radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info 2023-03-27 18:54:50 +00:00
radv_pipeline_cache.c radv: separate radv_capture_shader_executable_info() from radv_shader_create() 2023-03-24 19:03:29 +00:00
radv_pipeline_rt.c radv: remove radv_pipeline::device completely 2023-03-24 13:48:40 +00:00
radv_private.h radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info 2023-03-27 18:54:50 +00:00
radv_query.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_queue.c radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_radeon_winsys.h radv: Change radeon_cmdbuf counters to uint64_t to make alias analysis optimize radeon_emit better 2023-01-27 15:05:03 +00:00
radv_rmv.c radv: restore uploading shaders individually instead of consecutively 2023-02-10 13:42:14 +00:00
radv_rra.c radv: implement VK_KHR_map_memory2 2023-03-21 23:08:03 +00:00
radv_rt_common.c radv: Use umod_imm 2023-03-22 06:18:18 +00:00
radv_rt_common.h radv: Use correct watermark for early loop exit. 2022-12-11 18:51:29 +00:00
radv_rt_shader.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_sampler.c radv: move sampler related code to radv_sampler.c 2023-03-08 16:21:10 +00:00
radv_sdma_copy_image.c radv: Introduce sdma_copy_buffer for GFX7+. 2023-03-16 18:02:56 +00:00
radv_shader.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
radv_shader.h radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info 2023-03-27 18:54:50 +00:00
radv_shader_args.c radv: fix NGG streamout with VS and GPL on GFX11 2023-03-20 17:47:03 +00:00
radv_shader_args.h radv: fix NGG streamout with VS and GPL on GFX11 2023-03-20 17:47:03 +00:00
radv_shader_info.c radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info 2023-03-27 18:54:50 +00:00
radv_spm.c radv: move ac_perfcounters to physical_device. 2022-07-09 12:29:05 +00:00
radv_sqtt.c radv: implement a workaround for SQTT on GFX11 2023-02-21 07:28:49 +00:00
radv_video.c radv/video: fix h265 decoding sizes. 2023-03-15 05:08:49 +00:00
radv_wsi.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
si_cmd_buffer.c radv: Emulate VGT_ESGS_ITEMSIZE in shaders on GFX9+. 2023-03-03 20:15:10 +00:00
vk_format.h vulkan: Common vk_format_get_component_bits 2022-07-18 22:14:06 +00:00