Liam
279005448a
vulkan_device: refactor feature testing
2023-01-09 16:12:16 +07:00
Fernando S
948ac976d1
Merge pull request #9583 from FernandoS27/fuck-ogl-already
...
VideoCore: Fix OGL cache invalidation.
2023-01-08 14:05:29 +07:00
Fernando Sahmkow
efbb6fe288
VideoCore: Fix OGL cache invalidation.
2023-01-07 21:56:17 +07:00
bunnei
66e4a48b75
Merge pull request #9563 from german77/crash_not_allowed
...
input_common: Create an update engine
2023-01-07 13:41:27 +07:00
liamwhite
926438b68d
Merge pull request #9578 from bylaws/patch-2
...
Avoid OOB array access reading passthrough attr mask
2023-01-07 15:14:08 +07:00
Billy Laws
d34275a260
Avoid OOB array access reading passthrough attr mask
...
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-07 18:38:21 +07:00
Narr the Reg
432d48d9c8
Merge pull request #9570 from liamwhite/less-clock-boost
...
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 +07:00
Narr the Reg
cc92b7fd94
Merge pull request #9573 from liamwhite/optional
...
vulkan_device: avoid attempt to access empty optional
2023-01-07 10:40:21 +07:00
Liam
444b25bae1
vulkan_device: avoid attempt to access empty optional
2023-01-06 21:23:21 +07:00
Liam
2e4dde12c7
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-06 19:07:47 +07:00
liamwhite
c0f17e1b27
Merge pull request #9567 from german77/antialias
...
opengl: Sanitize antialiasing config
2023-01-06 15:20:23 +07:00
Narr the Reg
4bda2b475f
opengl: Sanitize antialiasing config
2023-01-06 13:42:20 +07:00
Fernando S
7ef897a277
Merge pull request #9566 from Wollnashorn/vulkan-cache-header-fix
...
video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
2023-01-06 11:58:36 +07:00
Wollnashorn
457826a83b
video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
...
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
2023-01-06 16:52:41 +07:00
Fernando S
8b251fc3f6
Merge pull request #9535 from bylaws/master
...
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 +07:00
liamwhite
3c05988df2
Merge pull request #9561 from liamwhite/update-dynarmic
...
externals: update dynarmic, xbyak
2023-01-06 10:00:18 +07:00
liamwhite
6d74490139
Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
...
net: Silently translate ETIMEDOUT network error
2023-01-06 10:00:09 +07:00
liamwhite
020dbcdbc7
Merge pull request #9552 from liamwhite/turbo
...
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 +07:00
Fernando S
5bcbb8de45
Merge pull request #9559 from FernandoS27/cached-writes
...
VideoCore: Implement Cached Writes, use fastmem for reading GPU memory and eliminate old stuffs
2023-01-06 07:31:39 +07:00
liamwhite
990fe2b3fc
Merge pull request #9564 from FernandoS27/oops-i-did-it-again
...
MacroHLE: eliminate 2 rushed macros.
2023-01-05 22:14:27 +07:00
Fernando Sahmkow
f6245dc40a
MacroHLE: eliminate 2 rushed macros.
2023-01-05 20:53:31 +07:00
Narr the Reg
8042ce7e19
input_common: Create an update engine
2023-01-05 19:24:29 +07:00
liamwhite
eaca61e073
Merge pull request #9528 from liamwhite/mvk-nulldesc
...
renderer_vulkan: implement fallback path for null buffer descriptors
2023-01-05 18:31:55 +07:00
liamwhite
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 +07:00
Liam
1ee0540f82
externals: update dynarmic, xbyak
2023-01-05 18:06:06 +07:00
Billy Laws
58fec43768
Run clang-format
2023-01-05 22:18:10 +07:00
Billy Laws
12b4c9c04c
externals: Update sirit
2023-01-05 22:13:07 +07:00
Billy Laws
68ed60cee4
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 +07:00
Billy Laws
6c812a0c84
Vulkan, OpenGL: Hook up geometry shader passthrough emulation
2023-01-05 22:13:07 +07:00
Billy Laws
625a4af73a
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 +07:00
Billy Laws
9e2997c4b6
Vulkan, OpenGL: Hook up storage buffer alignment code
2023-01-05 22:13:07 +07:00
Billy Laws
8804a4eb23
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 +07:00
Billy Laws
3f0985c7b0
shader_recompiler: SPIRV: Only enable int64 feature when supported
2023-01-05 22:13:07 +07:00
Billy Laws
c1cc99584c
shader_recompiler: Add comparison operators to descriptor types
2023-01-05 22:13:07 +07:00
Billy Laws
bbfad79c89
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 +07:00
Fernando S
1428451722
Merge pull request #9527 from Wollnashorn/amd-cache-fix
...
video_core/vulkan: Implemented `VkPipelineCache` to store Vulkan pipelines
2023-01-05 16:38:07 +07:00
Wollnashorn
e07976a22b
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 +07:00
Wollnashorn
9c9008ac81
video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache
2023-01-05 21:03:01 +07:00
Wollnashorn
8945fafcc0
config: Set the Vulkan driver pipeline cache option to be global
2023-01-05 21:03:01 +07:00
Wollnashorn
f2aa816679
video_core/vulkan: Added check if Vulkan pipeline path has been set
2023-01-05 21:03:01 +07:00
Wollnashorn
f4626512ff
config: Better wording for VK pipeline cache option and enable by default
2023-01-05 21:03:01 +07:00
Wollnashorn
67d4f190f7
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 +07:00
Wollnashorn
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 +07:00
Fernando Sahmkow
b56ad93bbc
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 +07:00
Fernando Sahmkow
2d0c4f2b1d
Fermi2D: sync cache flushes
2023-01-05 06:43:28 +07:00
Fernando Sahmkow
af5ecb0b15
MemoryManager: use fastmem directly.
2023-01-05 06:06:33 +07:00
MonsterDruide1
688a9fbfa6
net: Silently translate ETIMEDOUT network error
2023-01-05 11:54:36 +07:00
Fernando Sahmkow
6c7eb81f7d
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 +07:00
liamwhite
e82e3e06be
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 +07:00
Fernando Sahmkow
4d9af4a9d2
Vulkan: Fix drivers that don't support dynamic_state_2 up
2023-01-05 00:11:16 +07:00