diff options
author | Franco M <francomaro@gmail.com> | 2023-10-27 00:11:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-27 00:11:15 +0200 |
commit | b5415b687203599fe18e2cefc78700e4c6f2ae7c (patch) | |
tree | ddd4c82cab9e367cdcf2bbf4a1d444f85ed0b02e /src/video_core/vulkan_common/vulkan_device.h | |
parent | Merge branch 'yuzu-emu:master' into new-shortcut (diff) | |
parent | Merge pull request #11880 from abouvier/unbundle-stb (diff) | |
download | yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar.gz yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar.bz2 yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar.lz yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar.xz yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.tar.zst yuzu-b5415b687203599fe18e2cefc78700e4c6f2ae7c.zip |
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.h')
-rw-r--r-- | src/video_core/vulkan_common/vulkan_device.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 282a2925d..b213ed7dd 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h @@ -177,6 +177,15 @@ enum class FormatType { Linear, Optimal, Buffer }; /// Subgroup size of the guest emulated hardware (Nvidia has 32 threads per subgroup). const u32 GuestWarpSize = 32; +enum class NvidiaArchitecture { + Arch_KeplerOrOlder, + Arch_Maxwell, + Arch_Pascal, + Arch_Volta, + Arch_Turing, + Arch_AmpereOrNewer, +}; + /// Handles data specific to a physical device. class Device { public: @@ -670,6 +679,14 @@ public: return false; } + bool IsNvidia() const noexcept { + return properties.driver.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY; + } + + NvidiaArchitecture GetNvidiaArch() const noexcept { + return nvidia_arch; + } + private: /// Checks if the physical device is suitable and configures the object state /// with all necessary info about its properties. @@ -788,6 +805,7 @@ private: bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow. u64 device_access_memory{}; ///< Total size of device local memory in bytes. u32 sets_per_pool{}; ///< Sets per Description Pool + NvidiaArchitecture nvidia_arch{NvidiaArchitecture::Arch_AmpereOrNewer}; // Telemetry parameters std::set<std::string, std::less<>> supported_extensions; ///< Reported Vulkan extensions. |