early-access version 1371
This commit is contained in:
		| @@ -1,7 +1,7 @@ | ||||
| yuzu emulator early access | ||||
| ============= | ||||
|  | ||||
| This is the source code for early-access 1370. | ||||
| This is the source code for early-access 1371. | ||||
|  | ||||
| ## Legal Notice | ||||
|  | ||||
|   | ||||
| @@ -143,11 +143,11 @@ void BufferCacheRuntime::BindIndexBuffer(PrimitiveTopology topology, IndexFormat | ||||
|     VkBuffer vk_buffer = buffer; | ||||
|     if (topology == PrimitiveTopology::Quads) { | ||||
|         vk_index_type = VK_INDEX_TYPE_UINT32; | ||||
|         std::tie(buffer, vk_offset) = | ||||
|         std::tie(vk_buffer, vk_offset) = | ||||
|             quad_index_pass.Assemble(index_format, num_indices, base_vertex, buffer, offset); | ||||
|     } else if (vk_index_type == VK_INDEX_TYPE_UINT8_EXT && !device.IsExtIndexTypeUint8Supported()) { | ||||
|         vk_index_type = VK_INDEX_TYPE_UINT16; | ||||
|         std::tie(buffer, vk_offset) = uint8_pass.Assemble(num_indices, buffer, offset); | ||||
|         std::tie(vk_buffer, vk_offset) = uint8_pass.Assemble(num_indices, buffer, offset); | ||||
|     } | ||||
|     if (vk_buffer == VK_NULL_HANDLE) { | ||||
|         // Vulkan doesn't support null index buffers. Replace it with our own null buffer. | ||||
|   | ||||
| @@ -85,21 +85,6 @@ VkFormatFeatureFlags GetFormatFeatures(VkFormatProperties properties, FormatType | ||||
|     } | ||||
| } | ||||
|  | ||||
| [[nodiscard]] bool IsRDNA(std::string_view device_name, VkDriverIdKHR driver_id) { | ||||
|     static constexpr std::array RDNA_DEVICES{ | ||||
|         "5700", | ||||
|         "5600", | ||||
|         "5500", | ||||
|         "5300", | ||||
|     }; | ||||
|     if (driver_id != VK_DRIVER_ID_AMD_PROPRIETARY_KHR) { | ||||
|         return false; | ||||
|     } | ||||
|     return std::any_of(RDNA_DEVICES.begin(), RDNA_DEVICES.end(), [device_name](const char* name) { | ||||
|         return device_name.find(name) != std::string_view::npos; | ||||
|     }); | ||||
| } | ||||
|  | ||||
| std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::PhysicalDevice physical) { | ||||
|     static constexpr std::array formats{ | ||||
|         VK_FORMAT_A8B8G8R8_UNORM_PACK32, | ||||
| @@ -436,14 +421,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | ||||
|             "Blacklisting RADV for VK_EXT_extended_dynamic state, likely due to a bug in yuzu"); | ||||
|         ext_extended_dynamic_state = false; | ||||
|     } | ||||
|     if (ext_extended_dynamic_state && IsRDNA(properties.deviceName, driver_id)) { | ||||
|         // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but on RDNA devices it | ||||
|         // seems to cause stability issues | ||||
|         LOG_WARNING( | ||||
|             Render_Vulkan, | ||||
|             "Blacklisting AMD proprietary on RDNA devices from VK_EXT_extended_dynamic_state"); | ||||
|         ext_extended_dynamic_state = false; | ||||
|     } | ||||
|     if (is_float16_supported && driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) { | ||||
|         // Intel's compiler crashes when using fp16 on Astral Chain, disable it for the time being. | ||||
|         LOG_WARNING(Render_Vulkan, "Blacklisting Intel proprietary from float16 math"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user