Fernando Sahmkow
4cb1b7a60a
VideoCore: Fix OGL cache invalidation.
2023-01-07 21:56:17 -05:00
bunnei
dfbfc1b89b
Merge pull request #9563 from german77/crash_not_allowed
...
input_common: Create an update engine
2023-01-07 13:41:27 -08:00
liamwhite
002e1e9e68
Merge pull request #9578 from bylaws/patch-2
...
Avoid OOB array access reading passthrough attr mask
2023-01-07 15:14:08 -05:00
Billy Laws
ea68f05d8f
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 +00:00
Narr the Reg
a445e93e52
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
Narr the Reg
034e292657
Merge pull request #9573 from liamwhite/optional
...
vulkan_device: avoid attempt to access empty optional
2023-01-07 10:40:21 -06:00
Liam
f82c3649c3
vulkan_device: avoid attempt to access empty optional
2023-01-06 21:23:21 -05:00
Liam
652b95d1b8
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-06 19:07:47 -05:00
liamwhite
1fbeefd573
Merge pull request #9567 from german77/antialias
...
opengl: Sanitize antialiasing config
2023-01-06 15:20:23 -05:00
Narr the Reg
c5a006cb24
opengl: Sanitize antialiasing config
2023-01-06 13:42:20 -06:00
Fernando S
eabc1afbd5
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 -05:00
Wollnashorn
dcf8c4b4c8
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 +01:00
Fernando S
6adfb0ab14
Merge pull request #9535 from bylaws/master
...
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00
liamwhite
bd9882cd7d
Merge pull request #9561 from liamwhite/update-dynarmic
...
externals: update dynarmic, xbyak
2023-01-06 10:00:18 -05:00
liamwhite
be16c84eca
Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
...
net: Silently translate ETIMEDOUT network error
2023-01-06 10:00:09 -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
Fernando S
7adf046099
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 -05:00
liamwhite
f86cdc5881
Merge pull request #9564 from FernandoS27/oops-i-did-it-again
...
MacroHLE: eliminate 2 rushed macros.
2023-01-05 22:14:27 -05:00
Fernando Sahmkow
d46062e354
MacroHLE: eliminate 2 rushed macros.
2023-01-05 20:53:31 -05:00
Narr the Reg
243f2931b5
input_common: Create an update engine
2023-01-05 19:24:29 -06: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
Liam
7429e31f30
externals: update dynarmic, xbyak
2023-01-05 18:06:06 -05:00
Billy Laws
535e297ebd
Run clang-format
2023-01-05 22:18:10 +00:00
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
Fernando Sahmkow
d777ec15f8
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 -05:00
Fernando Sahmkow
91e1c7a727
Fermi2D: sync cache flushes
2023-01-05 06:43:28 -05:00
Fernando Sahmkow
7f18e3bb89
MemoryManager: use fastmem directly.
2023-01-05 06:06:33 -05:00
MonsterDruide1
3eb787dcef
net: Silently translate ETIMEDOUT network error
2023-01-05 11:54:36 +01:00
Fernando Sahmkow
8eafb91af0
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 -05: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
Liam
d9b2bc7f04
common: add setting for renderer clock workaround
2023-01-04 22:22:01 -05:00
Liam
1a32e03a0f
vulkan: implement 'turbo mode' clock booster
2023-01-04 22:22:01 -05:00