Commit 409c1d5e by Geoff Lang Committed by Commit Bot

GL: Add detection of IMG and Vivante GPUs.

Future workarounds will depend on being able to detect these GPUs. Bug: chromium:983167 Change-Id: I0aee848594e6340550507a0cee8638c9b68785f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633422Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
parent 679d1187
...@@ -31,6 +31,7 @@ enum VendorID : uint32_t ...@@ -31,6 +31,7 @@ enum VendorID : uint32_t
VENDOR_ID_QUALCOMM = 0x5143, VENDOR_ID_QUALCOMM = 0x5143,
VENDOR_ID_SAMSUNG = 0x144D, VENDOR_ID_SAMSUNG = 0x144D,
VENDOR_ID_VMWARE = 0x15AD, VENDOR_ID_VMWARE = 0x15AD,
VENDOR_ID_VIVANTE = 0x9999,
}; };
enum AndroidDeviceID : uint32_t enum AndroidDeviceID : uint32_t
...@@ -92,6 +93,11 @@ inline bool IsSamsung(uint32_t vendorId) ...@@ -92,6 +93,11 @@ inline bool IsSamsung(uint32_t vendorId)
return vendorId == VENDOR_ID_SAMSUNG; return vendorId == VENDOR_ID_SAMSUNG;
} }
inline bool IsVivante(uint32_t vendorId)
{
return vendorId == VENDOR_ID_VIVANTE;
}
inline bool IsNexus5X(uint32_t vendorId, uint32_t deviceId) inline bool IsNexus5X(uint32_t vendorId, uint32_t deviceId)
{ {
return IsQualcomm(vendorId) && deviceId == ANDROID_DEVICE_ID_NEXUS5X; return IsQualcomm(vendorId) && deviceId == ANDROID_DEVICE_ID_NEXUS5X;
......
...@@ -66,6 +66,14 @@ VendorID GetVendorID(const FunctionsGL *functions) ...@@ -66,6 +66,14 @@ VendorID GetVendorID(const FunctionsGL *functions)
{ {
return VENDOR_ID_INTEL; return VENDOR_ID_INTEL;
} }
else if (nativeVendorString.find("Imagination") != std::string::npos)
{
return VENDOR_ID_POWERVR;
}
else if (nativeVendorString.find("Vivante") != std::string::npos)
{
return VENDOR_ID_VIVANTE;
}
else else
{ {
return VENDOR_ID_UNKNOWN; return VENDOR_ID_UNKNOWN;
......
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