early-access version 2056

main
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
=============
This is the source code for early-access 2055.
This is the source code for early-access 2056.
## Legal Notice

View File

@ -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("$<$<CONFIG:Release>:/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)

View File

@ -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) {