Mesa (main): radv: declare index_va in a single call for indexed draw packet emit

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 2 13:47:31 UTC 2021


Module: Mesa
Branch: main
Commit: 79742d41c00b70cc751d1d83a9c83a0a93f9ef01
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79742d41c00b70cc751d1d83a9c83a0a93f9ef01

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Tue Mar 30 16:22:27 2021 -0400

radv: declare index_va in a single call for indexed draw packet emit

this is an extreme hotpath, so having a single calculation in a const
variable is slightly better for compiler microoptimizing

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11124>

---

 src/amd/vulkan/radv_cmd_buffer.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index dc6ac362665..45dcd281c1b 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -5354,7 +5354,6 @@ radv_emit_draw_packets_indexed(struct radv_cmd_buffer *cmd_buffer,
 {
    const struct radv_cmd_state *state = &cmd_buffer->state;
    const int index_size = radv_get_vgt_index_size(state->index_type);
-   uint64_t index_va;
 
    uint32_t remaining_indexes = cmd_buffer->state.max_index_count;
    remaining_indexes = MAX2(remaining_indexes, info->first_index) - info->first_index;
@@ -5364,8 +5363,7 @@ radv_emit_draw_packets_indexed(struct radv_cmd_buffer *cmd_buffer,
        cmd_buffer->device->physical_device->rad_info.has_zero_index_buffer_bug)
       return;
 
-   index_va = state->index_va;
-   index_va += first_index * index_size;
+   const uint64_t index_va = state->index_va + first_index * index_size;
 
    if (!state->subpass->view_mask) {
       radv_cs_emit_draw_indexed_packet(cmd_buffer, index_va, remaining_indexes, count);



More information about the mesa-commit mailing list