Mesa (master): freedreno/vulkan: for_each_bit -> foreach_bit

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 24 17:40:27 UTC 2021


Module: Mesa
Branch: master
Commit: 77cba4b9f2ecb0e32ebf7e6514501a6969edc732
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77cba4b9f2ecb0e32ebf7e6514501a6969edc732

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon Feb 22 10:13:41 2021 -0500

freedreno/vulkan: for_each_bit -> foreach_bit

Reviewed-by: Rob Clark <robclark at freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9191>

---

 src/freedreno/vulkan/tu_clear_blit.c | 10 ++++------
 src/freedreno/vulkan/tu_cmd_buffer.c |  3 +--
 src/freedreno/vulkan/tu_private.h    |  5 +----
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/freedreno/vulkan/tu_clear_blit.c b/src/freedreno/vulkan/tu_clear_blit.c
index 90a8978988f..aabd25c72a3 100644
--- a/src/freedreno/vulkan/tu_clear_blit.c
+++ b/src/freedreno/vulkan/tu_clear_blit.c
@@ -1192,8 +1192,7 @@ tu_CmdBlitImage(VkCommandBuffer commandBuffer,
       if (src_image->vk_format == VK_FORMAT_D32_SFLOAT_S8_UINT ||
           dst_image->vk_format == VK_FORMAT_D32_SFLOAT_S8_UINT) {
          VkImageBlit region = pRegions[i];
-         uint32_t b;
-         for_each_bit(b, pRegions[i].dstSubresource.aspectMask) {
+         u_foreach_bit(b, pRegions[i].dstSubresource.aspectMask) {
             region.srcSubresource.aspectMask = BIT(b);
             region.dstSubresource.aspectMask = BIT(b);
             tu6_blit_image(cmd, src_image, dst_image, &region, filter);
@@ -1887,8 +1886,7 @@ tu_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer,
 
       if (image->vk_format == VK_FORMAT_D32_SFLOAT_S8_UINT) {
          /* can't clear both depth and stencil at once, split up the aspect mask */
-         uint32_t b;
-         for_each_bit(b, range->aspectMask)
+         u_foreach_bit(b, range->aspectMask)
             clear_image(cmd, image, (const VkClearValue*) pDepthStencil, range, BIT(b));
          continue;
       }
@@ -1912,7 +1910,7 @@ tu_clear_sysmem_attachments(struct tu_cmd_buffer *cmd,
    uint32_t clear_value[MAX_RTS][4];
    float z_clear_val = 0.0f;
    uint8_t s_clear_val = 0;
-   uint32_t clear_rts = 0, clear_components = 0, num_rts = 0, b;
+   uint32_t clear_rts = 0, clear_components = 0, num_rts = 0;
    bool z_clear = false;
    bool s_clear = false;
    bool layered_clear = false;
@@ -2036,7 +2034,7 @@ tu_clear_sysmem_attachments(struct tu_cmd_buffer *cmd,
                   CP_LOAD_STATE6_0_NUM_UNIT(num_rts));
    tu_cs_emit(cs, CP_LOAD_STATE6_1_EXT_SRC_ADDR(0));
    tu_cs_emit(cs, CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI(0));
-   for_each_bit(b, clear_rts)
+   u_foreach_bit(b, clear_rts)
       tu_cs_emit_array(cs, clear_value[b], 4);
 
    for (uint32_t i = 0; i < rect_count; i++) {
diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index 8da5d7c52e9..1ba541d9cdc 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -2109,7 +2109,6 @@ tu_CmdBindPipeline(VkCommandBuffer commandBuffer,
    if (!(cmd->state.dirty & TU_CMD_DIRTY_DRAW_STATE)) {
       struct tu_cs *cs = &cmd->draw_cs;
       uint32_t mask = ~pipeline->dynamic_state_mask & BITFIELD_MASK(TU_DYNAMIC_STATE_COUNT);
-      uint32_t i;
 
       tu_cs_emit_pkt7(cs, CP_SET_DRAW_STATE, 3 * (6 + util_bitcount(mask)));
       tu_cs_emit_draw_state(cs, TU_DRAW_STATE_PROGRAM, pipeline->program.state);
@@ -2119,7 +2118,7 @@ tu_CmdBindPipeline(VkCommandBuffer commandBuffer,
       tu_cs_emit_draw_state(cs, TU_DRAW_STATE_RAST, pipeline->rast_state);
       tu_cs_emit_draw_state(cs, TU_DRAW_STATE_BLEND, pipeline->blend_state);
 
-      for_each_bit(i, mask)
+      u_foreach_bit(i, mask)
          tu_cs_emit_draw_state(cs, TU_DRAW_STATE_DYNAMIC + i, pipeline->dynamic_state[i]);
    }
 
diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h
index 86014457ded..ae79188e217 100644
--- a/src/freedreno/vulkan/tu_private.h
+++ b/src/freedreno/vulkan/tu_private.h
@@ -47,6 +47,7 @@
 
 #include "c11/threads.h"
 #include "main/macros.h"
+#include "util/bitscan.h"
 #include "util/list.h"
 #include "util/log.h"
 #include "util/macros.h"
@@ -118,10 +119,6 @@ typedef uint32_t xcb_window_t;
 #define A6XX_TEX_CONST_DWORDS 16
 #define A6XX_TEX_SAMP_DWORDS 4
 
-#define for_each_bit(b, dword)                                               \
-   for (uint32_t __dword = (dword);                                          \
-        (b) = __builtin_ffs(__dword) - 1, __dword; __dword &= ~(1 << (b)))
-
 #define COND(bool, val) ((bool) ? (val) : 0)
 #define BIT(bit) (1u << (bit))
 



More information about the mesa-commit mailing list