Wykres commitów

156 Commity

Autor SHA1 Wiadomość Data
Flora Cui 7d501366cb wsl/librocdxg: fix wgp count calc
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
2026-01-05 16:04:18 +08:00
Flora Cui c33dcd2d07 wsl/libhsakmt: fix reserved local help size calc
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/114>
2025-12-24 13:30:50 +08:00
Flora Cui 91df8f84da wsl/libhsakmt: implement hsaKmtSetMemoryUserData
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/114>
2025-12-24 13:30:50 +08:00
Flora Cui 4fb2ed2c5a librocdxg: fix vgpr count
refer to https://github.com/ROCm/rocm-systems/pull/1807

Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-12-24 13:30:45 +08:00
Longlong Yao 9bf8eb8c1e librocdxg: correct atomic info for APU
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
2025-12-24 13:26:17 +08:00
Longlong Yao e616b3e65e librocdxg: use shared GPU memory as vram on small APU
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-12-24 13:23:07 +08:00
Longlong Yao 5ebe95d5b2 librocdxg: query total shared GPU memory
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
2025-12-24 13:14:55 +08:00
Longlong Yao 6652313128 librocdxg: Add Strix and Strix Halo support
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
2025-12-24 13:13:22 +08:00
Longlong Yao 26cf8c8298 librocdxg: add interface to query segment info
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
2025-12-24 13:08:12 +08:00
yangsu13 30dcc1a977 Revert "wsl/librocdxg: Change hsaKmtQueueRingDoorbell interface"
Debug shows parameter count no impact on call relations, so revert this commit.
This reverts commit 5f710768aa2e68c5b06d0ece19f4268cc66f88d4.

Signed-off-by: Yang Su <Yang.Su2@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-17 13:47:30 +08:00
yangsu13 a7be322dfd wsl/librocdxg: vmm api support for rocr on windows
PR:https://github.com/ROCm/rocm-systems/pull/1761/commits

Signed-off-by: Yang Su <Yang.Su2@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-15 16:08:38 +08:00
yangsu13 e55a439c13 wsl/librocdxg: Change hsaKmtQueueRingDoorbell interface
PR: https://github.com/ROCm/rocm-systems/pull/2068/commits/a87adf6444faf9bd841e9fdd38335aa8008b2d06

Signed-off-by: yangsu13 <Yang.Su2@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-10 14:08:35 +08:00
Horatio Zhang 5983ccefa5 librocdxg: Return DXG fd in amdgpu_device_get_fd
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-01 14:29:20 +08:00
Horatio Zhang 6bb933f820 librocdxg: Add drm metadata related interface
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-01 14:29:13 +08:00
Flora Cui 0761dd0146 librocdxg: Increase AQL frame size calculation
to prevent PM4 command buffer overflow

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/113>
2025-11-28 14:53:07 +08:00
yangsu13 3c17717624 librocdxg: Remove std::call_once to fix repeated libdxcore.so loading failures
The use of std::call_once caused the initialization flag to be set permanently,
preventing proper re-attempts to load libdxcore.so when needed. This change removes
the once_flag mechanism and relies solely on dxcore_handle_ checks to manage library
loading, allowing proper re-initialization attempts.

Signed-off-by: yangsu13 <Yang.Su2@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui a32d71124f librocdxg: implement stub hsaKmtAisReadWriteFile
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Chengjun Yao 15ff43c4ce librocdxg: Integrate DXCore loader into WDDM thunks
Replace direct D3DKMT API calls with DXCORE_CALL macro in WDDM
thunk layer. This enables dynamic loading of DXCore functions
while maintaining the same API interface.

Updated thunk functions:
- MapGpuVirtualAddress, CreateAllocation, DestroyAllocation
- ReserveGpuVirtualAddress, FreeGpuVirtualAddress
- MakeResident, Evict, ShareObjects
- QueryResourceInfoFromNtHandle, OpenResourceFromNtHandle

All existing functionality is preserved while adding flexibility
for runtime DXCore availability detection.

Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com>
Signed-off-by: Yang Su <Yang.Su2@amd.com>
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com>
2025-11-05 18:53:37 +08:00
Chengjun Yao c8fbb93f03 librocdxg: Remove static DXCore library dependency
Remove static linking to libdxcore library from CMakeLists.txt.
This prepares for dynamic loading implementation and eliminates
hard dependency on DXCore being present at build time.

