mesa/src/virtio/vulkan
Chia-I Wu 9c81de7df2 venus: cache shmems
Shmems are allocated internally and are only for CPU access.  They can
be easily cached.

Venus have 4 sources of shmem allocations

 - the ring buffer
 - the reply stream
 - the indirection submission upload cs
 - one cs for each vn_command_buffer

The first one is allocated only once.  The other three reallocate
occasionally.  The frequencies depend on the workloads.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14179>
2021-12-15 19:02:29 +00:00
..
.clang-format venus: change SpaceBeforeParens style option 2021-04-20 16:29:28 -07:00
meson.build venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_android.c venus: add buffer cache init and usage flows 2021-10-28 00:23:14 +00:00
vn_android.h venus: refactor the ahb buffer mem_type_bits query api 2021-10-28 00:23:14 +00:00
vn_buffer.c venus: fix vn_buffer_get_max_buffer_size 2021-12-14 05:49:08 +00:00
vn_buffer.h venus: add buffer cache init and usage flows 2021-10-28 00:23:14 +00:00
vn_command_buffer.c venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer 2021-12-15 19:02:29 +00:00
vn_command_buffer.h venus: remember cmd buffer fb attachments 2021-06-03 06:03:31 +00:00
vn_common.c venus: add atrace support 2021-10-09 00:42:32 +00:00
vn_common.h venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_cs.c venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer 2021-12-15 19:02:29 +00:00
vn_cs.h venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer 2021-12-15 19:02:29 +00:00
vn_descriptor_set.c venus: refactor private descriptor_set helpers to be private 2021-10-27 18:33:11 +00:00
vn_descriptor_set.h venus: refactor private descriptor_set helpers to be private 2021-10-27 18:33:11 +00:00
vn_device.c venus: add buffer cache init and usage flows 2021-10-28 00:23:14 +00:00
vn_device.h venus: add buffer cache init and usage flows 2021-10-28 00:23:14 +00:00
vn_device_memory.c venus: move bo allocation for mappable memory to vn_MapMemory 2021-12-04 01:48:16 +00:00
vn_device_memory.h venus: track memory type property flags in vn_device_memory 2021-12-04 01:48:16 +00:00
vn_icd.c venus: add atrace support 2021-10-09 00:42:32 +00:00
vn_icd.h
vn_image.c venus: add struct vn_image_memory_requirements 2021-10-28 00:23:14 +00:00
vn_image.h venus: add struct vn_image_memory_requirements 2021-10-28 00:23:14 +00:00
vn_instance.c venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer 2021-12-15 19:02:29 +00:00
vn_instance.h venus: add VN_CS_ENCODER_STORAGE_SHMEM_POOL for VkCommandBuffer 2021-12-15 19:02:29 +00:00
vn_physical_device.c venus: Use the common WSI wrappers 2021-10-13 00:06:15 +00:00
vn_physical_device.h venus: break up vn_device.c 2021-08-02 22:45:45 +00:00
vn_pipeline.c venus: scrub ignored fields of pipeline info when rasterization is disable 2021-08-23 20:00:58 +00:00
vn_pipeline.h venus: split out vn_pipeline.[ch] 2021-04-09 16:58:46 +00:00
vn_query_pool.c venus: split out vn_query_pool.[ch] 2021-04-09 16:58:46 +00:00
vn_query_pool.h venus: split out vn_query_pool.[ch] 2021-04-09 16:58:46 +00:00
vn_queue.c venus: fix all missing vn_object_base_fini 2021-08-23 18:51:38 +00:00
vn_queue.h venus: remove vn_queue::sync_queue_index 2021-04-14 21:18:10 +00:00
vn_render_pass.c venus: remember framebuffer attachments 2021-06-03 06:03:31 +00:00
vn_render_pass.h venus: remember framebuffer attachments 2021-06-03 06:03:31 +00:00
vn_renderer.h venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_renderer_internal.c venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_renderer_internal.h venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_renderer_util.c venus: add vn_renderer_shmem_pool 2021-12-15 19:02:29 +00:00
vn_renderer_util.h venus: add vn_renderer_shmem_pool 2021-12-15 19:02:29 +00:00
vn_renderer_virtgpu.c venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_renderer_vtest.c venus: cache shmems 2021-12-15 19:02:29 +00:00
vn_ring.c venus: make ring buffer size configurable 2021-09-08 16:38:24 +00:00
vn_ring.h venus: make ring buffer size configurable 2021-09-08 16:38:24 +00:00
vn_wsi.c venus: Use the common WSI wrappers 2021-10-13 00:06:15 +00:00
vn_wsi.h venus: move wsi_image_create_info parsing 2021-06-03 06:03:31 +00:00