blob: 5d633fc03c865424c2affeced2a5396dcab39287 [file] [log] [blame]
//
// Copyright 2020 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.
//
// SystemInfo_vulkan.h: Reusable Vulkan implementation for SystemInfo.h
#ifndef GPU_INFO_UTIL_SYSTEM_INFO_VULKAN_H_
#define GPU_INFO_UTIL_SYSTEM_INFO_VULKAN_H_
#include "common/vulkan/vulkan_icd.h"
#include "gpu_info_util/SystemInfo.h"
namespace angle
{
struct SystemInfo;
// Reusable vulkan implementation of GetSystemInfo(). See SystemInfo.h.
bool GetSystemInfoVulkan(SystemInfo *info);
bool GetSystemInfoVulkanWithICD(SystemInfo *info, vk::ICD preferredICD);
VersionInfo ParseAMDVulkanDriverVersion(uint32_t version);
VersionInfo ParseArmVulkanDriverVersion(uint32_t version);
VersionInfo ParseBroadcomVulkanDriverVersion(uint32_t version);
VersionInfo ParseSwiftShaderVulkanDriverVersion(uint32_t version);
VersionInfo ParseImaginationVulkanDriverVersion(uint32_t version);
VersionInfo ParseIntelWindowsVulkanDriverVersion(uint32_t version);
VersionInfo ParseKazanVulkanDriverVersion(uint32_t version);
VersionInfo ParseNvidiaVulkanDriverVersion(uint32_t version);
VersionInfo ParseQualcommVulkanDriverVersion(uint32_t version);
VersionInfo ParseSamsungVulkanDriverVersion(uint32_t version);
VersionInfo ParseVeriSiliconVulkanDriverVersion(uint32_t version);
VersionInfo ParseVivanteVulkanDriverVersion(uint32_t version);
VersionInfo ParseMesaVulkanDriverVersion(uint32_t version);
VersionInfo ParseMoltenVulkanDriverVersion(uint32_t version);
} // namespace angle
#endif // GPU_INFO_UTIL_SYSTEM_INFO_VULKAN_H_