feature: 2d-block-load-transpose query

Implemented device property query API for determining
support capabilities regarding 2d-block-load-tranpose
features for which not all Intel devices support.

Related-To: NEO-11592
Signed-off-by: Jack Myers <jack.myers@intel.com>
This commit is contained in:
Jack Myers
2024-07-19 21:32:41 +00:00
committed by Compute-Runtime-Automation
parent b1a50104a8
commit f5d00b2616
8 changed files with 227 additions and 0 deletions

View File

@@ -1060,6 +1060,12 @@ ze_result_t DeviceImp::getProperties(ze_device_properties_t *pDeviceProperties)
auto deviceMediaProperties = reinterpret_cast<ze_intel_device_media_exp_properties_t *>(extendedProperties);
deviceMediaProperties->numDecoderCores = 0;
deviceMediaProperties->numEncoderCores = 0;
} else if (extendedProperties->stype == ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_PROPERTIES) {
ze_intel_device_block_array_exp_flags_t supportMatrix{0};
supportMatrix |= getProductHelper().supports2DBlockStore() ? ZE_INTEL_DEVICE_EXP_FLAG_2D_BLOCK_STORE : 0;
supportMatrix |= getProductHelper().supports2DBlockLoad() ? ZE_INTEL_DEVICE_EXP_FLAG_2D_BLOCK_LOAD : 0;
auto blockTransposeProps = reinterpret_cast<ze_intel_device_block_array_exp_properties_t *>(extendedProperties);
blockTransposeProps->flags = supportMatrix;
}
getAdditionalExtProperties(extendedProperties);
extendedProperties = static_cast<ze_base_properties_t *>(extendedProperties->pNext);