early-access version 2056

This commit is contained in:
pineappleEA 2021-09-13 23:29:55 +02:00
parent 2f1e9e5588
commit 5ca776d3aa
3 changed files with 17 additions and 2 deletions

View File

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2055. This is the source code for early-access 2056.
## Legal Notice ## Legal Notice

View File

@ -44,6 +44,7 @@ if (MSVC)
/Zc:externConstexpr /Zc:externConstexpr
/Zc:inline /Zc:inline
/Zc:throwingNew /Zc:throwingNew
/GT
# External headers diagnostics # External headers diagnostics
/experimental:external # Enables the external headers options. This option isn't required in Visual Studio 2019 version 16.10 and later /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' /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 # /GS- - No stack buffer overflow checks
add_compile_options("$<$<CONFIG:Release>:/GS->") add_compile_options("$<$<CONFIG:Release>:/GS->")
@ -103,6 +108,7 @@ else()
if (ARCHITECTURE_x86_64) if (ARCHITECTURE_x86_64)
add_compile_options("-mcx16") add_compile_options("-mcx16")
add_compile_options("-mbranches-within-32B-boundaries")
endif() endif()
if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang) if (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)

View File

@ -243,6 +243,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
SetupFamilies(surface); SetupFamilies(surface);
SetupFeatures(); SetupFeatures();
SetupProperties(); SetupProperties();
CollectTelemetryParameters();
const auto queue_cis = GetDeviceQueueCreateInfos(); const auto queue_cis = GetDeviceQueueCreateInfos();
const std::vector extensions = LoadExtensions(surface != nullptr); const std::vector extensions = LoadExtensions(surface != nullptr);
@ -368,6 +369,15 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
}; };
SetNext(next, demote); 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) { if (is_int8_supported || is_float16_supported) {
VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8{ VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8{
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, .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); logical = vk::Device::Create(physical, queue_cis, extensions, first_next, dld);
CollectPhysicalMemoryInfo(); CollectPhysicalMemoryInfo();
CollectTelemetryParameters();
CollectToolingInfo(); CollectToolingInfo();
if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) { if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) {