Add per platform toggle for integer 64bit atomic extensions

Related-To: NEO-3649

Change-Id: Ic97566a91d50911c006e24a23d448281a8d2df64
Signed-off-by: Cencelewska <katarzyna.cencelewska@intel.com>
This commit is contained in:
Cencelewska
2019-08-20 15:17:10 +02:00
committed by sys_ocldev
parent 5edd2af916
commit 3507f027d4
25 changed files with 95 additions and 7 deletions

View File

@@ -49,6 +49,7 @@ const RuntimeCapabilityTable EHL::capabilityTable{
1, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
false, // ftrSupportsInteger64BitAtomics
false, // ftrSupportsFP64
false, // ftrSupports64BitMath
false, // ftrSvm
@@ -64,7 +65,8 @@ const RuntimeCapabilityTable EHL::capabilityTable{
true, // sourceLevelDebuggerSupported
false, // supportsVme
false, // supportCacheFlushAfterWalker
true // supportsImages
true, // supportsImages
true // supportsDeviceEnqueue
};
WorkaroundTable EHL::workaroundTable = {};

View File

@@ -50,6 +50,7 @@ const RuntimeCapabilityTable ICLLP::capabilityTable{
1, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
false, // ftrSupportsFP64
false, // ftrSupports64BitMath
true, // ftrSvm

View File

@@ -49,6 +49,7 @@ const RuntimeCapabilityTable LKF::capabilityTable{
1, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
false, // ftrSupportsInteger64BitAtomics
false, // ftrSupportsFP64
false, // ftrSupports64BitMath
false, // ftrSvm

View File

@@ -54,6 +54,7 @@ const RuntimeCapabilityTable BDW::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
true, // ftrSvm

View File

@@ -51,6 +51,7 @@ const RuntimeCapabilityTable BXT::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
false, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
false, // ftrSvm

View File

@@ -46,6 +46,7 @@ const RuntimeCapabilityTable CFL::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
true, // ftrSvm

View File

@@ -46,6 +46,7 @@ const RuntimeCapabilityTable GLK::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
false, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
false, // ftrSvm

View File

@@ -46,6 +46,7 @@ const RuntimeCapabilityTable KBL::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
true, // ftrSvm

View File

@@ -54,6 +54,7 @@ const RuntimeCapabilityTable SKL::capabilityTable{
0, // extraQuantityThreadsPerEU
64, // slmSize
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
true, // ftrSupports64BitMath
true, // ftrSvm

View File

@@ -33,6 +33,7 @@ struct RuntimeCapabilityTable {
uint32_t extraQuantityThreadsPerEU;
uint32_t slmSize;
bool blitterOperationsSupported;
bool ftrSupportsInteger64BitAtomics;
bool ftrSupportsFP64;
bool ftrSupports64BitMath;
bool ftrSvm;

View File

@@ -32,9 +32,7 @@ const char *deviceExtensionsList = "cl_khr_3d_image_writes "
"cl_intel_driver_diagnostics "
"cl_khr_priority_hints "
"cl_khr_throttle_hints "
"cl_khr_create_command_queue "
"cl_khr_int64_base_atomics "
"cl_khr_int64_extended_atomics ";
"cl_khr_create_command_queue ";
std::string getExtensionsList(const HardwareInfo &hwInfo) {
std::string allExtensionsList;
@@ -55,6 +53,11 @@ std::string getExtensionsList(const HardwareInfo &hwInfo) {
allExtensionsList += "cl_khr_fp64 ";
}
if (hwInfo.capabilityTable.ftrSupportsInteger64BitAtomics) {
allExtensionsList += "cl_khr_int64_base_atomics ";
allExtensionsList += "cl_khr_int64_extended_atomics ";
}
if (hwInfo.capabilityTable.supportsVme) {
allExtensionsList += "cl_intel_motion_estimation cl_intel_device_side_avc_motion_estimation ";
}