Enhance VME registry support

Related-To: NEO-3583
Change-Id: I4ddad40348d276cb4f52ceedadf77ab615c85db9
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
This commit is contained in:
Koska, Andrzej
2019-09-06 12:30:35 +02:00
committed by sys_ocldev
parent 6ab6a06b1b
commit ccea3f497c
4 changed files with 35 additions and 25 deletions

View File

@ -121,6 +121,7 @@ void Device::initializeCaps() {
deviceInfo.platformLP = (hwInfo.capabilityTable.clVersionSupport == 12) ? true : false;
deviceInfo.spirVersions = spirVersions.c_str();
auto supportsVme = hwInfo.capabilityTable.supportsVme;
auto supportsAdvancedVme = hwInfo.capabilityTable.supportsVme;
if (enabledClVersion >= 21) {
deviceInfo.independentForwardProgress = true;
@ -146,11 +147,19 @@ void Device::initializeCaps() {
deviceExtensions += "cl_intel_packed_yuv ";
deviceInfo.packedYuvExtension = true;
}
if (DebugManager.flags.EnableIntelVme.get() && supportsVme) {
if (DebugManager.flags.EnableIntelVme.get() != -1) {
supportsVme = !!DebugManager.flags.EnableIntelVme.get();
}
if (supportsVme) {
deviceExtensions += "cl_intel_motion_estimation cl_intel_device_side_avc_motion_estimation ";
deviceInfo.vmeExtension = true;
}
if (DebugManager.flags.EnableIntelAdvancedVme.get() && supportsVme) {
if (DebugManager.flags.EnableIntelAdvancedVme.get() != -1) {
supportsAdvancedVme = !!DebugManager.flags.EnableIntelAdvancedVme.get();
}
if (supportsAdvancedVme) {
deviceExtensions += "cl_intel_advanced_motion_estimation ";
}
@ -169,10 +178,11 @@ void Device::initializeCaps() {
deviceInfo.deviceExtensions = deviceExtensions.c_str();
exposedBuiltinKernels = builtInKernels;
if (deviceExtensions.find("cl_intel_motion_estimation") != std::string::npos) {
if (supportsVme) {
exposedBuiltinKernels.append("block_motion_estimate_intel;");
}
if (deviceExtensions.find("cl_intel_advanced_motion_estimation") != std::string::npos) {
if (supportsAdvancedVme) {
auto advVmeKernels = "block_advanced_motion_estimate_check_intel;block_advanced_motion_estimate_bidirectional_check_intel;";
exposedBuiltinKernels.append(advVmeKernels);
}

View File

@ -89,8 +89,6 @@ DECLARE_DEBUG_VARIABLE(bool, DisableDcFlushInEpilogue, false, "Disable DC flush
/*FEATURE FLAGS*/
DECLARE_DEBUG_VARIABLE(bool, EnableNV12, true, "Enables NV12 extension")
DECLARE_DEBUG_VARIABLE(bool, EnablePackedYuv, true, "Enables cl_packed_yuv extension")
DECLARE_DEBUG_VARIABLE(bool, EnableIntelVme, true, "Enables cl_intel_motion_estimation extension")
DECLARE_DEBUG_VARIABLE(bool, EnableIntelAdvancedVme, true, "Enables cl_intel_advanced_motion_estimation extension")
DECLARE_DEBUG_VARIABLE(bool, EnableDeferredDeleter, true, "Enables async deleter")
DECLARE_DEBUG_VARIABLE(bool, EnableAsyncDestroyAllocations, true, "Enables async destroying graphics allocations in mem obj destructor")
DECLARE_DEBUG_VARIABLE(bool, EnableAsyncEventsHandler, true, "Enables async events handler")
@ -104,6 +102,8 @@ DECLARE_DEBUG_VARIABLE(bool, EnablePassInlineData, false, "Enable passing of inl
DECLARE_DEBUG_VARIABLE(bool, EnableFormatQuery, false, "Enable sharing format querying")
DECLARE_DEBUG_VARIABLE(bool, AllowOpenFdOperations, false, "When enabled driver is allowed to call DRM_IOCTL_PRIME_HANDLE_TO_FD.")
DECLARE_DEBUG_VARIABLE(bool, EnableFreeMemory, false, "Enable freeMemory in memory manager")
DECLARE_DEBUG_VARIABLE(int32_t, EnableIntelVme, -1, "-1: default, 0: disabled, 1: Enables cl_intel_motion_estimation extension")
DECLARE_DEBUG_VARIABLE(int32_t, EnableIntelAdvancedVme, -1, "-1: default, 0: disabled, 1: Enables cl_intel_advanced_motion_estimation extension")
DECLARE_DEBUG_VARIABLE(int32_t, EnableBlitterOperationsForReadWriteBuffers, -1, "Use Blitter engine for Read/Write Buffers operations. -1: default, 0: disabled, 1: enabled")
DECLARE_DEBUG_VARIABLE(int32_t, EnableCacheFlushAfterWalker, -1, "-1: platform behavior, 0: disabled, 1: enabled. Adds dedicated cache flush command after WALKER command when surfaces used by kernel require to flush the cache")
DECLARE_DEBUG_VARIABLE(int32_t, EnableLocalMemory, -1, "-1: default behavior, 0: disabled, 1: enabled, Allows allocating graphics memory in Local Memory")