Commit bb6e512e by Jonah Ryan-Davis Committed by Commit Bot

Mtl: Add Apple vendor ID

On M1 Macs we need to extract Apple's vendor ID. Bug: chromium:1131248 Change-Id: Ie0e4006c3005e0a252d7a27a069a3be47ef4a7d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745703Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
parent 7c9cb3eb
...@@ -154,6 +154,8 @@ const char *GetVendorString(uint32_t vendorId) ...@@ -154,6 +154,8 @@ const char *GetVendorString(uint32_t vendorId)
return "AMD"; return "AMD";
case VENDOR_ID_ARM: case VENDOR_ID_ARM:
return "ARM"; return "ARM";
case VENDOR_ID_APPLE:
return "Apple";
case VENDOR_ID_BROADCOM: case VENDOR_ID_BROADCOM:
return "Broadcom"; return "Broadcom";
case VENDOR_ID_GOOGLE: case VENDOR_ID_GOOGLE:
......
...@@ -19,6 +19,7 @@ enum VendorID : uint32_t ...@@ -19,6 +19,7 @@ enum VendorID : uint32_t
{ {
VENDOR_ID_UNKNOWN = 0x0, VENDOR_ID_UNKNOWN = 0x0,
VENDOR_ID_AMD = 0x1002, VENDOR_ID_AMD = 0x1002,
VENDOR_ID_APPLE = 0x106B,
VENDOR_ID_ARM = 0x13B5, VENDOR_ID_ARM = 0x13B5,
// Broadcom devices won't use PCI, but this is their Vulkan vendor id. // Broadcom devices won't use PCI, but this is their Vulkan vendor id.
VENDOR_ID_BROADCOM = 0x14E4, VENDOR_ID_BROADCOM = 0x14E4,
...@@ -48,6 +49,11 @@ inline bool IsAMD(uint32_t vendorId) ...@@ -48,6 +49,11 @@ inline bool IsAMD(uint32_t vendorId)
return vendorId == VENDOR_ID_AMD; return vendorId == VENDOR_ID_AMD;
} }
inline bool IsApple(uint32_t vendorId)
{
return vendorId == VENDOR_ID_APPLE;
}
inline bool IsARM(uint32_t vendorId) inline bool IsARM(uint32_t vendorId)
{ {
return vendorId == VENDOR_ID_ARM; return vendorId == VENDOR_ID_ARM;
......
...@@ -35,11 +35,10 @@ uint32_t GetDeviceVendorIdFromName(id<MTLDevice> metalDevice) ...@@ -35,11 +35,10 @@ uint32_t GetDeviceVendorIdFromName(id<MTLDevice> metalDevice)
uint32_t vendorId; uint32_t vendorId;
}; };
constexpr Vendor kVendors[] = {{@"AMD", angle::kVendorID_AMD}, constexpr Vendor kVendors[] = {
{@"Radeon", angle::kVendorID_AMD}, {@"AMD", angle::kVendorID_AMD}, {@"Apple", angle::kVendorID_Apple},
{@"Intel", angle::kVendorID_Intel}, {@"Radeon", angle::kVendorID_AMD}, {@"Intel", angle::kVendorID_Intel},
{@"Geforce", angle::kVendorID_NVIDIA}, {@"Geforce", angle::kVendorID_NVIDIA}, {@"Quadro", angle::kVendorID_NVIDIA}};
{@"Quadro", angle::kVendorID_NVIDIA}};
ANGLE_MTL_OBJC_SCOPE ANGLE_MTL_OBJC_SCOPE
{ {
if (metalDevice) if (metalDevice)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment