mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
freedreno/ir3: add missing track_ubo_use()
We could lower *some* accesses to a UBO but not others. In this case, we would have a valid range, but would have skipped tracking that the UBO is accessed as a UBO rather than push constants. Fixes one issue with asphalt9, that was a result of having `ldc` without having emit UBO state. See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3067 Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6117>
This commit is contained in:
parent
d0e32e5f81
commit
ba9d502d24
1 changed files with 3 additions and 1 deletions
|
|
@ -249,8 +249,10 @@ lower_ubo_load_to_uniform(nir_intrinsic_instr *instr, nir_builder *b,
|
|||
/* We don't have a good way of determining the range of the dynamic
|
||||
* access in general, so for now just fall back to pulling.
|
||||
*/
|
||||
if (!nir_src_is_const(instr->src[1]) && !ubo_is_gl_uniforms(&range->ubo))
|
||||
if (!nir_src_is_const(instr->src[1]) && !ubo_is_gl_uniforms(&range->ubo)) {
|
||||
track_ubo_use(instr, b, num_ubos);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* After gathering the UBO access ranges, we limit the total
|
||||
* upload. Don't lower if this load is outside the range.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue