mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-30 23:28:06 +02:00
The compiler ABI specifies push uniforms at a 4-byte granularity (like
Bifrost), but Midgard require a 16-byte granularity. As such if the
number of pushed words is not a multiple of 4, there is a buffer overrun
at shader load time. Ordinarily this is inaccessible so the garbage is
ignored.
However, there was a great deal of confusion around the `uniform_cutoff`
variable. In some cases (such a full glmark2 run on a 64-bit processor),
the push uniforms would be at the end of a BO and the overrun would
cause a page fault.
Remove uniform_cutoff entirely and work with count directly to avoid
faulting, and round the count up to be defensive.
Closes: #4289
Fixes:
|
||
|---|---|---|
| .. | ||
| bifrost | ||
| include | ||
| lib | ||
| midgard | ||
| shared | ||
| util | ||
| Android.bifrost.mk | ||
| Android.lib.mk | ||
| Android.midgard.mk | ||
| Android.mk | ||
| Android.shared.mk | ||
| Android.util.mk | ||
| Makefile.sources | ||
| meson.build | ||