158a1896ec
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
206f1304d6
Disable push descriptors on adreno drivers
...
Regular descriptors are around 1.5x faster to update.
2023-06-03 00:05:31 -07:00
26bdecbf45
Disable VK_EXT_extended_dynamic_state on mali
2023-06-03 00:05:31 -07:00
f7a3f1ddf4
externals: add adrenotools for bcenabler
2023-06-03 00:05:28 -07:00
2972a3ccc7
video_core: vulkan_device: Device initialization for Adreno.
2023-06-03 00:05:28 -07:00
d6db422098
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
76f6388969
Merge pull request #10398 from liamwhite/bcn
...
video_core: add ASTC recompression
2023-05-24 03:55:45 +02:00
415c78b87c
textures: add BC1 and BC3 compressors and recompression setting
2023-05-23 12:54:40 -04:00
8bba9f7dea
vulkan_device: Enable VK_KHR_push_descriptor on newer ANV
2023-05-22 19:53:20 -04:00
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 ?
2023-05-22 16:48:55 +02:00
c1a8a508bc
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
9d4a2de72b
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
e9069dfe76
Merge pull request #10288 from liamwhite/vram-limits
...
vulkan_device: reserve extra memory to prevent swaps
2023-05-14 17:02:15 -04:00
2be751100b
vulkan_device: reserve extra memory to prevent swaps
2023-05-14 16:49:59 -04:00
122435e080
vulkan_common: fix incompatible property flags
2023-05-14 01:13:11 -04:00
856838f7ce
vulkan_common: disable depth clamp dynamic state for older radv
2023-05-13 00:37:17 -04:00
cb49c3b64c
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
3547248ec2
Merge pull request #10125 from lat9nq/vsync-select
...
configuration: Expose separate swap present modes
2023-05-06 21:55:39 -07:00
ca6bf06ef7
Log object names with debug renderer, add a GPU address to ImageViews
2023-05-06 04:48:32 +01:00
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.
2023-05-02 21:51:30 -04:00
4df49631de
vulkan: disable turbo when debugging tool is attached
2023-05-02 18:14:57 -04:00
e3fb9b5e00
vulkan: use plain fences when timeline semaphores are not available
2023-04-14 22:53:37 -04:00
083d913eab
externals: update Vulkan-Headers to v1.3.246
2023-04-01 05:38:54 +00:00
da83afdeaf
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
2023-03-15 15:55:07 -04:00
600f325d87
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
ec6ee04c64
vulkan_common: disable vertexInputDynamicState on unsupported driver
2023-03-01 22:48:12 -05:00
c6eab71d5c
nsight_aftermath_tracker: update for latest Aftermath SDK
2023-01-21 13:01:19 -05:00
c277dad25f
Merge pull request #9596 from liamwhite/mvk
...
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-10 18:11:44 -05:00
fa8581e900
vulkan_common: fix indirect draw with count
2023-01-10 09:43:36 -05:00
eaf425bd32
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-09 19:01:09 -05:00
279005448a
vulkan_device: refactor feature testing
2023-01-09 16:12:16 -05:00
432d48d9c8
Merge pull request #9570 from liamwhite/less-clock-boost
...
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 -06:00
444b25bae1
vulkan_device: avoid attempt to access empty optional
2023-01-06 21:23:21 -05:00
2e4dde12c7
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-06 19:07:47 -05:00
020dbcdbc7
Merge pull request #9552 from liamwhite/turbo
...
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
eaca61e073
Merge pull request #9528 from liamwhite/mvk-nulldesc
...
renderer_vulkan: implement fallback path for null buffer descriptors
2023-01-05 18:31:55 -05:00
3e33a878dc
Merge pull request #9536 from liamwhite/debug-utils
...
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-05 18:31:45 -05:00
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.
2023-01-05 21:02:44 +01:00
301e9bbc03
vulkan: implement 'turbo mode' clock booster
2023-01-04 22:22:01 -05:00
66ae79de13
renderer_vulkan: implement fallback path for null descriptors
2023-01-04 22:14:01 -05:00
ddbf851ef6
Vulkan: Update blacklisting to latest driver versions.
2023-01-03 21:16:43 -05:00
f9c6d39a6c
vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1
2023-01-01 16:43:58 -05:00
4814d87385
video_core: fix build
2023-01-01 16:43:58 -05:00
d09aa0182f
MacroHLE: Final cleanup and fixes.
2023-01-01 16:43:58 -05:00
d33251db93
Vulkan: Implement Dynamic State 3
2023-01-01 16:43:58 -05:00
f800e485c9
Vulkan Implement Dynamic State 2 LogicOp and PatchVertices
2023-01-01 16:43:58 -05:00
c897c55e3c
Vulkan: Implement Dynamic States 2
2023-01-01 16:43:57 -05:00
0f89828073
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
2023-01-01 16:43:57 -05:00
a5a94f52ff
MacroHLE: Add MultidrawIndirect HLE Macro.
2023-01-01 16:43:57 -05:00
aa13ee5c4a
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-01 11:59:47 -05:00