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.
3 years ago
Billy Laws
00c51d0a4f
Vulkan, OpenGL: Hook up geometry shader passthrough emulation
3 years ago
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.
3 years ago
Billy Laws
195248d6fe
Vulkan, OpenGL: Hook up storage buffer alignment code
3 years ago
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.
3 years ago
Billy Laws
3772cfc976
shader_recompiler: SPIRV: Only enable int64 feature when supported
3 years ago
Billy Laws
d862241ba7
shader_recompiler: Add comparison operators to descriptor types
3 years ago
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.
3 years ago
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
3 years ago
Wollnashorn
7ba5544a6c
video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache
3 years ago
Wollnashorn
1011652852
config: Set the Vulkan driver pipeline cache option to be global
3 years ago
Wollnashorn
8a9ebe4146
video_core/vulkan: Added check if Vulkan pipeline path has been set
3 years ago
Wollnashorn
0b17b4edd2
config: Better wording for VK pipeline cache option and enable by default
3 years ago
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.
3 years ago
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.
3 years ago
Fernando Sahmkow
d777ec15f8
BufferBase: Don't ignore GPU pages.
3 years ago
Fernando Sahmkow
91e1c7a727
Fermi2D: sync cache flushes
3 years ago
Fernando Sahmkow
7f18e3bb89
MemoryManager: use fastmem directly.
3 years ago
MonsterDruide1
3eb787dcef
net: Silently translate ETIMEDOUT network error
3 years ago
Fernando Sahmkow
8eafb91af0
video_core: Cache GPU internal writes.
3 years ago
Fernando Sahmkow
660ea18f85
Vulkan: Fix drivers that don't support dynamic_state_2 up
3 years ago
Feng Chen
3b5e1a24bc
video_core: Implement opengl/vulkan draw_texture
3 years ago
Feng Chen
79268b94de
video_core: Implement maxwell3d draw texture method
3 years ago
Alexandre Bouvier
5c2cf39455
tests: update catch2 to 3.0.1
3 years ago
Liam
d9b2bc7f04
common: add setting for renderer clock workaround
3 years ago
Liam
1a32e03a0f
vulkan: implement 'turbo mode' clock booster
3 years ago
Liam
2e1c5b8310
renderer_vulkan: implement fallback path for null descriptors
3 years ago
Fernando Sahmkow
e5d02ff039
yuzu-ui: Add setting for disabling macro HLE
3 years ago
Fernando Sahmkow
1fdf24a081
Video_core: Address feedback
3 years ago
Fernando Sahmkow
62fc8bfe16
Texture Cache: Implement async texture downloads.
3 years ago
Fernando Sahmkow
98b7ebe02d
Vulkan: Update blacklisting to latest driver versions.
3 years ago
Fernando Sahmkow
872f2e7de6
ShaderCompiler: Inline driver specific constants.
3 years ago
Fernando Sahmkow
efd5661978
Vulkan: rework stencil tracking.
3 years ago
MonsterDruide1
ffc89d8b84
TAS: Immediately switch stick to TAS on input
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
3 years ago
Alexandre Bouvier
eac2672a41
cmake: move find-modules to root cmake dir
3 years ago
german77
011f49a00b
service: nifm: Initialize request state
3 years ago
german77
991ea9ab41
service: nifm: Match documentation names
3 years ago
Liam
527c844a44
vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1
3 years ago
Liam
af9b730db8
video_core: fix build
3 years ago
Fernando Sahmkow
e6e49e584f
MacroHLE: Final cleanup and fixes.
3 years ago
Fernando Sahmkow
ea140a70fa
Rasterizer: Setup skeleton for Host Conditional rendering
3 years ago
Fernando Sahmkow
3ea10762d2
RasterizerMemory: Add filtering for flushing/invalidation operations.
3 years ago
Fernando Sahmkow
e9e619b605
Vulkan: Allow stagging buffer deferrals.
3 years ago
Fernando Sahmkow
f7b16c30f1
MacroHLE: Add OpenGL Support
3 years ago
Fernando Sahmkow
95d314ebec
Vulkan: Add other additional pipeline specs
3 years ago
Fernando Sahmkow
67a706d812
Vulkan: Implement Dynamic State 3
3 years ago
Fernando Sahmkow
af68dc011b
Vulkan Implement Dynamic State 2 LogicOp and PatchVertices
3 years ago
Fernando Sahmkow
dc0f7dea8f
Vulkan: Implement Dynamic States 2
3 years ago
Fernando Sahmkow
4bf1ee5bdc
DMAPusher: Improve collection of non executing methods
3 years ago
Fernando Sahmkow
d2643a61c3
Revert Buffer cache changes and setup additional macros.
3 years ago