Mesa (main): radv: Always inline descriptor writes
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Nov 4 07:53:06 UTC 2021
Module: Mesa
Branch: main
Commit: 7b0826db56b36b213ed924b9bbd6fdb21d5cd88d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0826db56b36b213ed924b9bbd6fdb21d5cd88d
Author: Joshua Ashton <joshua at froggi.es>
Date: Wed Oct 13 15:08:39 2021 +0100
radv: Always inline descriptor writes
Improves performance, see next commit for benchmarks.
Signed-off-by: Joshua Ashton <joshua at froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13342>
---
src/amd/vulkan/radv_descriptor_set.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/amd/vulkan/radv_descriptor_set.c b/src/amd/vulkan/radv_descriptor_set.c
index 1b1708c3c7f..222b3ca2977 100644
--- a/src/amd/vulkan/radv_descriptor_set.c
+++ b/src/amd/vulkan/radv_descriptor_set.c
@@ -935,7 +935,7 @@ radv_FreeDescriptorSets(VkDevice _device, VkDescriptorPool descriptorPool, uint3
return VK_SUCCESS;
}
-static void
+static ALWAYS_INLINE void
write_texel_buffer_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_buffer,
unsigned *dst, struct radeon_winsys_bo **buffer_list,
const VkBufferView _buffer_view)
@@ -957,7 +957,7 @@ write_texel_buffer_descriptor(struct radv_device *device, struct radv_cmd_buffer
*buffer_list = buffer_view->bo;
}
-static void
+static ALWAYS_INLINE void
write_buffer_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_buffer,
unsigned *dst, struct radeon_winsys_bo **buffer_list,
const VkDescriptorBufferInfo *buffer_info)
@@ -1009,7 +1009,7 @@ write_buffer_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_
*buffer_list = buffer->bo;
}
-static void
+static ALWAYS_INLINE void
write_block_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_buffer, void *dst,
const VkWriteDescriptorSet *writeset)
{
@@ -1019,7 +1019,7 @@ write_block_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_b
memcpy(dst, inline_ub->pData, inline_ub->dataSize);
}
-static void
+static ALWAYS_INLINE void
write_dynamic_buffer_descriptor(struct radv_device *device, struct radv_descriptor_range *range,
struct radeon_winsys_bo **buffer_list,
const VkDescriptorBufferInfo *buffer_info)
@@ -1054,7 +1054,7 @@ write_dynamic_buffer_descriptor(struct radv_device *device, struct radv_descript
*buffer_list = buffer->bo;
}
-static void
+static ALWAYS_INLINE void
write_image_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_buffer,
unsigned size, unsigned *dst, struct radeon_winsys_bo **buffer_list,
VkDescriptorType descriptor_type, const VkDescriptorImageInfo *image_info)
@@ -1084,7 +1084,7 @@ write_image_descriptor(struct radv_device *device, struct radv_cmd_buffer *cmd_b
*buffer_list = iview->image->bo;
}
-static void
+static ALWAYS_INLINE void
write_combined_image_sampler_descriptor(struct radv_device *device,
struct radv_cmd_buffer *cmd_buffer, unsigned sampler_offset,
unsigned *dst, struct radeon_winsys_bo **buffer_list,
@@ -1100,7 +1100,7 @@ write_combined_image_sampler_descriptor(struct radv_device *device,
}
}
-static void
+static ALWAYS_INLINE void
write_sampler_descriptor(struct radv_device *device, unsigned *dst,
const VkDescriptorImageInfo *image_info)
{
@@ -1109,7 +1109,7 @@ write_sampler_descriptor(struct radv_device *device, unsigned *dst,
memcpy(dst, sampler->state, 16);
}
-static void
+static ALWAYS_INLINE void
write_accel_struct(void *ptr, VkAccelerationStructureKHR _accel_struct)
{
RADV_FROM_HANDLE(radv_acceleration_structure, accel_struct, _accel_struct);
More information about the mesa-commit
mailing list