mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 23:10:28 +01:00
We were accidentally leaving XY_BLOCK_COPY_BLT's Source and Destination MOCS fields set to 0 (Error: Reserved for Non-Use) on Gfx12.0 systems. This was causing assert fails in debug builds, since we try to ensure that we don't do that. In theory, MOCS 0 is supposed to be equivalent to MOCS 2 (all the caching), but...we probably ought to use MOCS 3 (uncached). Every Gfx12.5+ platform requires it, so although there isn't a note about Gfx12.0 needing that, it's possible that it does. We're currently only using the blitter for DRI PRIME blits on Gfx12.0, anyway, and I think we're flushing all the caches regardless. This bug was somewhat obscure to hit: - You need a hybrid graphics system with Gfx12.0 and some other GPU - You have to be using "reverse PRIME", i.e. rendering on the integrated GPU and displaying on the discrete one. This is not the common case. - You have to be using a debug build. No observable performance delta in GfxBench5 Car Chase (an arbitrary program) when rendering on Alderlake GT1 and displaying on an Arc A770. Fixes: |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| .clang-format | ||
| meson.build | ||