The DXCore functionality will be loaded dynamically at runtime
in subsequent patches, making the library more flexible for
different deployment scenarios.

Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com>
Signed-off-by: Yang Su <Yang.Su2@amd.com>
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui 3149006d29 librocdxg: update rocr queue type to amd_queue_v2_t
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui c5d2a0040e librocdxg: load rocr symbols
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui 45cc96aeb8 librocdxg: include rocr headers
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui 3915c38957 librocdxg: rename hsakmt to rocdxg
Signed-off-by: Flora Cui <flora.cui@amd.com>
2025-11-05 18:53:37 +08:00
Flora Cui c5d7d487dc wsl/libhsakmt: adapt to the new check for kernel object
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/99>
2025-11-05 18:53:37 +08:00
Flora Cui 72cbeeff6d wsl/libhsakmt: refactor handling of kmd priv data
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/98>
2025-11-05 18:53:37 +08:00
Flora Cui c3f022822b wsl/libhsakmt: add !atomic handling for vender specific packet
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>q
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/97>
2025-11-05 18:53:37 +08:00
Flora Cui 1217d4eae7 wsl/libhsakmt: simplify adapter_info
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/97>
2025-11-05 18:53:37 +08:00
Flora Cui 15b8ce7529 wsl/libhsakmt: fix handling of HSA_OVERRIDE_GFX_VERSION option
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/96>
2025-11-05 18:53:37 +08:00
Flora Cui d520b11006 wsl/libhsakmt: refactor WDDMDevice creation
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95>
2025-11-05 18:53:37 +08:00
Flora Cui e0f40ae8d4 wsl/libhsakmt: refactor check for supported device
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95>
2025-11-05 18:53:37 +08:00
Flora Cui b39d8a7487 wsl/libhsakmt: remove redundant #include "libhsakmt.h"
move libhsakmt.h inclusion to he makefile

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95>
2025-11-05 18:53:37 +08:00
Flora Cui e41b405f53 wsl/libhsakmt: fix hsaKmtRuntimeDisable ret value
As ROCR exclusively accepts HSAKMT_STATUS_SUCCESS. returning any other
value is treated as an error and will trigger an exit due to failure.

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95>
2025-11-05 18:53:37 +08:00
Flora Cui e99fcfee51 wsl/libhsakmt: remove redundant PAGE_SHIFT
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/95>
2025-11-05 18:53:37 +08:00
Chengjun Yao c16ea5e561 wsl/libhskmt: Remove scratch_backing_memory_byte_size
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/93>
2025-11-05 18:53:37 +08:00
Horatio Zhang 5c16eddc67 wsl/libhsakmt: update WIN_KMD_VERSION to 25.20
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/92>
2025-11-05 18:53:37 +08:00
Flora Cui 6ffd750632 wsl/libhsakmt: fix return value for hsaKmtUnmapMemoryToGPU
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/89>
2025-11-05 18:53:37 +08:00
Flora Cui 23bc53e9a8 wsl/libhsakmt: fix abused memory flag in allocation_map_
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/89>
2025-11-05 18:53:37 +08:00
tiancyin ccc3849de8 wsl/libhsakmt: move IPC functions from device to thunk runtime
IPC use system memory, it has nothing to do with wddm device.

Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:37 +08:00
tiancyin 8c6a4d59d4 wsl/libhsakmt: move ReserveGpuVirtualAddress from device to thunk runtime
For multi-GPU supporting, local heap and system heap managers are
implemented in thunk runtime, so the heap allocation function
ReserveGpuVirtualAddress should be moved to runtime too.

Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:37 +08:00
tiancyin f8d1663b39 wsl/libhsakmt: move handle aperture from device to thunk runtime
In multi-GPU, handle aperture is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage handle aperture for all GPUs.

Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:36 +08:00
tiancyin 8e07aca2ae wsl/libhsakmt: move system heap from device to thunk runtime
In multi-GPU, system heap space is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage system heap for all GPUs.

Introduce a new va_Mgr instance to manage system heap, since local heap
and system heap both comply with SVM(Shared Virtual Memory), without
this new mgr, every allocation has to call KMD at least once (each GPU
needs a call) to allocate GPU VA, the new mgr manage the space itself,
no longer call KMD.

Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:36 +08:00
tiancyin d5eb871bbb wsl/libhsakmt: move local heap and va_Mgr from device to thunk runtime
In multi-GPU, local heap space is shared between all GPUs, not belongs to
specific one GPU, so move it from wddm device (which presents a specific GPU)
to thunk runtime which has gloable view, can manage local heap for all GPUs.

Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: tiancyin <tianci.yin@amd.com>
2025-11-05 18:53:36 +08:00
Flora Cui 8b6d919b4b wsl/libhsakmt: add same process check for ipc buffer
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85>
2025-11-05 18:53:36 +08:00
Flora Cui 972e74e723 wsl/libhsakmt: move userptr release to hsaKmtDeregisterMemory()
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85>
2025-11-05 18:53:36 +08:00
Flora Cui 237377aa02 wsl/libhsakmt: refactor ipc implementation
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85>
2025-11-05 18:53:36 +08:00
Flora Cui 77093f8f85 wsl/libhsakmt: extract is_ipc_sysmemfd()
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/85>
2025-11-05 18:53:36 +08:00
Flora Cui 5a89405bf8 wsl/libhsakmt: fix check for queue buffer
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/83>
2025-11-05 18:53:36 +08:00
Flora Cui 62aee13f7b wsl/libhsakmt: fix hsaKmtRegisterGraphicsHandleToNodesExt
if nodes array is nullptr

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/83>
2025-11-05 18:53:36 +08:00
Flora Cui 75cbeda847 wsl/libhsakmt: fix default device in memory allocation
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82>
2025-11-05 18:53:36 +08:00
Flora Cui 67332944d2 wsl/libhsakmt: set default node
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Tianci Yin <tianci.yin@amd.com>
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/82>
2025-11-05 18:53:36 +08:00