Improve support for L0 uncached device allocations

Make sure UNCACHED flags are translated into setting the MOCS index
for uncaching L3.

Related-To: NEO-5500

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This commit is contained in:
Jaime Arteaga
2021-02-01 10:04:49 +00:00
committed by Compute-Runtime-Automation
parent ff31d6abd6
commit ddca333045
11 changed files with 280 additions and 38 deletions

View File

@@ -164,6 +164,8 @@ class GraphicsAllocation : public IDNode<GraphicsAllocation> {
bool peekEvictable() const { return allocationInfo.flags.evictable; }
bool isFlushL3Required() const { return allocationInfo.flags.flushL3Required; }
void setFlushL3Required(bool flushL3Required) { allocationInfo.flags.flushL3Required = flushL3Required; }
void setUncacheable(bool uncacheable) { allocationInfo.flags.uncacheable = uncacheable; }
bool is32BitAllocation() const { return allocationInfo.flags.is32BitAllocation; }
void set32BitAllocation(bool is32BitAllocation) { allocationInfo.flags.is32BitAllocation = is32BitAllocation; }
@@ -294,8 +296,9 @@ class GraphicsAllocation : public IDNode<GraphicsAllocation> {
uint32_t coherent : 1;
uint32_t evictable : 1;
uint32_t flushL3Required : 1;
uint32_t uncacheable : 1;
uint32_t is32BitAllocation : 1;
uint32_t reserved : 28;
uint32_t reserved : 27;
} flags;
uint32_t allFlags = 0u;
};