SWDEV-567119 - Windows GL Interop Support (#1892)

This commit is contained in:
Jin Jung
2025-12-08 08:03:59 -08:00
committed by GitHub
parent 4812d8e78b
commit deaf8ab38a
11 changed files with 299 additions and 104 deletions
@@ -349,6 +349,9 @@ typedef struct _HsaNodeProperties
HSAuint32 KFDGpuID; // GPU Hash ID generated by KFD
HSAuint32 FamilyID; // GPU family id
HSAuint32 LuidLowPart; // Windows Locally Unique Identifier Low 4 bytes
HSAuint32 LuidHighPart; // Windows Locally Unique Identifier High 4 bytes
} HsaNodeProperties;
@@ -1713,6 +1713,10 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const {
case HSA_AMD_AGENT_INFO_PM4_EMULATION:
*((bool*)value) = properties_.Capability2.ui32.AqlEmulationPm4_;
break;
case HSA_AMD_AGENT_INFO_LUID:
static_cast<hsa_luid_t*>(value)->low = properties_.LuidLowPart;
static_cast<hsa_luid_t*>(value)->high = properties_.LuidHighPart;
break;
default:
return HSA_STATUS_ERROR_INVALID_ARGUMENT;
break;
@@ -5691,6 +5691,14 @@ typedef void* hsa_handle_t;
typedef int hsa_handle_t;
#endif
/**
* @brief Platform-independent container for a Windows LUID.
*/
typedef struct hsa_luid_s {
uint32_t low; //!< Luid low 4 bytes, valid only on Windows
uint32_t high; //!< Luid high 4 bytes, valid only on Windows
} hsa_luid_t;
/**
* @deprecated
*
@@ -709,7 +709,12 @@ typedef enum hsa_amd_agent_info_s {
/**
* The agent uses PM4 emulation mode.
*/
HSA_AMD_AGENT_INFO_PM4_EMULATION = 0xA119
HSA_AMD_AGENT_INFO_PM4_EMULATION = 0xA119,
/**
* Queries for the LUID that identifies a hardware node. The LUID is only
* valid on Windows. The type of this attribute is LUID.
*/
HSA_AMD_AGENT_INFO_LUID = 0xA11A,
} hsa_amd_agent_info_t;
/**