blorp: Add a blorp_address::local_hint flag

This will be used as a performance hint for XY_BLOCK_COPY_BLT to
indicate whether the source/destination surfaces are (likely) in
device-local memory or system memory.  We don't need to be precise
here - it's okay to set the fields to LOCAL even if a buffer has
been evicted out to system memory.

We should set this from Vulkan too, but I haven't yet.  There isn't
a convenient anv_bo field like there is in iris...

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14687>
This commit is contained in:
Kenneth Graunke
2021-11-15 19:18:23 -08:00
committed by Marge Bot
parent 5262475242
commit abd71630fc
4 changed files with 35 additions and 0 deletions

View File

@@ -106,6 +106,13 @@ struct blorp_address {
uint64_t offset;
unsigned reloc_flags;
uint32_t mocs;
/**
* True if this buffer is intended to live in device-local memory.
* This is only a performance hint; it's OK to set it to true even
* if eviction has temporarily forced the buffer to system memory.
*/
bool local_hint;
};
struct blorp_surf