bunnei
5d43594a70
android: vulkan_device: Skip BGR565 emulation on S8gen2.
3 years ago
bunnei
8b8123b733
android: vulkan_device: Only compile OverrideBcnFormats when used.
3 years ago
Liam
6b2e89a865
android: remove spurious warnings about BCn formats when patched with adrenotools
3 years ago
bunnei
8dc7fe0c96
android: video_core: Disable problematic compute shaders.
- Fixes #104 .
3 years ago
bunnei
ca4bf3844e
video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.
3 years ago
bunnei
12c9e18b55
android: vulkan: Disable vertex_input_dynamic_state on Qualcomm.
3 years ago
bunnei
6d2e7de2e0
android: vulkan_debug_callback: Ignore many innocuous errors.
3 years ago
bunnei
b2aeb50229
android: vulkan_device: Disable VK_EXT_custom_border_color on Adreno.
- Causes crashes on sampler creation with Super Mario Odyssey.
3 years ago
Liam
616cf70a80
build: only enable adrenotools on arm64
3 years ago
liushuyu
e26bd1421e
video_core: fix clang-format errors
3 years ago
bunnei
ff2f370946
video_core: vulkan_device: Correct error message for unsuitable driver.
3 years ago
bunnei
8248d69093
android: vulkan: Implement adrenotools turbo mode.
3 years ago
bunnei
21320d80d9
android: vulkan_device: Disable VK_EXT_extended_dynamic_state2 on Qualcomm.
- Newer drivers report this as supported, but it is broken.
3 years ago
bunnei
4c38220a64
android: native: Add support for custom Vulkan driver loading.
3 years ago
Billy Laws
158a1896ec
Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
3 years ago
Billy Laws
206f1304d6
Disable push descriptors on adreno drivers
Regular descriptors are around 1.5x faster to update.
3 years ago
Billy Laws
26bdecbf45
Disable VK_EXT_extended_dynamic_state on mali
3 years ago
Liam
f7a3f1ddf4
externals: add adrenotools for bcenabler
3 years ago
bunnei
2972a3ccc7
video_core: vulkan_device: Device initialization for Adreno.
3 years ago
Liam
415c78b87c
textures: add BC1 and BC3 compressors and recompression setting
3 years ago
Liam
8bba9f7dea
vulkan_device: Enable VK_KHR_push_descriptor on newer ANV
3 years ago
scorpion81
f8e7b44d28
Limit the device access memory to 4 GB
Hardly limiting the device access memory to 4 GB for integrated vulkan devices here. This works for the Steam Deck in order not to go above 4 GB VRAM usage any more (above this value the likelihood to crash when the RAM exceeds 12 GB as well raises).
But there will be perhaps a detection mechanism necessary for detecting the real memory limit for integrated vulkan devices. Those likely might have small limits anyway, but what about integrated GPUs on machines with > 16 GB RAM, aka larger amounts ?
3 years ago
lat9nq
c1a8a508bc
vulkan_device: Disable VK_KHR_push_descriptor on ANV
Mesa commit ff91c5ca42 breaks
VK_KHR_push_descriptor usage on ANV drivers 22.3.0, so disable it
and allow games to boot.
3 years ago
Liam
2be751100b
vulkan_device: reserve extra memory to prevent swaps
3 years ago
Liam
122435e080
vulkan_common: fix incompatible property flags
3 years ago
Liam
856838f7ce
vulkan_common: disable depth clamp dynamic state for older radv
3 years ago
Kelebek1
ca6bf06ef7
Log object names with debug renderer, add a GPU address to ImageViews
3 years ago
lat9nq
c6c11c1553
vulkan_surface: Pass only window info for surface creation
We don't need the whole EmuWindow when creating a surface,
and it creates onerous requirements outside of typical usage for
creating a surface elsewhere.
3 years ago
Liam
4df49631de
vulkan: disable turbo when debugging tool is attached
3 years ago
Liam
e3fb9b5e00
vulkan: use plain fences when timeline semaphores are not available
3 years ago
Wollnashorn
fe91066f46
video_core: Enable ImageGather with subpixel offset on Intel
3 years ago
Wollnashorn
780240e697
shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.
This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957 , #6956 ).
3 years ago
Jan Beich
083d913eab
externals: update Vulkan-Headers to v1.3.246
3 years ago
Liam
da83afdeaf
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
3 years ago
Liam
600f325d87
general: fix spelling mistakes
3 years ago
Liam
ec6ee04c64
vulkan_common: disable vertexInputDynamicState on unsupported driver
3 years ago
arades79
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
Liam
c6eab71d5c
nsight_aftermath_tracker: update for latest Aftermath SDK
3 years ago
Liam
fa8581e900
vulkan_common: fix indirect draw with count
3 years ago
TellowKrinkle
eaf425bd32
MoltenVK: restrict number of vertex attributes/bindings to 16
3 years ago
Liam
279005448a
vulkan_device: refactor feature testing
3 years ago
Liam
444b25bae1
vulkan_device: avoid attempt to access empty optional
3 years ago
Liam
2e4dde12c7
renderer_vulkan: disable clock boost on unvalidated devices
3 years ago
Wollnashorn
16809c1fa7
video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelines
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.
These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
3 years ago
Liam
301e9bbc03
vulkan: implement 'turbo mode' clock booster
3 years ago
Liam
66ae79de13
renderer_vulkan: implement fallback path for null descriptors
3 years ago
Fernando Sahmkow
ddbf851ef6
Vulkan: Update blacklisting to latest driver versions.
3 years ago
Liam
f9c6d39a6c
vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1
3 years ago
Liam
4814d87385
video_core: fix build
3 years ago