Commit graph

178 commits

Author SHA1 Message Date
Liam
f82c3649c3 vulkan_device: avoid attempt to access empty optional 2023-01-06 21:23:21 -05:00
liamwhite
41958ff4ae Merge pull request #9552 from liamwhite/turbo
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
liamwhite
7ad49399b3 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
liamwhite
075f942d5d 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
Wollnashorn
ef0b585b0b 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
Liam
1a32e03a0f vulkan: implement 'turbo mode' clock booster 2023-01-04 22:22:01 -05:00
Liam
2e1c5b8310 renderer_vulkan: implement fallback path for null descriptors 2023-01-04 22:14:01 -05:00
Fernando Sahmkow
98b7ebe02d Vulkan: Update blacklisting to latest driver versions. 2023-01-03 21:16:43 -05:00
Liam
527c844a44 vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1 2023-01-01 16:43:58 -05:00
Liam
af9b730db8 video_core: fix build 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
e6e49e584f MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
67a706d812 Vulkan: Implement Dynamic State 3 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
af68dc011b Vulkan Implement Dynamic State 2 LogicOp and PatchVertices 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
dc0f7dea8f Vulkan: Implement Dynamic States 2 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
b5b0ec9429 MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
f2f2784817 MacroHLE: Add MultidrawIndirect HLE Macro. 2023-01-01 16:43:57 -05:00
Liam
86854a2384 vulkan_common: unify VK_EXT_debug_utils and selection of validation layer 2023-01-01 11:59:47 -05:00
Jan Beich
f3412998f0 externals: update Vulkan-Headers to v1.3.238 2022-12-19 17:14:29 +00:00
liamwhite
db106151d7 Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Narr the Reg
016590e25d Merge pull request #9431 from liamwhite/sixty-five-oh-two
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
FernandoS27
11f29ec173 Vulkan: Add support for VK_EXT_depth_clip_control. 2022-12-13 21:39:18 -05:00
Liam
aec084e315 vulkan_common: declare storageBuffer8BitAccess 2022-12-13 18:28:50 -05:00
yzct12345
462220fe15 Fix validation errors on less compatible Intel GPU 2022-12-12 20:53:05 -05:00
Liam
292cc68b75 video_core: Integrate SMAA
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
Morph
5a607ba49f Merge pull request #9365 from liamwhite/val
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Liam
d50abc6a9c vulkan_common: further initialization tweaks 2022-12-05 22:06:35 -05:00
Liam
ee4e09128f vulkan_common: add feature test for shaderDrawParameters 2022-12-04 10:55:13 -05:00
Liam
88ee9ef9ba vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
Liam
b656f90c11 vulkan_common: correct usage of timeline semaphore fallbacks 2022-12-04 10:55:13 -05:00
Liam
f848103437 vulkan_common: ensure all mandatory features are tested in feature report 2022-12-04 10:55:13 -05:00
Liam
8db4f8593c vulkan_common: unsuffix 16-bit storage feature test structure 2022-12-04 10:55:13 -05:00
Liam
d2299ce7d8 vulkan_common: unsuffix timeline semaphore feature test structure 2022-12-04 10:55:13 -05:00
Liam
e46525c84f vulkan_common: add logicOp to feature report 2022-12-04 10:55:13 -05:00
Liam
540a841351 vulkan_common: promote host query reset usage to core 2022-12-04 10:55:13 -05:00
Liam
f165ae4daf vulkan_common: promote descriptor update template usage to core 2022-12-04 10:55:13 -05:00
Liam
63b830fd41 vulkan_common: promote timeline semaphore usage to core 2022-12-04 10:55:13 -05:00
liamwhite
e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
Liam
44db218c6d vulkan_common: quiet some validation errors 2022-11-30 19:18:05 -05:00
Liam
0a077cb467 Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
Byte
285aedee4f vulkan_blitter: Fix pool allocation double free. 2022-10-06 21:00:54 +02:00
Liam
bffdc2b3ce renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, R16G16B16_SSCALED, R8G8B8_SSCALED 2022-08-02 18:39:33 -04:00
lat9nq
973290ff56 Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor" 2022-06-29 16:35:06 -04:00
Liam
c1771c98f3 common: Change semantics of UNREACHABLE to unconditionally crash 2022-06-13 20:09:00 -04:00
lat9nq
e7882e4bcb vulkan_library: Add debug logging 2022-05-30 10:57:59 -04:00
bunnei
6c88f50725 Merge pull request #8379 from lat9nq/amd-push-desc-workaround
vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
2022-05-25 13:07:39 -07:00
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.
2022-05-25 01:22:15 -04:00
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.
2022-05-25 01:17:48 -04:00
Alexandre Bouvier
a766e7d663 video_core: Support new VkResult 2022-05-17 17:37:10 +02:00
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.
2022-04-23 05:55:32 -04:00