mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
zink: fix buffer rebind early-out check
this was accidentally inverted; the rebind attempt is over if the number of enacted rebinds >= the expected rebinds Fixes:c32bcb9a8c("zink: improve handling of buffer rebinds using tc info") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26959> (cherry picked from commit6e4d901a2e)
This commit is contained in:
parent
5aab597ecb
commit
92f39d1cc3
2 changed files with 6 additions and 6 deletions
|
|
@ -1394,7 +1394,7 @@
|
|||
"description": "zink: fix buffer rebind early-out check",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "c32bcb9a8c2354b0c117d3f209c3d790b81f26be",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -4360,7 +4360,7 @@ rebind_buffer(struct zink_context *ctx, struct zink_resource *res, uint32_t rebi
|
|||
}
|
||||
rebind_mask &= ~BITFIELD_BIT(TC_BINDING_STREAMOUT_BUFFER);
|
||||
}
|
||||
if (num_rebinds && expected_num_rebinds >= num_rebinds && !rebind_mask)
|
||||
if (expected_num_rebinds && num_rebinds >= expected_num_rebinds && !rebind_mask)
|
||||
goto end;
|
||||
|
||||
if ((rebind_mask & BITFIELD_BIT(TC_BINDING_VERTEX_BUFFER)) || (!rebind_mask && res->vbo_bind_mask)) {
|
||||
|
|
@ -4375,7 +4375,7 @@ rebind_buffer(struct zink_context *ctx, struct zink_resource *res, uint32_t rebi
|
|||
rebind_mask &= ~BITFIELD_BIT(TC_BINDING_VERTEX_BUFFER);
|
||||
ctx->vertex_buffers_dirty = true;
|
||||
}
|
||||
if (num_rebinds && expected_num_rebinds >= num_rebinds && !rebind_mask)
|
||||
if (expected_num_rebinds && num_rebinds >= expected_num_rebinds && !rebind_mask)
|
||||
goto end;
|
||||
|
||||
const uint32_t ubo_mask = rebind_mask ?
|
||||
|
|
@ -4391,7 +4391,7 @@ rebind_buffer(struct zink_context *ctx, struct zink_resource *res, uint32_t rebi
|
|||
}
|
||||
}
|
||||
rebind_mask &= ~BITFIELD_RANGE(TC_BINDING_UBO_VS, MESA_SHADER_STAGES);
|
||||
if (num_rebinds && expected_num_rebinds >= num_rebinds && !rebind_mask)
|
||||
if (expected_num_rebinds && num_rebinds >= expected_num_rebinds && !rebind_mask)
|
||||
goto end;
|
||||
|
||||
const unsigned ssbo_mask = rebind_mask ?
|
||||
|
|
@ -4408,7 +4408,7 @@ rebind_buffer(struct zink_context *ctx, struct zink_resource *res, uint32_t rebi
|
|||
}
|
||||
}
|
||||
rebind_mask &= ~BITFIELD_RANGE(TC_BINDING_SSBO_VS, MESA_SHADER_STAGES);
|
||||
if (num_rebinds && expected_num_rebinds >= num_rebinds && !rebind_mask)
|
||||
if (expected_num_rebinds && num_rebinds >= expected_num_rebinds && !rebind_mask)
|
||||
goto end;
|
||||
const unsigned sampler_mask = rebind_mask ?
|
||||
rebind_mask & BITFIELD_RANGE(TC_BINDING_SAMPLERVIEW_VS, MESA_SHADER_STAGES) :
|
||||
|
|
@ -4423,7 +4423,7 @@ rebind_buffer(struct zink_context *ctx, struct zink_resource *res, uint32_t rebi
|
|||
}
|
||||
}
|
||||
rebind_mask &= ~BITFIELD_RANGE(TC_BINDING_SAMPLERVIEW_VS, MESA_SHADER_STAGES);
|
||||
if (num_rebinds && expected_num_rebinds >= num_rebinds && !rebind_mask)
|
||||
if (expected_num_rebinds && num_rebinds >= expected_num_rebinds && !rebind_mask)
|
||||
goto end;
|
||||
|
||||
const unsigned image_mask = rebind_mask ?
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue