mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Add stub for zeDriverGetExtensionProperties
Change-Id: I25016bb36a5ccd37e147cbc4cdb9f1d5e14ae03e Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This commit is contained in:
@ -53,4 +53,12 @@ zeDriverGetExtensionFunctionAddress(
|
||||
return L0::DriverHandle::fromHandle(hDriver)->getExtensionFunctionAddress(pFuncName, pfunc);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeDriverGetExtensionProperties(
|
||||
ze_driver_handle_t hDriver,
|
||||
uint32_t *pCount,
|
||||
ze_driver_extension_properties_t *pExtensionProperties) {
|
||||
return L0::DriverHandle::fromHandle(hDriver)->getExtensionProperties(pCount, pExtensionProperties);
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
|
@ -12,6 +12,8 @@
|
||||
#include "level_zero/core/source/device/device.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
|
||||
#include "third_party/level_zero/ze_api_ext.h"
|
||||
|
||||
struct _ze_driver_handle_t {
|
||||
virtual ~_ze_driver_handle_t() = default;
|
||||
};
|
||||
@ -26,6 +28,8 @@ struct DriverHandle : _ze_driver_handle_t {
|
||||
virtual ze_result_t getApiVersion(ze_api_version_t *version) = 0;
|
||||
virtual ze_result_t getIPCProperties(ze_driver_ipc_properties_t *pIPCProperties) = 0;
|
||||
virtual ze_result_t getExtensionFunctionAddress(const char *pFuncName, void **pfunc) = 0;
|
||||
virtual ze_result_t getExtensionProperties(uint32_t *pCount,
|
||||
ze_driver_extension_properties_t *pExtensionProperties) = 0;
|
||||
virtual ze_result_t getMemAllocProperties(const void *ptr,
|
||||
ze_memory_allocation_properties_t *pMemAllocProperties,
|
||||
ze_device_handle_t *phDevice) = 0;
|
||||
|
@ -85,6 +85,11 @@ ze_result_t DriverHandleImp::getExtensionFunctionAddress(const char *pFuncName,
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
ze_result_t DriverHandleImp::getExtensionProperties(uint32_t *pCount,
|
||||
ze_driver_extension_properties_t *pExtensionProperties) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
ze_result_t DriverHandleImp::getMemAllocProperties(const void *ptr,
|
||||
ze_memory_allocation_properties_t *pMemAllocProperties,
|
||||
ze_device_handle_t *phDevice) {
|
||||
|
@ -21,6 +21,8 @@ struct DriverHandleImp : public DriverHandle {
|
||||
ze_result_t getApiVersion(ze_api_version_t *version) override;
|
||||
ze_result_t getIPCProperties(ze_driver_ipc_properties_t *pIPCProperties) override;
|
||||
ze_result_t getExtensionFunctionAddress(const char *pFuncName, void **pfunc) override;
|
||||
ze_result_t getExtensionProperties(uint32_t *pCount,
|
||||
ze_driver_extension_properties_t *pExtensionProperties) override;
|
||||
ze_result_t getMemAllocProperties(const void *ptr,
|
||||
ze_memory_allocation_properties_t *pMemAllocProperties,
|
||||
ze_device_handle_t *phDevice) override;
|
||||
|
@ -40,6 +40,12 @@ struct Mock<DriverHandle> : public DriverHandleImp {
|
||||
ze_memory_allocation_properties_t *pMemAllocProperties,
|
||||
ze_device_handle_t *phDevice));
|
||||
|
||||
MOCK_METHOD(ze_result_t,
|
||||
getExtensionProperties,
|
||||
(uint32_t * pCount,
|
||||
ze_driver_extension_properties_t *pExtensionProperties),
|
||||
(override));
|
||||
|
||||
MOCK_METHOD0(getMemoryManager, NEO::MemoryManager *());
|
||||
MOCK_METHOD1(setMemoryManager, void(NEO::MemoryManager *));
|
||||
MOCK_METHOD3(getMemAddressRange, ze_result_t(const void *ptr, void **pBase, size_t *pSize));
|
||||
|
@ -23,6 +23,13 @@ namespace ult {
|
||||
|
||||
using DriverVersionTest = Test<DeviceFixture>;
|
||||
|
||||
TEST_F(DriverVersionTest, givenCallToGetExtensionPropertiesThenUnsupportedIsReturned) {
|
||||
uint32_t count = 0;
|
||||
ze_driver_extension_properties_t properties;
|
||||
ze_result_t res = driverHandle->getExtensionProperties(&count, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
|
||||
}
|
||||
|
||||
TEST_F(DriverVersionTest, returnsExpectedDriverVersion) {
|
||||
ze_driver_properties_t properties;
|
||||
ze_result_t res = driverHandle->getProperties(&properties);
|
||||
|
42
third_party/level_zero/ze_api_ext.h
vendored
42
third_party/level_zero/ze_api_ext.h
vendored
@ -283,6 +283,48 @@ zeCommandListAppendWriteGlobalTimestampExt(
|
||||
///< on before executing query
|
||||
);
|
||||
|
||||
#ifndef ZE_MAX_EXTENSION_NAME
|
||||
/// @brief Maximum extension name string size
|
||||
#define ZE_MAX_EXTENSION_NAME 256
|
||||
#endif // ZE_MAX_EXTENSION_NAME
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief Extension properties queried using ::zeDriverGetExtensionProperties
|
||||
typedef struct _ze_driver_extension_properties_t {
|
||||
char name[ZE_MAX_EXTENSION_NAME]; ///< [out] extension name
|
||||
uint32_t version; ///< [out] extension version using ::ZE_MAKE_VERSION
|
||||
|
||||
} ze_driver_extension_properties_t;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief Retrieves extension properties
|
||||
///
|
||||
/// @details
|
||||
/// - The application may call this function from simultaneous threads.
|
||||
/// - The implementation of this function should be lock-free.
|
||||
///
|
||||
/// @remarks
|
||||
/// _Analogues_
|
||||
/// - **vkEnumerateInstanceExtensionProperties**
|
||||
///
|
||||
/// + `nullptr == hDriver`
|
||||
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
|
||||
/// + `nullptr == pCount`
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zeDriverGetExtensionProperties(
|
||||
ze_driver_handle_t hDriver, ///< [in] handle of the driver instance
|
||||
uint32_t *pCount, ///< [in,out] pointer to the number of extension properties.
|
||||
///< if count is zero, then the driver will update the value with the total
|
||||
///< number of extension properties available.
|
||||
///< if count is non-zero, then driver will only retrieve that number of
|
||||
///< extension properties.
|
||||
///< if count is larger than the number of extension properties available,
|
||||
///< then the driver will update the value with the correct number of
|
||||
///< extension properties available.
|
||||
ze_driver_extension_properties_t *pExtensionProperties ///< [in,out][optional][range(0, *pCount)] array of query results for
|
||||
///< extension properties
|
||||
);
|
||||
|
||||
} //extern C
|
||||
|
||||
#endif // _ZE_API_EXT_H
|
||||
|
Reference in New Issue
Block a user