Immediate binding flag in BufferObject

Related-To: NEO-5985

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2021-06-17 12:23:51 +00:00
committed by Compute-Runtime-Automation
parent 3137e82fca
commit 8a037399d1
3 changed files with 13 additions and 1 deletions

View File

@@ -128,6 +128,8 @@ void DrmAllocation::registerBOBindExtHandle(Drm *drm) {
bo->addBindExtHandle(cookieHandle);
registeredBoBindHandles.push_back(cookieHandle);
}
bo->requireImmediateBinding(true);
}
}
}

View File

@@ -79,6 +79,14 @@ class BufferObject {
bool isMarkedForCapture() {
return allowCapture;
}
bool isImmediateBindingRequired() {
return requiresImmediateBinding;
}
void requireImmediateBinding(bool required) {
requiresImmediateBinding = required;
}
void setCacheRegion(CacheRegion regionIndex) { cacheRegion = regionIndex; }
CacheRegion peekCacheRegion() const { return cacheRegion; }
@@ -94,6 +102,7 @@ class BufferObject {
//Tiling
uint32_t tiling_mode;
bool allowCapture = false;
bool requiresImmediateBinding = false;
uint32_t getOsContextId(OsContext *osContext);
MOCKABLE_VIRTUAL void fillExecObject(drm_i915_gem_exec_object2 &execObject, OsContext *osContext, uint32_t vmHandleId, uint32_t drmContextId);