diff options
| author | 2021-09-16 07:05:58 +0200 | |
|---|---|---|
| committer | 2021-09-16 07:05:58 +0200 | |
| commit | a606b1448b4d0b43f62583e3382298a6fb32eec2 (patch) | |
| tree | bb7b168075dcfabe6950961eb9e2a76c70569a1c /src | |
| parent | Merge pull request #7010 from Morph1984/fs-timestamp (diff) | |
| parent | vulkan_device: Reorder Float16Int8 declaration (diff) | |
| download | yuzu-a606b1448b4d0b43f62583e3382298a6fb32eec2.tar.gz yuzu-a606b1448b4d0b43f62583e3382298a6fb32eec2.tar.xz yuzu-a606b1448b4d0b43f62583e3382298a6fb32eec2.zip | |
Merge pull request #7027 from ameerj/sorry-amd
vulkan_device: Reorder Float16Int8 declaration
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 24fb50db9..c2ec9f76a 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -243,7 +243,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 243 | SetupFamilies(surface); | 243 | SetupFamilies(surface); |
| 244 | SetupFeatures(); | 244 | SetupFeatures(); |
| 245 | SetupProperties(); | 245 | SetupProperties(); |
| 246 | CollectTelemetryParameters(); | ||
| 247 | 246 | ||
| 248 | const auto queue_cis = GetDeviceQueueCreateInfos(); | 247 | const auto queue_cis = GetDeviceQueueCreateInfos(); |
| 249 | const std::vector extensions = LoadExtensions(surface != nullptr); | 248 | const std::vector extensions = LoadExtensions(surface != nullptr); |
| @@ -369,20 +368,9 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 369 | }; | 368 | }; |
| 370 | SetNext(next, demote); | 369 | SetNext(next, demote); |
| 371 | 370 | ||
| 372 | if (driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE) { | 371 | VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8; |
| 373 | const u32 version = properties.driverVersion; | ||
| 374 | // Broken in this driver | ||
| 375 | if (version > VK_MAKE_API_VERSION(0, 2, 0, 193)) { | ||
| 376 | LOG_WARNING(Render_Vulkan, "AMD proprietary driver versions newer than 21.9.1 " | ||
| 377 | "(windows) / 0.2.0.194 (amdvlk) have " | ||
| 378 | "broken VkPhysicalDeviceFloat16Int8FeaturesKHR"); | ||
| 379 | is_int8_supported = false; | ||
| 380 | is_float16_supported = false; | ||
| 381 | } | ||
| 382 | } | ||
| 383 | |||
| 384 | if (is_int8_supported || is_float16_supported) { | 372 | if (is_int8_supported || is_float16_supported) { |
| 385 | VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8{ | 373 | float16_int8 = { |
| 386 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, | 374 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, |
| 387 | .pNext = nullptr, | 375 | .pNext = nullptr, |
| 388 | .shaderFloat16 = is_float16_supported, | 376 | .shaderFloat16 = is_float16_supported, |
| @@ -573,6 +561,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 573 | logical = vk::Device::Create(physical, queue_cis, extensions, first_next, dld); | 561 | logical = vk::Device::Create(physical, queue_cis, extensions, first_next, dld); |
| 574 | 562 | ||
| 575 | CollectPhysicalMemoryInfo(); | 563 | CollectPhysicalMemoryInfo(); |
| 564 | CollectTelemetryParameters(); | ||
| 576 | CollectToolingInfo(); | 565 | CollectToolingInfo(); |
| 577 | 566 | ||
| 578 | if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) { | 567 | if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) { |