diff --git a/libdrm.cpp b/libdrm.cpp index b16907ba40..f1c115c207 100644 --- a/libdrm.cpp +++ b/libdrm.cpp @@ -40,6 +40,7 @@ // //////////////////////////////////////////////////////////////////////////////// #include +#include #include #include @@ -59,19 +60,37 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtGetAMDGPUDeviceHandle( return HSAKMT_STATUS_ERROR; } -HSAKMTAPI int hsaKmtamdgpu_query_gpu_info(void *dev, - struct amdgpu_gpu_info *info) { +HSAKMTAPI int amdgpu_query_gpu_info(amdgpu_device_handle dev, + struct amdgpu_gpu_info *info) { wsl::thunk::WDDMDevice *pDevice = - reinterpret_cast(dev); + reinterpret_cast(dev); memset(info, 0, sizeof(*info)); info->gpu_counter_freq = pDevice->GPUCounterFrequency() / 1000ull; return 0; } -HSAKMTAPI int hsaKmtamdgpu_bo_import(amdgpu_device_handle dev, - enum amdgpu_bo_handle_type type, - uint32_t shared_handle, - struct amdgpu_bo_import_result *output) { +HSAKMTAPI int amdgpu_device_get_fd(amdgpu_device_handle dev) { + return 0; +} + +HSAKMTAPI int amdgpu_bo_cpu_map(amdgpu_bo_handle bo, void **cpu) { + return 0; +} + +HSAKMTAPI int amdgpu_bo_free(amdgpu_bo_handle buf_handle) { + return 0; +} + +HSAKMTAPI int amdgpu_bo_export(amdgpu_bo_handle bo, + enum amdgpu_bo_handle_type type, + uint32_t *shared_handle) { + *shared_handle = 0; + return 0; +} +HSAKMTAPI int amdgpu_bo_import(amdgpu_device_handle dev, + enum amdgpu_bo_handle_type type, + uint32_t shared_handle, + struct amdgpu_bo_import_result *output) { void *MemoryAddress = nullptr; HSAKMT_STATUS ret = hsaKmtImportDMABufHandle(shared_handle, &MemoryAddress); if (ret == HSAKMT_STATUS_SUCCESS) { @@ -84,12 +103,12 @@ HSAKMTAPI int hsaKmtamdgpu_bo_import(amdgpu_device_handle dev, } -HSAKMTAPI int hsaKmtamdgpu_bo_va_op(amdgpu_bo_handle bo, - uint64_t offset, - uint64_t size, - uint64_t addr, - uint64_t flags, - uint32_t ops) { +HSAKMTAPI int amdgpu_bo_va_op(amdgpu_bo_handle bo, + uint64_t offset, + uint64_t size, + uint64_t addr, + uint64_t flags, + uint32_t ops) { switch(ops) { case AMDGPU_VA_OP_MAP: { @@ -117,3 +136,8 @@ HSAKMTAPI int hsaKmtamdgpu_bo_va_op(amdgpu_bo_handle bo, } return 0; } + +HSAKMTAPI int drmCommandWriteRead(int fd, unsigned long drmCommandIndex, + void *data, unsigned long size) { + return 0; +} diff --git a/libhsakmt.ver b/libhsakmt.ver index dbc8abf336..cb0adebc6d 100644 --- a/libhsakmt.ver +++ b/libhsakmt.ver @@ -92,9 +92,14 @@ hsaKmtPcSamplingStop; hsaKmtPcSamplingSupport; hsaKmtGetVersionCapInfo; hsaKmtQueueRingDoorbell; -hsaKmtamdgpu_query_gpu_info; -hsaKmtamdgpu_bo_import; -hsaKmtamdgpu_bo_va_op; +amdgpu_query_gpu_info; +amdgpu_bo_import; +amdgpu_bo_va_op; +amdgpu_device_get_fd; +amdgpu_bo_cpu_map; +amdgpu_bo_free; +amdgpu_bo_export; +drmCommandWriteRead; local: *; }; diff --git a/openclose.cpp b/openclose.cpp index d419bca721..e30f17d6d4 100644 --- a/openclose.cpp +++ b/openclose.cpp @@ -173,14 +173,6 @@ static HSAKMT_STATUS init_symbols(void) { return HSAKMT_STATUS_SUCCESS; } -static void load_libdrm_amdgpu(void) { - /* load libdrm_amdgpu */ - int fd; - uint32_t major, minor; - amdgpu_device_handle device_handle; - amdgpu_device_initialize(fd, &major, &minor, &device_handle); -} - HSAKMT_STATUS HSAKMTAPI hsaKmtOpenKFD(void) { HSAKMT_STATUS result; int fd = -1; @@ -204,8 +196,6 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtOpenKFD(void) { if (result != HSAKMT_STATUS_SUCCESS) goto open_failed; - load_libdrm_amdgpu(); - result = init_vars_from_env(); if (result != HSAKMT_STATUS_SUCCESS) goto open_failed;