Billy Laws
5b7dec680e
externals: Update sirit
2023-01-05 22:13:07 +00:00
Billy Laws
c7c901dd63
shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs
...
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
2023-01-05 22:13:07 +00:00
Billy Laws
00c51d0a4f
Vulkan, OpenGL: Hook up geometry shader passthrough emulation
2023-01-05 22:13:07 +00:00
Billy Laws
a92251c623
shader_recompiler: Add support for lowering geometry passthrough
...
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05 22:13:07 +00:00
Billy Laws
195248d6fe
Vulkan, OpenGL: Hook up storage buffer alignment code
2023-01-05 22:13:07 +00:00
Billy Laws
ae868e7ffb
shader_recompiler: Align SSBO offsets to meet host requirements
...
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05 22:13:07 +00:00
Billy Laws
3772cfc976
shader_recompiler: SPIRV: Only enable int64 feature when supported
2023-01-05 22:13:07 +00:00
Billy Laws
d862241ba7
shader_recompiler: Add comparison operators to descriptor types
2023-01-05 22:13:07 +00:00
Billy Laws
77aea7e2b4
Vulkan: Add a workaround for input_position on Adreno drivers
...
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2023-01-05 22:13:07 +00:00
Fernando S
94542c5d73
Merge pull request #9527 from Wollnashorn/amd-cache-fix
...
video_core/vulkan: Implemented `VkPipelineCache` to store Vulkan pipelines
2023-01-05 16:38:07 -05:00
Wollnashorn
1896bc9987
video_core/vulkan: Vulkan driver pipelines now contain cache version
...
So that old cache can get deleted when the cache version changes and does not grow infinitely
2023-01-05 21:03:01 +01:00
Wollnashorn
7ba5544a6c
video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache
2023-01-05 21:03:01 +01:00
Wollnashorn
1011652852
config: Set the Vulkan driver pipeline cache option to be global
2023-01-05 21:03:01 +01:00
Wollnashorn
8a9ebe4146
video_core/vulkan: Added check if Vulkan pipeline path has been set
2023-01-05 21:03:01 +01:00
Wollnashorn
0b17b4edd2
config: Better wording for VK pipeline cache option and enable by default
2023-01-05 21:03:01 +01:00
Wollnashorn
2b153d8734
yuzu-cmd: Removed use_vulkan_driver_pipeline_cache
from default_ini.h
...
The addition of the use_vulkan_driver_pipeline_cache option into the default ini string literal caused the 16,384-byte limit of the MSVC compiler to be exceeded.
2023-01-05 21:03:01 +01: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
liamwhite
53e9f8a75d
Merge pull request #9557 from FernandoS27/ooops-i-killed-the-shitty-drivers
...
Vulkan: Fix drivers that don't support dynamic_state_2 up
2023-01-05 00:14:01 -05:00
Fernando Sahmkow
660ea18f85
Vulkan: Fix drivers that don't support dynamic_state_2 up
2023-01-05 00:11:16 -05:00
liamwhite
0415135f8c
Merge pull request #9501 from FernandoS27/yfc-rel-2
...
Yuzu Fried Chicken Part 1.5: MacroHLE Rework and Dynamic State
2023-01-04 21:20:00 -05:00
Fernando Sahmkow
e5d02ff039
yuzu-ui: Add setting for disabling macro HLE
2023-01-04 14:56:52 -05:00
Fernando Sahmkow
1fdf24a081
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
Fernando Sahmkow
62fc8bfe16
Texture Cache: Implement async texture downloads.
2023-01-03 22:52:15 -05:00
liamwhite
25b5675997
Merge pull request #9518 from gidoly/revert-9504-pg2
...
Revert "k_page_group: synchronize"
2023-01-03 21:40:57 -05:00
Fernando Sahmkow
98b7ebe02d
Vulkan: Update blacklisting to latest driver versions.
2023-01-03 21:16:43 -05:00
Fernando Sahmkow
872f2e7de6
ShaderCompiler: Inline driver specific constants.
2023-01-03 16:29:25 -05:00
Fernando Sahmkow
efd5661978
Vulkan: rework stencil tracking.
2023-01-03 16:29:16 -05:00
liamwhite
74a8a0cf56
Merge pull request #9547 from MonsterDruide1/tas-doesnt-flap
...
TAS: Immediately switch stick to TAS on input
2023-01-03 15:03:58 -05:00
MonsterDruide1
ffc89d8b84
TAS: Immediately switch stick to TAS on input
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-03 20:08:25 +01:00
liamwhite
d6d31f90b7
Merge pull request #9542 from abouvier/cmake-module-path
...
cmake: move find-modules to root cmake dir
2023-01-02 13:45:36 -05:00
Alexandre Bouvier
eac2672a41
cmake: move find-modules to root cmake dir
2023-01-02 18:22:07 +01:00
liamwhite
69fd6d4117
Merge pull request #9541 from abouvier/cmake-option
...
cmake: allow options shadowing with normal variables
2023-01-02 11:29:32 -05:00
liamwhite
312d83eb72
Merge pull request #9540 from MonsterDruide1/tas-sanitized-record
...
TAS: Record sanitized instead of raw stick inputs
2023-01-02 09:51:29 -05:00
bunnei
942ca592b0
Merge pull request #9537 from abouvier/cmake-almost-quiet
...
cmake: improve find_package failure messages
2023-01-02 01:08:20 -08:00
bunnei
f17ff927e0
Merge pull request #9543 from german77/nifm
...
service: nifm: Initialize request state
2023-01-01 21:38:43 -08:00
german77
011f49a00b
service: nifm: Initialize request state
2023-01-01 20:58:08 -06:00
german77
991ea9ab41
service: nifm: Match documentation names
2023-01-01 20:58:01 -06:00
Alexandre Bouvier
37d8c9a305
cmake: allow options shadowing with normal variables
2023-01-02 02:43:38 +01:00
Alexandre Bouvier
d1b330c582
cmake: improve find_package failure messages
2023-01-02 02:27:25 +01: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
ea140a70fa
Rasterizer: Setup skeleton for Host Conditional rendering
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
3ea10762d2
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
e9e619b605
Vulkan: Allow stagging buffer deferrals.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
f7b16c30f1
MacroHLE: Add OpenGL Support
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
95d314ebec
Vulkan: Add other additional pipeline specs
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