summaryrefslogtreecommitdiff
path: root/src/glx/g_glxglvnddispatchindices.h
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2024-04-24 00:43:16 -0700
committerMarge Bot <emma+marge@anholt.net>2024-04-25 08:05:48 +0000
commite6fb3ba03798fc2550bdb5ec6651690a34ac3509 (patch)
tree9ba057c6796e6cf75ba5bac2b81630c7c1d002de /src/glx/g_glxglvnddispatchindices.h
parent0666a715c7210558017ce717f6b0b947c679a68e (diff)
isl: Set MOCS to uncached for Gfx12.0 blitter sources/destinationsHEADmain
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: 194afe84163 ("anv/iris/blorp: use the right MOCS values for each engine") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28894>
Diffstat (limited to 'src/glx/g_glxglvnddispatchindices.h')
0 files changed, 0 insertions, 0 deletions