From 910617c329763f6f034f34d587dd7695e8915a34 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Mon, 1 Jul 2019 11:29:15 +0200 Subject: [PATCH] Add supportsImage flag to capability table Resolves: NEO-3177 Change-Id: I7b21163187b570ea08cefe37572a3838072cb7bd Signed-off-by: Mateusz Jablonski --- runtime/device/device_caps.cpp | 2 +- runtime/gen11/hw_info_icllp.inl | 3 ++- runtime/gen11/hw_info_lkf.inl | 3 ++- runtime/gen8/hw_info_bdw.inl | 3 ++- runtime/gen9/hw_info_bxt.inl | 3 ++- runtime/gen9/hw_info_cfl.inl | 3 ++- runtime/gen9/hw_info_glk.inl | 3 ++- runtime/gen9/hw_info_kbl.inl | 3 ++- runtime/gen9/hw_info_skl.inl | 3 ++- runtime/helpers/hw_info.h | 1 + unit_tests/main.cpp | 2 ++ 11 files changed, 20 insertions(+), 9 deletions(-) diff --git a/runtime/device/device_caps.cpp b/runtime/device/device_caps.cpp index cff83e7377..15895b4a07 100644 --- a/runtime/device/device_caps.cpp +++ b/runtime/device/device_caps.cpp @@ -288,7 +288,7 @@ void Device::initializeCaps() { deviceInfo.localMemType = CL_LOCAL; deviceInfo.localMemSize = hwInfo.capabilityTable.slmSize << 10; - deviceInfo.imageSupport = CL_TRUE; + deviceInfo.imageSupport = hwInfo.capabilityTable.supportsImages; deviceInfo.image2DMaxWidth = 16384; deviceInfo.image2DMaxHeight = 16384; deviceInfo.image3DMaxWidth = this->hardwareCapabilities.image3DMaxWidth; diff --git a/runtime/gen11/hw_info_icllp.inl b/runtime/gen11/hw_info_icllp.inl index b0b26f7ca5..d5cd1b76b9 100644 --- a/runtime/gen11/hw_info_icllp.inl +++ b/runtime/gen11/hw_info_icllp.inl @@ -65,7 +65,8 @@ const RuntimeCapabilityTable ICLLP::capabilityTable{ false, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable ICLLP::workaroundTable = {}; diff --git a/runtime/gen11/hw_info_lkf.inl b/runtime/gen11/hw_info_lkf.inl index c2597dee9b..21c0d50226 100644 --- a/runtime/gen11/hw_info_lkf.inl +++ b/runtime/gen11/hw_info_lkf.inl @@ -64,7 +64,8 @@ const RuntimeCapabilityTable LKF::capabilityTable{ false, // isCore true, // sourceLevelDebuggerSupported false, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable LKF::workaroundTable = {}; diff --git a/runtime/gen8/hw_info_bdw.inl b/runtime/gen8/hw_info_bdw.inl index d1e5151cdb..f81877a569 100644 --- a/runtime/gen8/hw_info_bdw.inl +++ b/runtime/gen8/hw_info_bdw.inl @@ -69,7 +69,8 @@ const RuntimeCapabilityTable BDW::capabilityTable{ true, // isCore false, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable BDW::workaroundTable = {}; diff --git a/runtime/gen9/hw_info_bxt.inl b/runtime/gen9/hw_info_bxt.inl index 328fd03544..0eb9a386bb 100644 --- a/runtime/gen9/hw_info_bxt.inl +++ b/runtime/gen9/hw_info_bxt.inl @@ -66,7 +66,8 @@ const RuntimeCapabilityTable BXT::capabilityTable{ false, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable BXT::workaroundTable = {}; diff --git a/runtime/gen9/hw_info_cfl.inl b/runtime/gen9/hw_info_cfl.inl index d134d4e291..e5c4e75c40 100644 --- a/runtime/gen9/hw_info_cfl.inl +++ b/runtime/gen9/hw_info_cfl.inl @@ -61,7 +61,8 @@ const RuntimeCapabilityTable CFL::capabilityTable{ true, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable CFL::workaroundTable = {}; diff --git a/runtime/gen9/hw_info_glk.inl b/runtime/gen9/hw_info_glk.inl index 92673efdab..4a78712381 100644 --- a/runtime/gen9/hw_info_glk.inl +++ b/runtime/gen9/hw_info_glk.inl @@ -61,7 +61,8 @@ const RuntimeCapabilityTable GLK::capabilityTable{ false, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable GLK::workaroundTable = {}; diff --git a/runtime/gen9/hw_info_kbl.inl b/runtime/gen9/hw_info_kbl.inl index 1ec4791865..8eed01b197 100644 --- a/runtime/gen9/hw_info_kbl.inl +++ b/runtime/gen9/hw_info_kbl.inl @@ -61,7 +61,8 @@ const RuntimeCapabilityTable KBL::capabilityTable{ true, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable KBL::workaroundTable = {}; diff --git a/runtime/gen9/hw_info_skl.inl b/runtime/gen9/hw_info_skl.inl index 8ca39e0970..c8cdf79447 100644 --- a/runtime/gen9/hw_info_skl.inl +++ b/runtime/gen9/hw_info_skl.inl @@ -69,7 +69,8 @@ const RuntimeCapabilityTable SKL::capabilityTable{ true, // isCore true, // sourceLevelDebuggerSupported true, // supportsVme - false // supportCacheFlushAfterWalker + false, // supportCacheFlushAfterWalker + true // supportsImages }; WorkaroundTable SKL::workaroundTable = {}; FeatureTable SKL::featureTable = {}; diff --git a/runtime/helpers/hw_info.h b/runtime/helpers/hw_info.h index bddc180497..e8c016c128 100644 --- a/runtime/helpers/hw_info.h +++ b/runtime/helpers/hw_info.h @@ -54,6 +54,7 @@ struct RuntimeCapabilityTable { bool sourceLevelDebuggerSupported; bool supportsVme; bool supportCacheFlushAfterWalker; + bool supportsImages; }; struct HardwareCapabilities { diff --git a/unit_tests/main.cpp b/unit_tests/main.cpp index e214d26b60..d2501a7bf0 100644 --- a/unit_tests/main.cpp +++ b/unit_tests/main.cpp @@ -343,6 +343,8 @@ int main(int argc, char **argv) { device.workaroundTable = workaroundTable; device.capabilityTable = hardwareInfo->capabilityTable; + device.capabilityTable.supportsImages = true; + binaryNameSuffix.append(familyName[device.platform.eRenderCoreFamily]); binaryNameSuffix.append(getPlatformType(device));