diff --git a/.pick_status.json b/.pick_status.json index 0f7b03c3d6a..acd9eb57408 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -580,7 +580,7 @@ "description": "panfrost: Fix ubo_mask calculation", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c246af0dd805033b743dfe0be96c1077f35e0934" }, diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index d16ba005fad..903ea1b82de 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -4038,7 +4038,7 @@ bifrost_compile_shader_nir(nir_shader *nir, bi_compile_variant(nir, inputs, binary, sysval_to_id, info, BI_IDVS_NONE); } - info->ubo_mask &= BITSET_MASK(nir->info.num_ubos); + info->ubo_mask &= (1 << nir->info.num_ubos) - 1; _mesa_hash_table_u64_destroy(sysval_to_id); } diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 2a0bee92f6a..a40d1a594cb 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -3228,7 +3228,7 @@ midgard_compile_shader_nir(nir_shader *nir, /* Report the very first tag executed */ info->midgard.first_tag = midgard_get_first_tag_from_block(ctx, 0); - info->ubo_mask = ctx->ubo_mask & BITSET_MASK(ctx->nir->info.num_ubos); + info->ubo_mask = ctx->ubo_mask & ((1 << ctx->nir->info.num_ubos) - 1); if ((midgard_debug & MIDGARD_DBG_SHADERS) && ((midgard_debug & MIDGARD_DBG_INTERNAL) || !nir->info.internal)) {