Commit graph

239 commits

Author SHA1 Message Date
GPUCode
7a8631cd45 externals: Use cmake subdirectory 2023-06-26 18:59:24 +03:00
GPUCode
c813876c5a vulkan_common: Remove required flags
* Allows VMA to fallback to system RAM instead of crashing
2023-06-22 20:03:12 +03:00
GPUCode
7b3718dc9c renderer_vulkan: Add missing initializers 2023-06-18 14:14:03 +03:00
GPUCode
66d3a1c5c7 renderer_vulkan: Use VMA for buffers 2023-06-18 12:45:18 +03:00
GPUCode
d84d595dab renderer_vulkan: Use VMA for images 2023-06-18 12:45:18 +03:00
GPUCode
fd9b920d2d memory_allocator: Remove OpenGL interop
* Appears to be unused atm
2023-06-18 12:45:18 +03:00
lat9nq
0a4650cd2b externals: Add vma and initialize it
video_core: Move vma implementation to library
2023-06-18 12:45:12 +03:00
Liam
0875e158fe vulkan_device: disable extended_dynamic_state2 on ARM drivers 2023-06-15 12:29:54 -04:00
Matías Locatti
28e1429daf Merge pull request #10699 from liamwhite/conditional-barrier
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-12 16:50:59 -03:00
Liam
947a4f6141 shader_recompiler: translate f64 to f32 when unsupported on host 2023-06-10 12:38:49 -04:00
Liam
b646ac2908 shader_recompiler: remove barriers in conditional control flow when device lacks support 2023-06-10 12:30:39 -04:00
liamwhite
06a6786a42 Merge pull request #10635 from mrcmunir/l4t-tx1-nvidia
Make VK_EXT_robustness2 optional
2023-06-07 14:04:14 -04:00
Carlos Estrague / Mrc_munir
1de6e7a3e5 Updated to lexicographical order suggestions 2023-06-06 19:33:52 +02:00
Carlos Estrague / Mrc_munir
e450a7d28c Make VK_EXT_robustness2 optional
For some reason nvidia implemented Vulkan 1.2 supported without support for VK_EXT_robustness2 in tegra X1/X2 .

Fix vulkan work in TX1/TX2  L4T drivers .
2023-06-06 06:32:47 +02:00
bunnei
c55db7e03d android: vulkan_device: Skip BGR565 emulation on S8gen2. 2023-06-03 00:06:01 -07:00
bunnei
4e2cdf74a3 android: vulkan_device: Only compile OverrideBcnFormats when used. 2023-06-03 00:06:00 -07:00
Liam
5d9250daf4 android: remove spurious warnings about BCn formats when patched with adrenotools 2023-06-03 00:06:00 -07:00
bunnei
baa09b9cef android: video_core: Disable problematic compute shaders.
- Fixes #104.
2023-06-03 00:06:00 -07:00
bunnei
3571f28cde video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise. 2023-06-03 00:05:58 -07:00
bunnei
2810793b17 android: vulkan: Disable vertex_input_dynamic_state on Qualcomm. 2023-06-03 00:05:51 -07:00
bunnei
e8efc6121d android: vulkan_debug_callback: Ignore many innocuous errors. 2023-06-03 00:05:50 -07:00
bunnei
bf598273e9 android: vulkan_device: Disable VK_EXT_custom_border_color on Adreno.
- Causes crashes on sampler creation with Super Mario Odyssey.
2023-06-03 00:05:48 -07:00
Liam
d54605d1a5 build: only enable adrenotools on arm64 2023-06-03 00:05:43 -07:00
liushuyu
44a629e584 video_core: fix clang-format errors 2023-06-03 00:05:33 -07:00
bunnei
ea54161dbf video_core: vulkan_device: Correct error message for unsuitable driver. 2023-06-03 00:05:32 -07:00
bunnei
27250ee9ad android: vulkan: Implement adrenotools turbo mode. 2023-06-03 00:05:32 -07:00
bunnei
6ae51eff8a android: vulkan_device: Disable VK_EXT_extended_dynamic_state2 on Qualcomm.
- Newer drivers report this as supported, but it is broken.
2023-06-03 00:05:32 -07:00
bunnei
74e76421e6 android: native: Add support for custom Vulkan driver loading. 2023-06-03 00:05:31 -07:00
Billy Laws
2beb3051c1 Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
2023-06-03 00:05:31 -07:00
Billy Laws
58d420937c Disable push descriptors on adreno drivers
Regular descriptors are around 1.5x faster to update.
2023-06-03 00:05:31 -07:00
Billy Laws
ca2c3a6d5a Disable VK_EXT_extended_dynamic_state on mali 2023-06-03 00:05:31 -07:00
Liam
46927d217c externals: add adrenotools for bcenabler 2023-06-03 00:05:28 -07:00
bunnei
b3a74d7f73 video_core: vulkan_device: Device initialization for Adreno. 2023-06-03 00:05:28 -07:00
Matías Locatti
ebcfe440ba Merge pull request #10414 from liamwhite/anv-push-descriptor
vulkan_device: Enable VK_KHR_push_descriptor on newer ANV
2023-05-26 17:36:37 -03:00
Fernando S
178e8a6b0e Merge pull request #10398 from liamwhite/bcn
video_core: add ASTC recompression
2023-05-24 03:55:45 +02:00
Liam
011dfe1db7 textures: add BC1 and BC3 compressors and recompression setting 2023-05-23 12:54:40 -04:00
Liam
cdd20c6231 vulkan_device: Enable VK_KHR_push_descriptor on newer ANV 2023-05-22 19:53:20 -04:00
scorpion81
9c33fade59 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 ?
2023-05-22 16:48:55 +02:00
lat9nq
6597d2a5d3 vulkan_device: Disable VK_KHR_push_descriptor on ANV
Mesa commit ff91c5ca42bc80aa411cb3fd8f550aa6fdd16bdc breaks
VK_KHR_push_descriptor usage on ANV drivers 22.3.0, so disable it
and allow games to boot.
2023-05-17 22:19:57 -04:00
bunnei
de9a79402d Merge pull request #10262 from liamwhite/depth-clamp
vulkan_common: disable depth clamp dynamic state for older radv
2023-05-17 12:19:03 -07:00
liamwhite
836b8e1d64 Merge pull request #10288 from liamwhite/vram-limits
vulkan_device: reserve extra memory to prevent swaps
2023-05-14 17:02:15 -04:00
Liam
41353d738a vulkan_device: reserve extra memory to prevent swaps 2023-05-14 16:49:59 -04:00
Liam
b10b8b7a57 vulkan_common: fix incompatible property flags 2023-05-14 01:13:11 -04:00
Liam
50b42ab980 vulkan_common: disable depth clamp dynamic state for older radv 2023-05-13 00:37:17 -04:00
liamwhite
de45be2681 Merge pull request #10172 from Kelebek1/debug_validation_names
Log object names with debug renderer, add a GPU address to ImageViews
2023-05-07 14:09:03 -04:00
bunnei
12c4c09b3f Merge pull request #10125 from lat9nq/vsync-select
configuration: Expose separate swap present modes
2023-05-06 21:55:39 -07:00
Kelebek1
d43a18a6ef Log object names with debug renderer, add a GPU address to ImageViews 2023-05-06 04:48:32 +01:00
lat9nq
ff2197130f 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.
2023-05-02 21:51:30 -04:00
Liam
44b15592e8 vulkan: disable turbo when debugging tool is attached 2023-05-02 18:14:57 -04:00
Liam
fb2af6a41e vulkan: use plain fences when timeline semaphores are not available 2023-04-14 22:53:37 -04:00