chromium/third_party/angle/src/libANGLE/renderer/driver_utils.cpp

//
// Copyright 2016 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

// driver_utils.h : provides more information about current driver.

#include <algorithm>

#include "libANGLE/renderer/driver_utils.h"

#include "common/android_util.h"
#include "common/platform.h"
#include "common/system_utils.h"

#if defined(ANGLE_PLATFORM_LINUX)
#    include <sys/utsname.h>
#endif

namespace rx
{
// Intel
// Referenced from
// https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/include/pci_ids/crocus_pci_ids.h
// https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/include/pci_ids/iris_pci_ids.h
namespace
{
// gen6
const uint16_t SandyBridge[] =;

// gen7
const uint16_t IvyBridge[] =;

// gen 7.5
const uint16_t Haswell[] =;

// gen8
const uint16_t Broadwell[] =;

const uint16_t CherryView[] =;

// gen9
const uint16_t Skylake[] =;

// gen9lp
const uint16_t Broxton[] =;

const uint16_t GeminiLake[] =;

// gen9p5
const uint16_t KabyLake[] =;

const uint16_t CoffeeLake[] =;

const uint16_t MeteorLake[] =;

const uint16_t IntelGen11[] =;

const uint16_t IntelGen12[] =;

// The following is used to parse generic Vulkan driver versions.
angle::VersionTriple ParseGenericVulkanDriverVersion(uint32_t driverVersion)
{}
}  // anonymous namespace

IntelDriverVersion::IntelDriverVersion(uint32_t buildNumber) :{}

IntelDriverVersion::IntelDriverVersion(uint32_t majorVersion, uint32_t minorVersion)
{}

bool IntelDriverVersion::operator==(const IntelDriverVersion &version) const
{}

bool IntelDriverVersion::operator!=(const IntelDriverVersion &version) const
{}

bool IntelDriverVersion::operator<(const IntelDriverVersion &version) const
{}

bool IntelDriverVersion::operator>=(const IntelDriverVersion &version) const
{}

bool IsSandyBridge(uint32_t DeviceId)
{}

bool IsIvyBridge(uint32_t DeviceId)
{}

bool IsHaswell(uint32_t DeviceId)
{}

bool IsBroadwell(uint32_t DeviceId)
{}

bool IsCherryView(uint32_t DeviceId)
{}

bool IsSkylake(uint32_t DeviceId)
{}

bool IsBroxton(uint32_t DeviceId)
{}

bool IsKabyLake(uint32_t DeviceId)
{}

bool IsGeminiLake(uint32_t DeviceId)
{}

bool IsCoffeeLake(uint32_t DeviceId)
{}

bool IsMeteorLake(uint32_t DeviceId)
{}

bool Is9thGenIntel(uint32_t DeviceId)
{}

bool Is11thGenIntel(uint32_t DeviceId)
{}

bool Is12thGenIntel(uint32_t DeviceId)
{}

std::string GetVendorString(uint32_t vendorId)
{}

IntelDriverVersion ParseIntelWindowsDriverVersion(uint32_t driverVersion)
{}

ARMDriverVersion ParseARMVulkanDriverVersion(uint32_t driverVersion)
{}

QualcommDriverVersion ParseQualcommVulkanDriverVersion(uint32_t driverVersion)
{}

int GetAndroidSDKVersion()
{}
#if !defined(ANGLE_PLATFORM_MACOS)
OSVersion GetMacOSVersion()
{}
#endif

#if !ANGLE_PLATFORM_IOS_FAMILY
OSVersion GetiOSVersion()
{}
#endif

#if defined(ANGLE_PLATFORM_LINUX)
bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch)
{}
#endif

OSVersion GetLinuxOSVersion()
{}

// There are multiple environment variables that may or may not be set during Wayland
// sessions, including WAYLAND_DISPLAY, XDG_SESSION_TYPE, and DESKTOP_SESSION
bool IsWayland()
{}

}  // namespace rx