Commit Graph

20338 Commits (b6e5a6bda8a71b4cc53aa0b6d4a45910ac04ac9e)

Author SHA1 Message Date
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.
2 years ago
Fernando S 8b251fc3f6
Merge pull request #9535 from bylaws/master
Port over several shader-compiler fixes from skyline
2 years ago
liamwhite 3c05988df2
Merge pull request #9561 from liamwhite/update-dynarmic
externals: update dynarmic, xbyak
2 years ago
liamwhite 6d74490139
Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
net: Silently translate ETIMEDOUT network error
2 years ago
liamwhite 020dbcdbc7
Merge pull request #9552 from liamwhite/turbo
vulkan: implement 'turbo mode' clock booster
2 years ago
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
2 years ago
Fernando Sahmkow f6245dc40a MacroHLE: eliminate 2 rushed macros. 2 years ago
Narr the Reg 8042ce7e19 input_common: Create an update engine 2 years ago
liamwhite eaca61e073
Merge pull request #9528 from liamwhite/mvk-nulldesc
renderer_vulkan: implement fallback path for null buffer descriptors
2 years ago
liamwhite 3e33a878dc
Merge pull request #9536 from liamwhite/debug-utils
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2 years ago
Liam 1ee0540f82 externals: update dynarmic, xbyak 2 years ago
Billy Laws 58fec43768 Run clang-format 2 years ago
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.
2 years ago
Billy Laws 6c812a0c84 Vulkan, OpenGL: Hook up geometry shader passthrough emulation 2 years ago
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.
2 years ago
Billy Laws 9e2997c4b6 Vulkan, OpenGL: Hook up storage buffer alignment code 2 years ago
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.
2 years ago
Billy Laws 3f0985c7b0 shader_recompiler: SPIRV: Only enable int64 feature when supported 2 years ago
Billy Laws c1cc99584c shader_recompiler: Add comparison operators to descriptor types 2 years ago
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.
2 years ago
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
2 years ago
Wollnashorn 9c9008ac81 video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache 2 years ago
Wollnashorn 8945fafcc0 config: Set the Vulkan driver pipeline cache option to be global 2 years ago
Wollnashorn f2aa816679 video_core/vulkan: Added check if Vulkan pipeline path has been set 2 years ago
Wollnashorn f4626512ff config: Better wording for VK pipeline cache option and enable by default 2 years ago
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.
2 years ago
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.
2 years ago
Fernando Sahmkow b56ad93bbc BufferBase: Don't ignore GPU pages. 2 years ago
Fernando Sahmkow 2d0c4f2b1d Fermi2D: sync cache flushes 2 years ago
Fernando Sahmkow af5ecb0b15 MemoryManager: use fastmem directly. 2 years ago
MonsterDruide1 688a9fbfa6 net: Silently translate ETIMEDOUT network error 2 years ago
Fernando Sahmkow 6c7eb81f7d video_core: Cache GPU internal writes. 2 years ago
Fernando Sahmkow 4d9af4a9d2 Vulkan: Fix drivers that don't support dynamic_state_2 up 2 years ago
Feng Chen 013b689153 video_core: Implement opengl/vulkan draw_texture 2 years ago
Feng Chen 1e8cee2ddf video_core: Implement maxwell3d draw texture method 2 years ago
Alexandre Bouvier d0fe27708e tests: update catch2 to 3.0.1 2 years ago
Liam a4269c285a common: add setting for renderer clock workaround 2 years ago
Liam 301e9bbc03 vulkan: implement 'turbo mode' clock booster 2 years ago
Liam 66ae79de13 renderer_vulkan: implement fallback path for null descriptors 2 years ago
liamwhite b78328f19a
Merge pull request #9501 from FernandoS27/yfc-rel-2
Yuzu Fried Chicken Part 1.5: MacroHLE Rework and Dynamic State
2 years ago
Fernando Sahmkow 3ecc03ec1b yuzu-ui: Add setting for disabling macro HLE 2 years ago
Fernando Sahmkow a0c697124c Video_core: Address feedback 2 years ago
Fernando Sahmkow 03ccd8bf43 Texture Cache: Implement async texture downloads. 2 years ago
liamwhite bbeb6e460c
Merge pull request #9518 from gidoly/revert-9504-pg2
Revert "k_page_group: synchronize"
2 years ago
Fernando Sahmkow ddbf851ef6 Vulkan: Update blacklisting to latest driver versions. 2 years ago
Fernando Sahmkow a045e860dd ShaderCompiler: Inline driver specific constants. 2 years ago
Fernando Sahmkow b62ffb612d Vulkan: rework stencil tracking. 2 years ago
MonsterDruide1 04cb05fce0 TAS: Immediately switch stick to TAS on input
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2 years ago
Alexandre Bouvier eceee8c3d9 cmake: move find-modules to root cmake dir 2 years ago
liamwhite 6804a43f49
Merge pull request #9540 from MonsterDruide1/tas-sanitized-record
TAS: Record sanitized instead of raw stick inputs
2 years ago
german77 80bcc18788 service: nifm: Initialize request state 2 years ago
german77 ebd811b535 service: nifm: Match documentation names 2 years ago
Liam f9c6d39a6c vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1 2 years ago
Liam 4814d87385 video_core: fix build 2 years ago
Fernando Sahmkow d09aa0182f MacroHLE: Final cleanup and fixes. 2 years ago
Fernando Sahmkow 581a7d785b Rasterizer: Setup skeleton for Host Conditional rendering 2 years ago
Fernando Sahmkow 3630bfaef3 RasterizerMemory: Add filtering for flushing/invalidation operations. 2 years ago
Fernando Sahmkow 2793304117 Vulkan: Allow stagging buffer deferrals. 2 years ago
Fernando Sahmkow 8d694701bc MacroHLE: Add OpenGL Support 2 years ago
Fernando Sahmkow 4c82e47edd Vulkan: Add other additional pipeline specs 2 years ago
Fernando Sahmkow d33251db93 Vulkan: Implement Dynamic State 3 2 years ago
Fernando Sahmkow f800e485c9 Vulkan Implement Dynamic State 2 LogicOp and PatchVertices 2 years ago
Fernando Sahmkow c897c55e3c Vulkan: Implement Dynamic States 2 2 years ago
Fernando Sahmkow cb1497d0d7 DMAPusher: Improve collection of non executing methods 2 years ago
Fernando Sahmkow ce448ce770 Revert Buffer cache changes and setup additional macros. 2 years ago
Fernando Sahmkow 18637766ef MacroHLE: Reduce massive calculations on sizing estimation. 2 years ago
Fernando Sahmkow aad0cbf024 MacroHLE: Add HLE replacement for base vertex and base instance. 2 years ago
Fernando Sahmkow 93ac5a6a6d MacroHLE: Add Index Buffer size estimation. 2 years ago
Fernando Sahmkow c541559767 MacroHLE: Refactor MacroHLE system. 2 years ago
Fernando Sahmkow 0f89828073 MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. 2 years ago
Fernando Sahmkow a5a94f52ff MacroHLE: Add MultidrawIndirect HLE Macro. 2 years ago
MonsterDruide1 d46c9c4659 TAS: Record sanitized instead of raw stick inputs
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2 years ago
Merry bee395d2f0 vfs: Replace cstr concat with char concat 2 years ago
Liam aa13ee5c4a vulkan_common: unify VK_EXT_debug_utils and selection of validation layer 2 years ago
liamwhite 92103d4ff3
Merge pull request #9533 from merryhime/overcommit
host_memory: mmap changes for virtual_base
2 years ago
liamwhite 0b228fde15
Merge pull request #9514 from ColinKinloch/en_gb
settings: warn on invalid regon/language combinations
2 years ago
Merry fd1831b65b host_memory: Use transparent huge pages where available 2 years ago
Merry 4d7be85e73 host_memory: Allocate virtual_base with MAP_NORESERVE
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2 years ago
Colin Kinloch 28cfc2146f settings: comment language blocklist columns 2 years ago
bunnei 05c709bebe core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps. 2 years ago
bunnei c3af6d8372
Merge pull request #9515 from liamwhite/cmake-refactor
CMake: make more features optional
2 years ago
Wollnashorn 1df5d12b19 config: Save multiplayer settings only globally
Saved multiplayer settings like the nickname, remote address, etc. were reset everytime a game was booted up and the game-specific config files were loaded, as these values will never be set.
2 years ago
Colin Kinloch 8594f287b8 settings: added regon/language warning bounds check 2 years ago
gidoly 10eaf31af3
Revert "k_page_group: synchronize" 2 years ago
liamwhite 9fdacb5e3a
Merge pull request #9423 from vonchenplus/vulkan_quad_strip
video_core: Implement all vulkan topology
2 years ago
Liam c18cf05a06 cmake: make cubeb and SDL2 optional 2 years ago
bunnei 60419dd35e
Merge pull request #9504 from liamwhite/pg2
k_page_group: synchronize
2 years ago
Liam be43b62d79 cmake: make libusb optional 2 years ago
Liam 106cf27135 cmake: make room server optional 2 years ago
Colin Kinloch 2ccf175324 settings: warn on invalid regon/language combinations 2 years ago
bunnei c5de54d509
Merge pull request #9490 from ameerj/texture-cache-prealloc
texture_cache: Use pre-allocated heap buffer for texture swizzles
2 years ago
bunnei 343c01b87a
Merge pull request #9495 from german77/no_refresh
yuzu: Automatically refresh device list
2 years ago
Alexandre Bouvier dce2649daf
tests: add missing header
<cstring> is needed for std::memcpy
2 years ago
FengChen 6a397bc8ed video_core: Implement other missing vulkan topology 2 years ago
FengChen 86d5b4e556 video_core: Implement vulkan QuadStrip topology 2 years ago
MonsterDruide1 bc4126acd7 TAS: Increase accuracy of Stick inputs 2 years ago
ameerj 7584d36922 texture_cache: Use Common::ScratchBuffer for swizzle buffers 2 years ago
ameerj 1209d428f1 texture_cache: Use pre-allocated buffer for texture downloads 2 years ago
ameerj c448b3af2f texture_cache: Use pre-allocated buffer for texture uploads 2 years ago
Liam 28d9c30861 k_page_table: remove HACK_OpenPages/ClosePages 2 years ago
Liam 3392fdac9b k_page_group: synchronize 2 years ago
liamwhite 9933121256
Merge pull request #9500 from liamwhite/reentrant-shutdown
qt: prevent reentrant shutdown
2 years ago
liamwhite c6767704fb
Merge pull request #9496 from liamwhite/shm3
kernel: workaround static shared memory initialization
2 years ago
liamwhite ea70d9c79e
Merge pull request #9487 from liamwhite/look-at-the-time
time: add LockFreeAtomicType
2 years ago
Fernando S 3e6850f00b
Merge pull request #9453 from ameerj/scratch-vector
common: Add ScratchBuffer Class
2 years ago
Liam cb7f0c2ec3 qt: prevent reentrant shutdown 2 years ago
liamwhite c86e21abe4
qt: fix 'Pause' menu item (#9497) 2 years ago
Chris Oboe 201733d1b5
Disable automatically opening the console on windows yuzu-cmd builds (#9485)
* don't automatically open the console on windows build of yuzu-cmd

* fix formatting
2 years ago
liamwhite db15142ac9
Merge pull request #9476 from liamwhite/async-shutdown
qt: continue event loop during game close
2 years ago
Liam 646656412f qt: fix uninitialized memory usage 2 years ago
german77 c3a5522830 yuzu: Automatically refresh device list 2 years ago
Liam 99eccf581e kernel: workaround static shared memory initialization 2 years ago
Liam 80670a5b6c time: add LockFreeAtomicType 2 years ago
Liam 60ce34aa80 qt: exit properly on guest-initiated close 2 years ago
Liam ae6015a69b qt: use main window as close overlay parent 2 years ago
Liam 053ad04d3f qt: continue event loop during game close 2 years ago
liamwhite 1b11e0f0d3
Merge pull request #9463 from liamwhite/manager-events
EmuThread: refactor
2 years ago
ameerj c6590ad07b scratch_buffer: Explicitly defing resize and resize_destructive functions
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2 years ago
liamwhite 6cb6b2da8e
Merge pull request #9480 from jbeich/vk-238
externals: update Vulkan-Headers to v1.3.238 to fix -Werror=switch with system package
2 years ago
ameerj 64869807e2 tests: Add ScratchBuffer tests 2 years ago
ameerj 61e4f2d931 dma_pusher: Rework command_headers usage
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2 years ago
ameerj bdef22ff85 buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage 2 years ago
ameerj 4bc2d82130 video_core: Add usages of ScratchBuffer 2 years ago
ameerj cfc34dd41d common: Add ScratchBuffer class
This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize
is redundant.
2 years ago
ameerj 88ba5a7f22 common: add make_unique_for_overwrite 2 years ago
Matías Locatti e44d1fe73c
Merge pull request #9474 from liamwhite/timer
kernel: add KHardwareTimer
2 years ago
Jan Beich b60a93a936 externals: update Vulkan-Headers to v1.3.238 2 years ago
liamwhite 42d81aab32
Merge pull request #9471 from german77/input
input_common: Cleanup project
2 years ago
Morph 690a4c9438 overlay_dialog: Avoid starting the input thread if non-interactive 2 years ago
Morph 190ded7f48 overlay_dialog: Hide button dialog box when both buttons are hidden
This allows for the creation of a non-interactive dialog overlay to display system messages.
2 years ago
Liam c770f25ccb kernel: remove TimeManager 2 years ago
Liam 67c0d714c5 kernel: add KHardwareTimer 2 years ago
german77 cf01a507fb input_common: Cleanup project 2 years ago
liamwhite fcc93a445f
Merge pull request #9470 from german77/silenceIkillYou
service: nfc: Silence ListDevices
2 years ago
german77 79f1f326c7 service: nfc: Silence ListDevices 2 years ago
liamwhite 2724ffd6e3
Merge pull request #9469 from Rubo3/patch-1
Use execlp instead of execl to avoid failure
2 years ago
liamwhite ee71404d71
Merge pull request #9467 from german77/folder
yuzu: Remember last selected directory
2 years ago
Marco Rubin 56b0f979eb
Use execlp instead of execl to avoid failure 2 years ago
german77 c218c7d4da yuzu: Remember last selected directory 2 years ago
german77 f999d268f9 bootmanager: Use proper camera size 2 years ago
german77 c489cbee29 bootmanager: Encapsulate all QCamera code 2 years ago
german77 dffeca66fa yuzu: fix device name setting 2 years ago
Matías Locatti fd1ea0fd84
Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442)
* Testing LTO (#4)

* Testing LTO

* clang

* linux

* Added the rest of Blinkhawk's optimizations

* Unlikely asserts

* Removing LTO from Linux builds - GCC

* Removing LTO from Linux builds - Clang
2 years ago
bunnei 48108a8c9b
Merge pull request #9456 from german77/virtual_gamepad
input_common: Add virtual gamepad
2 years ago
Liam 92ce241d4d qt: use _exit instead of exit on SIGINT 2 years ago
Liam d3123079e8 EmuThread: refactor 2 years ago
liamwhite 5da72a891f
Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2 years ago
Mai f8a7d6a0ae
Merge pull request #9461 from liamwhite/wanative
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2 years ago
Mai da31326c17
Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2 years ago
Liam 45672d43e3 qt: avoid setting WA_DontCreateNativeAncestors on all platforms 2 years ago