diff --git a/source/platforms/sl.chi/compute.h b/source/platforms/sl.chi/compute.h index d72e3cb..4305c1e 100644 --- a/source/platforms/sl.chi/compute.h +++ b/source/platforms/sl.chi/compute.h @@ -529,6 +529,8 @@ enum class VendorId : uint32_t eNVDA = 0x10DE, eAMD = 0x1002, eIntel = 0x8086, + eQualcommACPI = 0x4D4F4351, + eQualcommPCI = 0x0571, }; inline bool isVendorNvidia(VendorId id) @@ -536,6 +538,10 @@ inline bool isVendorNvidia(VendorId id) return id == VendorId::eNVDA; } +inline bool isVendorQualcomm(VendorId id) +{ + return (id == VendorId::eQualcommACPI) || (id == VendorId::eQualcommPCI); +} enum FenceFlags : uint32_t { diff --git a/source/plugins/sl.common/commonInterface.cpp b/source/plugins/sl.common/commonInterface.cpp index b523941..422a1b4 100644 --- a/source/plugins/sl.common/commonInterface.cpp +++ b/source/plugins/sl.common/commonInterface.cpp @@ -202,7 +202,7 @@ bool getSystemCaps(common::SystemCaps*& info) DXGI_ADAPTER_DESC desc; if (SUCCEEDED(adapter->GetDesc(&desc))) { - // Intel, AMD or NVIDIA physical GPUs only + // Intel, AMD, Qulacomm or NVIDIA physical GPUs only auto vendor = (chi::VendorId)desc.VendorId; #ifndef SL_PRODUCTION @@ -213,7 +213,7 @@ bool getSystemCaps(common::SystemCaps*& info) } #endif - if (isVendorNvidia(vendor) || vendor == chi::VendorId::eIntel || vendor == chi::VendorId::eAMD) + if (isVendorNvidia(vendor) || isVendorQualcomm(vendor) || vendor == chi::VendorId::eIntel || vendor == chi::VendorId::eAMD) { info->adapters[info->gpuCount].nativeInterface = adapter; info->adapters[info->gpuCount].vendor = vendor;