diff --git a/README.md b/README.md index 2b39180ed..11e6de96c 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 2055. +This is the source code for early-access 2056. ## Legal Notice diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6e66dc1df..8ec6fcdd5 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -44,6 +44,7 @@ if (MSVC) /Zc:externConstexpr /Zc:inline /Zc:throwingNew + /GT # External headers diagnostics /experimental:external # Enables the external headers options. This option isn't required in Visual Studio 2019 version 16.10 and later @@ -69,6 +70,10 @@ if (MSVC) /we5038 # data member 'member1' will be initialized after data member 'member2' ) + if (ARCHITECTURE_x86_64) + add_compile_options(/QIntel-jcc-erratum) + endif() + # /GS- - No stack buffer overflow checks add_compile_options("$<$:/GS->") @@ -103,6 +108,7 @@ else() if (ARCHITECTURE_x86_64) add_compile_options("-mcx16") + add_compile_options("-mbranches-within-32B-boundaries") endif() if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang) diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index dad8fb409..a0a1cc1d5 100755 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -243,6 +243,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR SetupFamilies(surface); SetupFeatures(); SetupProperties(); + CollectTelemetryParameters(); const auto queue_cis = GetDeviceQueueCreateInfos(); const std::vector extensions = LoadExtensions(surface != nullptr); @@ -368,6 +369,15 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR }; SetNext(next, demote); + if (driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE) { + const u32 version = (properties.driverVersion << 3) >> 3; + // Broken in this driver + if (version >= 0x008000c6) { + is_int8_supported = false; + is_float16_supported = false; + } + } + if (is_int8_supported || is_float16_supported) { VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8{ .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, @@ -560,7 +570,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR logical = vk::Device::Create(physical, queue_cis, extensions, first_next, dld); CollectPhysicalMemoryInfo(); - CollectTelemetryParameters(); CollectToolingInfo(); if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) {