Liam
c1771c98f3
common: Change semantics of UNREACHABLE to unconditionally crash
4 years ago
lat9nq
e7882e4bcb
vulkan_library: Add debug logging
4 years ago
lat9nq
adfd64ba59
vulkan_device: Workaround extension bug
A bug occurs in yuzu when VK_KHR_workgroup_memory_explicit_layout is
available but 16-bit integers are not supported in the host driver.
Disable usage of the extension when this case arises.
4 years ago
lat9nq
3f2a89bb9d
vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
Recent AMD Vulkan drivers (22.5.2 or 2.0.226 for specifically Vulkan)
have a broken VK_KHR_push_descriptor implementation that causes a crash
in yuzu. Disable it for the time being.
4 years ago
Alexandre Bouvier
a766e7d663
video_core: Support new VkResult
4 years ago
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
Fernando Sahmkow
ba73142ce0
video_core: implement formats for N64 emulation
4 years ago
Andrea Pappacoda
d9044f00e1
fix: typos
4 years ago
Fernando Sahmkow
392612a2d3
GC: Address Feedback.
5 years ago
Fernando Sahmkow
7ea1f39bd0
Garbage Collection: Redesign the algorithm to do a better use of memory.
5 years ago
ameerj
9b1322ef20
Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
Nvidia Vulkan drivers 510+ crash when blitting MSAA images. Fall-back to 3D scale helpers for MSAA image scaling.
4 years ago
ameerj
b837219423
video_core: Reduce unused includes
4 years ago
Ameer J
f4c97f7410
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
RDNA2 devices running under the RADV driver were crashing when VK_EXT_vertex_input_dynamic_state was enabled.
Blacklisting these devices until a proper fix is established.
4 years ago
voidanix
9891701985
vulkan_device: fix missing format in ANV
Currently Mesa's ANV driver does not support
VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
5 years ago
Georg Lehmann
feb8a473ed
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
5 years ago
ameerj
bb108db1de
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
Fixes a crash when scaling MSAA textures in titles such as Sonic Colors Ultimate.
5 years ago
Fernando Sahmkow
15c634806b
Vulkan: Fix the checks for primitive restart extension.
5 years ago
Fernando Sahmkow
ce7c3bdf0c
Vulkan: implement Logical Operations.
5 years ago
Fernando Sahmkow
790bbcb016
Vulkan: Implement VK_EXT_primitive_topology_list_restart
5 years ago
Morph
052c01db9a
renderer_vulkan: Add R16G16_UINT
- Used by Immortals Fenyx Rising
5 years ago
Morph
39a49776b6
renderer_vulkan: Implement S8_UINT stencil format
It should be noted that on Windows, only nvidia gpus support this format natively as of this commit.
5 years ago
ameerj
83aec496da
vk_texture_cache: Fix unsupported blit format error checking
5 years ago
Feng Chen
bc7104cd76
vulkan_device: Add missing vulkan image format R5G6B5 in GetFormatProperties
- Used by Dragon Quest Builders
5 years ago
ameerj
d44cd612a0
vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier
Fixes rainbow textures on BOTW.
5 years ago
Fernando Sahmkow
6a6e2407f8
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
5 years ago
ameerj
43d59a4bbe
vulkan_device: Reorder Float16Int8 declaration
This variable was going out of scope before its usage in the vulkan device creation, causing a crash on very specific drivers.
5 years ago
ameerj
abf9900d82
Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver"
This reverts commit 9ac9c85ecd , reversing
changes made to e99525fb5b .
5 years ago
ameerj
ccf4fa3aaa
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed.
This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
5 years ago
Fernando Sahmkow
17e879aa56
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.
5 years ago
Fernando Sahmkow
a3f4f92e7e
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
5 years ago
Fernando Sahmkow
dbe8a4fc2f
Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.
5 years ago
ameerj
584fc3cb71
vulkan_device: Enable VK_KHR_swapchain_mutable_format if available
Silences validation errors when creating sRGB image views of linear swapchain images
5 years ago
ameerj
56cabe631b
vulkan_device: Add a check for int8 support
Silences validation errors when shaders use int8 without specifying its support to the API
5 years ago
Robin Kertels
f8f27b6caf
vulkan_memory_allocator: Respect bufferImageGranularity
5 years ago
ReinUsesLisp
482c1ec8e5
renderer_vulkan: Add setting to log pipeline statistics
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
5 years ago
Lioncash
be66e2a272
vulkan_wrapper: Fix SetObjectName() always indicating objects as images
We should be using the passed in object type instead.
5 years ago
ReinUsesLisp
6c7f6e1228
vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor
Causes crashes on Link's Awakening intro. It's hard to debug if it's our
fault due to bugs in validation layers.
5 years ago
ReinUsesLisp
b654537f0f
maxwell_to_vk: Add R16_SNORM
5 years ago
lat9nq
52f2fe7b52
vulkan_device: Add missing include algorithm
5 years ago
ameerj
d965b7200a
vulkan_device: Blacklist ampere devices from float16 math
5 years ago
ReinUsesLisp
e8d458a81d
vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward
5 years ago
ReinUsesLisp
1c7c65087d
vk_graphics_pipeline: Implement smooth lines
5 years ago
ReinUsesLisp
bd0796d52f
vk_graphics_pipeline: Implement line width
5 years ago
ReinUsesLisp
b1df436cef
shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
5 years ago
ReinUsesLisp
649c9cca0f
vk_graphics_pipeline: Implement conservative rendering
5 years ago
ReinUsesLisp
0a75c400e3
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
b3bf0d4ebb
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
~51% faster on Nvidia compared to previous method.
5 years ago
ReinUsesLisp
52be21495e
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
a9a5f5b535
vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
5 years ago
lat9nq
3a70b6c79b
shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
5 years ago