tu: Fix passing tmp arrays to tu_desc_set_swiz/fdl6_buffer_view_init
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

../src/freedreno/vulkan/tu_clear_blit.cc:3664:1:   required from here
../src/freedreno/vulkan/tu_clear_blit.cc:1274:26: error: taking address of temporary array
 1274 |    tu_desc_set_swiz<CHIP>(desc, tu_swiz(X, Y, Z, W));

Fixes: 75166dff1d ("tu: Extract out descriptor helpers")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39198>
This commit is contained in:
Danylo Piliaiev 2026-01-07 17:18:36 +01:00 committed by Marge Bot
parent 71310a54c5
commit be190a5d3d
3 changed files with 3 additions and 3 deletions

View file

@ -537,7 +537,7 @@ FD_GENX(fdl6_view_init);
template <chip CHIP>
void
fdl6_buffer_view_init(uint32_t *descriptor, enum pipe_format format,
const uint8_t *swiz, uint64_t iova, uint32_t size,
const uint8_t (&swiz)[4], uint64_t iova, uint32_t size,
uint32_t struct_size_texels)
{
unsigned elem_size = util_format_get_blocksize(format);

View file

@ -475,7 +475,7 @@ fdl6_view_init(struct fdl6_view *view, const struct fdl_layout **layouts,
template <chip CHIP>
void
fdl6_buffer_view_init(uint32_t *descriptor, enum pipe_format format,
const uint8_t *swiz, uint64_t iova, uint32_t size,
const uint8_t (&swiz)[4], uint64_t iova, uint32_t size,
uint32_t struct_size_texels = 1);
#endif

View file

@ -250,7 +250,7 @@ tu_immutable_ycbcr_samplers(const struct tu_descriptor_set_layout *set,
template <chip CHIP>
static inline void
tu_desc_set_swiz(uint32_t *desc, const uint8_t *swiz)
tu_desc_set_swiz(uint32_t *desc, const uint8_t (&swiz)[4])
{
desc[0] = pkt_field_set(A6XX_TEX_CONST_0_SWIZ_X, desc[0], fdl6_swiz(swiz[0]));
desc[0] = pkt_field_set(A6XX_TEX_CONST_0_SWIZ_Y, desc[0], fdl6_swiz(swiz[1]));