Commit graph

20782 commits

Author SHA1 Message Date
Liam f28fbaa41e debugger: add host fastmem pointer fetch command 2023-01-12 18:35:14 -05:00
Liam 0c15ac5084 nvnflinger: correct swap interval handling 2023-01-11 22:05:08 -05:00
bunnei c45b1d8723 Merge pull request #9605 from german77/mouse_mapping
yuzu: Read mouse scroll
2023-01-10 17:32:58 -08:00
Narr the Reg b6721a40fe yuzu: Read mouse wheel input 2023-01-10 18:20:58 -06:00
Morph bd62fdca7a Merge pull request #9596 from liamwhite/mvk
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-10 18:11:44 -05:00
liamwhite d4203d9eab Merge pull request #9582 from yuzu-emu/revert-9518-revert-9504-pg2
Revert "Revert "k_page_group: synchronize""
2023-01-10 15:27:33 -05:00
liamwhite a7b9101f31 Merge pull request #9601 from liamwhite/it-never-ends
qt: unlock during signal emission
2023-01-10 15:27:12 -05:00
liamwhite 137fd04391 Merge pull request #9598 from liamwhite/indirect
vulkan_common: fix indirect draw with count
2023-01-10 15:27:02 -05:00
liamwhite e828378dc4 Merge pull request #9595 from liamwhite/per-game
qt: fix configuration weirdness on turbo
2023-01-10 15:26:49 -05:00
liamwhite 067831de41 Merge pull request #9565 from MonsterDruide1/tas-multiplayer-lengths
TAS: Show all script lengths for multiplayer
2023-01-10 15:26:36 -05:00
Liam d4f46c3f04 qt: unlock during signal emission 2023-01-10 12:46:01 -05:00
Liam 73c62bbc7a vulkan_common: fix indirect draw with count 2023-01-10 09:43:36 -05:00
TellowKrinkle 6e8caa48e7 MoltenVK: restrict number of vertex attributes/bindings to 16 2023-01-09 19:01:09 -05:00
Liam 0cbb5cd1f0 qt: fix configuration weirdness on turbo 2023-01-09 17:54:49 -05:00
UltraHDR 3efc13dd54 macOS: Make Yuzu show up in the Launchpad Games folder (#9594)
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the Launchpad Games folder
2023-01-09 16:43:45 -05:00
Morph fcbaec0a9c Merge pull request #9589 from liamwhite/default
renderer_vulkan: disable turbo by default
2023-01-09 16:23:24 -05:00
Morph c6b5b96efa Merge pull request #9581 from liamwhite/turbo2
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-09 16:23:16 -05:00
Morph f55f8f3d7f Merge pull request #9530 from liamwhite/vk-feature-init
vulkan_device: refactor feature testing
2023-01-09 16:23:04 -05:00
Morph f408cc6ad0 Merge pull request #9569 from liamwhite/shutdown-wars
qt: additional fixes for reentrant shutdown
2023-01-09 16:21:27 -05:00
Liam 8157a52821 vulkan_device: refactor feature testing 2023-01-09 16:12:16 -05:00
Liam a9d96415c4 renderer_vulkan: disable turbo by default 2023-01-08 11:38:30 -05:00
Fernando Sahmkow 4cb1b7a60a VideoCore: Fix OGL cache invalidation. 2023-01-07 21:56:17 -05:00
bunnei 1bd2034592 Revert "Revert "k_page_group: synchronize"" 2023-01-07 15:32:10 -08: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
Liam 5d93c3bb00 Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb.
2023-01-07 15:50:58 -05:00
Liam ecf4f380b6 Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
This reverts commit 195248d6fe.
2023-01-07 15:48:50 -05:00
MonsterDruide1 a1bec20a60 TAS: Show all script lengths for multiplayer 2023-01-07 21:15:37 +01:00
Liam a2853754c4 renderer_vulkan: pause turbo submissions on inactive queue 2023-01-07 14:35:11 -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
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
Liam 76c4ba3ee5 qt: additional fixes for reentrant shutdown 2023-01-06 18:50:01 -05:00
Narr the Reg c5a006cb24 opengl: Sanitize antialiasing config 2023-01-06 13:42:20 -06: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
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 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
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
Fernando Sahmkow 660ea18f85 Vulkan: Fix drivers that don't support dynamic_state_2 up 2023-01-05 00:11:16 -05:00
Feng Chen 3b5e1a24bc video_core: Implement opengl/vulkan draw_texture 2023-01-05 12:41:33 +08:00
Feng Chen 79268b94de video_core: Implement maxwell3d draw texture method 2023-01-05 12:41:28 +08:00
Alexandre Bouvier 5c2cf39455 tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01: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
Liam 2e1c5b8310 renderer_vulkan: implement fallback path for null descriptors 2023-01-04 22:14:01 -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
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
Alexandre Bouvier eac2672a41 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01: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
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
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
Fernando Sahmkow 4bf1ee5bdc DMAPusher: Improve collection of non executing methods 2023-01-01 16:43:57 -05:00
Fernando Sahmkow d2643a61c3 Revert Buffer cache changes and setup additional macros. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 12a76465b9 MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 7842543573 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow 209ce46a9f MacroHLE: Add Index Buffer size estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow b4fcb0b2b2 MacroHLE: Refactor MacroHLE system. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow b5b0ec9429 MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow f2f2784817 MacroHLE: Add MultidrawIndirect HLE Macro. 2023-01-01 16:43:57 -05:00
MonsterDruide1 9e783cc922 TAS: Record sanitized instead of raw stick inputs
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-01 22:39:18 +01:00
Merry 68008d9b80 vfs: Replace cstr concat with char concat 2023-01-01 18:52:02 +00:00
Liam 86854a2384 vulkan_common: unify VK_EXT_debug_utils and selection of validation layer 2023-01-01 11:59:47 -05:00
liamwhite c661801eca Merge pull request #9533 from merryhime/overcommit
host_memory: mmap changes for virtual_base
2023-01-01 10:24:07 -05:00
liamwhite ff55fb625c Merge pull request #9514 from ColinKinloch/en_gb
settings: warn on invalid regon/language combinations
2023-01-01 10:23:46 -05:00
Merry 0abd0d6af9 host_memory: Use transparent huge pages where available 2023-01-01 11:40:35 +00:00
Merry 192f349e5f host_memory: Allocate virtual_base with MAP_NORESERVE
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
Colin Kinloch edaac481d1 settings: comment language blocklist columns 2022-12-30 13:51:35 +00:00
bunnei d466f5e2b8 core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps. 2022-12-30 00:14:53 -08:00
bunnei 90a07c90f0 Merge pull request #9515 from liamwhite/cmake-refactor
CMake: make more features optional
2022-12-29 23:37:25 -05:00
Wollnashorn 446003088b 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.
2022-12-30 02:32:58 +01:00
Colin Kinloch e7feff53e7 settings: added regon/language warning bounds check 2022-12-29 15:55:24 +00:00
gidoly 118d57a8f0 Revert "k_page_group: synchronize" 2022-12-29 17:39:42 +09:00
liamwhite 22f12c976e Merge pull request #9423 from vonchenplus/vulkan_quad_strip
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
ameerj ddbee432b2 hle_ipc: Use thread_local ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj 713394d526 hle_ipc: Rename ReadBufferSpan to ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj 571d469697 hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj 53650d2701 bsd: Use std::span for read payloads
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:54 -05:00
ameerj 8a59719bd2 nvdrv: Use std::span for inputs
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj de252703bd hidbus: Use ReadBufferSpan 2022-12-28 18:46:53 -05:00
Liam 0e00bb1111 cmake: make cubeb and SDL2 optional 2022-12-28 17:29:32 -05:00
bunnei 14e92fe752 Merge pull request #9504 from liamwhite/pg2
k_page_group: synchronize
2022-12-28 17:28:31 -05:00
Liam 41ba0d07e6 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Liam 2f2f9326f3 cmake: make room server optional 2022-12-28 17:18:27 -05:00
Colin Kinloch 5de4ef224e settings: warn on invalid regon/language combinations 2022-12-28 20:34:28 +00:00
bunnei 3d334f6ab3 Merge pull request #9490 from ameerj/texture-cache-prealloc
texture_cache: Use pre-allocated heap buffer for texture swizzles
2022-12-27 00:07:35 -05:00
bunnei 6e4511db47 Merge pull request #9495 from german77/no_refresh
yuzu: Automatically refresh device list
2022-12-27 00:07:13 -05:00
Alexandre Bouvier 8cb4e6b641 tests: add missing header
<cstring> is needed for std::memcpy
2022-12-26 04:26:31 +00:00
FengChen 690070f088 video_core: Implement other missing vulkan topology 2022-12-26 12:20:49 +08:00
FengChen 2572668950 video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
ameerj 4531881bfd nvflinger: Split Parcel class into InputParcel and OutputParcel
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
ameerj db9a523aae service: Use ReadBufferSpan where it is trivial to do so 2022-12-25 17:04:02 -05:00
MonsterDruide1 f33599d41c TAS: Increase accuracy of Stick inputs 2022-12-25 21:49:09 +01:00
ameerj d45c01bd13 texture_cache: Use Common::ScratchBuffer for swizzle buffers 2022-12-25 15:47:41 -05:00
ameerj 51eb1f4aab texture_cache: Use pre-allocated buffer for texture downloads 2022-12-25 15:38:36 -05:00
ameerj 204e35087f texture_cache: Use pre-allocated buffer for texture uploads 2022-12-25 15:38:36 -05:00
Liam b4504fdd19 k_page_table: remove HACK_OpenPages/ClosePages 2022-12-25 13:43:49 -05:00
ameerj 399b6d3a0c fsp_srv: Use ReadBufferSpan 2022-12-25 13:21:15 -05:00
ameerj e17c343915 hle_ipc: Add ReadBufferSpan function
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
Liam 4b9df26091 k_page_group: synchronize 2022-12-25 12:55:21 -05:00
liamwhite 1240408f75 Merge pull request #9500 from liamwhite/reentrant-shutdown
qt: prevent reentrant shutdown
2022-12-25 12:51:25 -05:00
liamwhite 3dfb9c8549 Merge pull request #9496 from liamwhite/shm3
kernel: workaround static shared memory initialization
2022-12-25 12:51:16 -05:00
liamwhite 6f3fec00fd Merge pull request #9487 from liamwhite/look-at-the-time
time: add LockFreeAtomicType
2022-12-25 12:50:57 -05:00
Fernando S d1bac2838f Merge pull request #9453 from ameerj/scratch-vector
common: Add ScratchBuffer Class
2022-12-24 20:26:06 -05:00
Liam 935f192fd7 qt: prevent reentrant shutdown 2022-12-24 17:31:34 -05:00
liamwhite c069642dcc qt: fix 'Pause' menu item (#9497) 2022-12-23 21:44:53 -05:00
Chris Oboe e8c4d19269 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
2022-12-23 21:39:59 -05:00
liamwhite c87335cc8a Merge pull request #9476 from liamwhite/async-shutdown
qt: continue event loop during game close
2022-12-23 21:05:10 -05:00
Liam 175157665f qt: fix uninitialized memory usage 2022-12-23 20:57:36 -05:00
german77 81cfe514ab yuzu: Automatically refresh device list 2022-12-23 18:26:48 -06:00
Liam 71ec5c9519 kernel: workaround static shared memory initialization 2022-12-23 13:40:30 -05:00
Liam f1528eb549 time: add LockFreeAtomicType 2022-12-21 22:36:55 -05:00
Liam 671216b8a6 qt: exit properly on guest-initiated close 2022-12-21 19:55:01 -05:00
Liam 7934914a03 qt: use main window as close overlay parent 2022-12-21 19:27:11 -05:00
Liam 1eb9cb8ec3 qt: continue event loop during game close 2022-12-20 09:16:08 -05:00
liamwhite f631825247 Merge pull request #9463 from liamwhite/manager-events
EmuThread: refactor
2022-12-20 09:10:41 -05:00
ameerj 4d5adfb3c9 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
2022-12-19 22:40:50 -05:00
liamwhite 0a66bb5bdd Merge pull request #9480 from jbeich/vk-238
externals: update Vulkan-Headers to v1.3.238 to fix -Werror=switch with system package
2022-12-19 18:16:41 -05:00
ameerj 37ac7d7841 tests: Add ScratchBuffer tests 2022-12-19 18:08:04 -05:00
ameerj 284582a0b2 dma_pusher: Rework command_headers usage
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2022-12-19 18:08:04 -05:00
ameerj a9c22d329d buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage 2022-12-19 18:08:04 -05:00
ameerj b501ee907e video_core: Add usages of ScratchBuffer 2022-12-19 18:08:04 -05:00
ameerj ff76a433ab 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.
2022-12-19 18:07:51 -05:00
ameerj 80c173aba5 common: add make_unique_for_overwrite 2022-12-19 18:07:42 -05:00
Matías Locatti f2c7d65dd9 Merge pull request #9474 from liamwhite/timer
kernel: add KHardwareTimer
2022-12-19 18:37:34 -03:00
Jan Beich f3412998f0 externals: update Vulkan-Headers to v1.3.238 2022-12-19 17:14:29 +00:00
liamwhite 76eb7c725f Merge pull request #9471 from german77/input
input_common: Cleanup project
2022-12-19 11:09:00 -05:00
Morph 08c6b65cf3 overlay_dialog: Avoid starting the input thread if non-interactive 2022-12-19 00:00:03 -05:00
Morph 0f67f22a6f 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.
2022-12-18 23:54:56 -05:00
Liam 8df44232e8 kernel: remove TimeManager 2022-12-18 20:21:24 -05:00
Liam 49d1cf6477 kernel: add KHardwareTimer 2022-12-18 16:37:19 -05:00
german77 f7790b5e3b input_common: Cleanup project 2022-12-18 15:33:11 -06:00
liamwhite 022c7f37a3 Merge pull request #9470 from german77/silenceIkillYou
service: nfc: Silence ListDevices
2022-12-18 15:11:13 -05:00
german77 8a90856b25 service: nfc: Silence ListDevices 2022-12-18 11:57:33 -06:00
liamwhite 409afd3d02 Merge pull request #9469 from Rubo3/patch-1
Use execlp instead of execl to avoid failure
2022-12-18 11:46:43 -05:00
liamwhite 66fa19701d Merge pull request #9467 from german77/folder
yuzu: Remember last selected directory
2022-12-18 10:21:33 -05:00
Marco Rubin ded2aae24f Use execlp instead of execl to avoid failure 2022-12-18 14:03:26 +00:00
german77 a96b380b09 yuzu: Remember last selected directory 2022-12-18 00:37:06 -06:00
german77 7510f5971a bootmanager: Use proper camera size 2022-12-18 00:13:18 -06:00
german77 ae453f0626 bootmanager: Encapsulate all QCamera code 2022-12-17 23:54:47 -06:00
german77 784d60966f yuzu: fix device name setting 2022-12-17 23:54:36 -06:00
Matías Locatti 7479b381fa 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
2022-12-17 17:16:52 -08:00
bunnei 771e450bcc Merge pull request #9456 from german77/virtual_gamepad
input_common: Add virtual gamepad
2022-12-17 17:16:13 -08:00
Liam 3e167c3e5a qt: use _exit instead of exit on SIGINT 2022-12-17 16:26:25 -05:00
Liam c11dff8639 EmuThread: refactor 2022-12-17 16:26:24 -05:00
liamwhite db106151d7 Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Mai 0154e2a331 Merge pull request #9461 from liamwhite/wanative
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2022-12-17 21:07:01 +00:00
Mai b1eb17011e Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2022-12-17 21:05:46 +00:00
Liam af59f5824b qt: avoid setting WA_DontCreateNativeAncestors on all platforms 2022-12-17 10:41:20 -05:00
liamwhite ae502e2717 Merge pull request #9451 from ameerj/camera-data-array
camera: Use pre-allocated vector for camera data
2022-12-17 10:21:50 -05:00
liamwhite 895500911a Merge pull request #9452 from ameerj/hle-read-buffer-resreve
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
liamwhite 15845a154e Merge pull request #9455 from Kelebek1/audio_signal
[audio_core] Signal buffer event on audio in/out system stop
2022-12-17 10:21:19 -05:00
liamwhite f469ec2aef Merge pull request #9457 from Kelebek1/silence_tfb
Remove unimplemented geometry transform feedback log spam
2022-12-17 10:21:05 -05:00
german77 3cc666b845 input_common: Add virtual gamepad 2022-12-16 18:26:11 -06:00
ameerj 2d9fc5d05b camera: Use pre-allocated vector for camera data
And avoid an unnecessary copy
2022-12-16 18:00:47 -05:00
Kelebek1 6787d87e44 Remove unimplemented transform feedback geometry spam, it should be implemented 2022-12-16 22:52:29 +00:00
liamwhite 8cdadf8ac9 Merge pull request #6354 from ogniK5377/device-name
Set: Allow setting device nickname
2022-12-16 14:05:00 -05:00
liamwhite 178074d062 Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
hle_ipc: Reserve vectors before populating
2022-12-16 11:57:48 -05:00
liamwhite 4f3228e7d9 Merge pull request #9444 from german77/free_threads
kernel: process: Implement GetFreeThreadCount
2022-12-16 11:57:42 -05:00
liamwhite 36950ef442 Merge pull request #8605 from devsnek/graceful-shutdown
let games gracefully exit
2022-12-16 11:57:33 -05:00
liamwhite 657720ad64 Merge pull request #6769 from lat9nq/create-shortcut-2
yuzu qt, common: Add option to create game shortcuts on Linux
2022-12-16 11:57:16 -05:00
Kelebek1 501ea58598 Signal buffer event on audio in/out system stop, and force remove all registered audio buffers 2022-12-16 16:07:24 +00:00
Liam d0f8fff4e2 qt: handle wayland-egl platform name 2022-12-16 08:47:22 -05:00
ameerj c57883f1bc hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15 23:22:11 -05:00
ameerj 333fd1165a hle_ipc: Reserve vectors before populating 2022-12-15 22:30:42 -05:00
Narr the Reg 016590e25d Merge pull request #9431 from liamwhite/sixty-five-oh-two
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
Matías Locatti 4fa1644e67 Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-15 20:52:05 -03:00
Narr the Reg dfe49436c8 kernel: svc: Fix duplicated InfoType enum 2022-12-15 14:18:30 -06:00
Narr the Reg 464b7a9ee2 kernel: process: Implement GetFreeThreadCount
Used by Just Dance® 2023 Edition
2022-12-15 13:44:21 -06:00
liamwhite f868fa8883 Merge pull request #7410 from Nefsen402/wayland-fixes
Wayland fixes
2022-12-15 12:05:01 -05:00
bunnei 572d81508b Revert "hle: service: audio: Use default service thread." 2022-12-14 14:57:33 -08:00
liamwhite 1f12789d39 Merge pull request #6688 from yzct12345/valid-intel-max
render_vulkan: Fix validation errors on less compatible Intel GPUs
2022-12-14 15:33:10 -05:00
FernandoS27 11f29ec173 Vulkan: Add support for VK_EXT_depth_clip_control. 2022-12-13 21:39:18 -05:00
Chloe Marcec 27a7d5a11a Set: Allow setting device nickname 2022-12-13 19:54:17 -05:00
lat9nq 0f3c2b69b0 main: Address review feedback
Moves icon path to ~/.local/share/icons, though I'm opting to avoid
using the game title for the icon and desktop entry name as that would
cause filenames such as
"yuzu-cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda-demo.desktop".
2022-12-13 19:23:54 -05:00
Liam aec084e315 vulkan_common: declare storageBuffer8BitAccess 2022-12-13 18:28:50 -05:00
Liam 3b502d3095 spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId 2022-12-13 18:25:53 -05:00
lat9nq 9af19c9b5e yuzu qt: Create shortcuts on Linux
This creates a Desktop Entry file and a PNG icon for the entry when the
user right-clicks a game and selects "Create Shortcut -> Create
{Application,Desktop} Shortcut". This uses the current executable's path
to create the shortcut.

yuzu qt: Add more error checking and OS gating for shortcuts

main: Remove FreeBSD gating for shortcuts

I'm not going to test FreeBSD, so I don't know if they follow
Freedesktop.org or not. I just have to let someone else verify that it
works there and let them enable it.

main: Move shortcut function to its own function

This function should really be in a common library, at least among
frontends.

main: Remove image manip references

main: Fix difference in MinGW and native GCC versions

main: Fix negation in creat shortcut

Addresses review comment

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>

main: Re-enable freedesktop shorcuts for FreeBSD
2022-12-13 16:42:00 -05:00
Alexander Orzechowski 9e0510f77d gl_device: Use a more robust way to use strict context mode
Instead of checking a environment variable which may not actually
exist or is just wrong, ask QT if it's running on the wayland
platform.
2022-12-13 15:01:51 -05:00
Alexander Orzechowski cc07198519 OpenGL: Check for threading support
We need this.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 976141ddcf wayland: Always use exclusive fullscreen
Wayland does not allow clients to choose their own size and position
on the screen. The concept of fullscreening an application by sizing
it to the screen and removing decorations does not exist. Use
exclusive fullscreen instead.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 81602792e8 RenderWidget: Set WA_DontCreateNativeAncestors
Some windowing systems like wayland are designed to show hardware accellerated
surfaces as subsurfaces and not native windows.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski 876bf7c6b3 emu_window_sdl2: Respect hidpi
Use SDL_GL_GetDrawableSize instead of SDL_GetWindowSize which
will return the true size our swapchain needs to be in even
for hidpi displays.
2022-12-13 13:23:35 -05:00
Alexander Orzechowski ef5ccad791 video_core/vulkan: Explicity check swapchain size when deciding to recreate
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
2022-12-13 13:23:35 -05:00
Liam 2c6460d168 renderer_opengl: refactor context acquire 2022-12-13 13:23:23 -05:00
Liam e9f112183b emu_thread: properly force shutdown for unresponsive guest programs 2022-12-12 21:38:20 -05:00
Gus Caplan 786ec95e5d let games gracefully exit 2022-12-12 21:18:32 -05:00
yzct12345 462220fe15 Fix validation errors on less compatible Intel GPU 2022-12-12 20:53:05 -05:00
Narr the Reg d68ca768b5 yuzu: Make unlimited frame rate non persistent between game boots 2022-12-12 19:21:30 -06:00
bunnei a0fa54b016 Merge pull request #9398 from liamwhite/fail
general: improve handling of system startup failure
2022-12-12 14:37:42 -08:00
bunnei d6c387db44 Merge pull request #9406 from vonchenplus/topology
video_core: Adjust topology update logic and Adjust Clear Manage
2022-12-12 14:37:06 -08:00
Narr the Reg 0476f77e9c input_common: Filter SDL GUID 2022-12-12 10:37:55 -06:00
Mai 7fac14c0ca Merge pull request #9420 from liamwhite/aniso
video_core: fix off by one in anisotropic filtering amount
2022-12-12 03:34:09 +00:00
Mai d5c1432409 Merge pull request #9419 from liamwhite/no-gl
cmake: make OpenGL loader optional
2022-12-11 21:09:52 +00:00
Mai f23e20a630 Merge pull request #9415 from liamwhite/dc
memory: correct semantics of data cache management operations
2022-12-11 21:09:31 +00:00
Liam 47a89280bf memory: correct semantics of data cache management operations 2022-12-11 12:46:34 -05:00
Matías Locatti f700121800 Merge pull request #9409 from liamwhite/smaa2
video_core: Integrate SMAA
2022-12-11 01:38:28 -03:00
Liam c5a82ada2b video_core: fix off by one in anisotropic filtering amount 2022-12-10 20:54:45 -05:00
Liam e4f8dbb3d4 cmake: make OpenGL loader optional
Co-authored-by: liushuyu <liushuyu@users.noreply.github.com>
2022-12-10 15:12:27 -05:00
Mai 70c9f6000d Merge pull request #9417 from liamwhite/debug-assert
memory: remove DEBUG_ASSERT pointer test
2022-12-10 19:08:45 +00:00
Liam 6f23b5f495 audio_core: remove explicitly defaulted and implicitly deleted constructors 2022-12-10 13:05:15 -05:00
Liam 8a5667aa70 memory: remove DEBUG_ASSERT pointer test 2022-12-10 13:02:38 -05:00
liamwhite 4b40068038 Merge pull request #9412 from Saalvage/fix/trace-log-compilation
Fix compilation error
2022-12-09 17:03:19 -05:00
Salvage a4369e6175 Remove the lock entirely as per PR discussion
Correctly unlock mutex before its destruction

As per https://en.cppreference.com/w/cpp/thread/mutex/~mutex destroying a locked mutex is undefined behavior and MSVC++ decides to throw in this case

Swap out unique for scoped lock and readd comment
2022-12-09 16:39:59 +01:00
Salvage 56a3ed4355 Fix compilation error 2022-12-09 14:49:15 +01:00
Liam 292cc68b75 video_core: Integrate SMAA
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
FengChen b40cdac0a4 video_core: Add vertex_array_instance_* sbubbed called warning 2022-12-08 23:19:31 +08:00
FengChen 17596e69b9 video_core: The draw manager manages whether Clear is required. 2022-12-08 23:10:52 +08:00
FengChen f09cf68f91 video_core: Adjust topology update logic 2022-12-08 22:40:28 +08:00
Fernando S b9ebc10680 Merge pull request #9401 from vonchenplus/draw_manager
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen ad05d9fe1e video_core: Implement maxwell3d draw manager and split draw logic 2022-12-08 10:12:19 +08:00
Morph 5a607ba49f Merge pull request #9365 from liamwhite/val
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Liam 08d81c9726 general: improve handling of system startup failure 2022-12-06 16:13:42 -05:00
merry 32b13dbca1 Merge pull request #9370 from liamwhite/break-unmapped
core: add option to break on unmapped access
2022-12-06 20:20:20 +00:00
Fernando S 7ca1fcfcce Merge pull request #9393 from liamwhite/more-vulkan
vulkan_common: further initialization tweaks
2022-12-06 17:45:08 +01:00
liamwhite c2e1d9378b Merge pull request #9392 from lioncash/reporter
reporter: Eliminate undefined behavior in SaveErrorReport
2022-12-06 11:27:00 -05:00
liamwhite a8a01d0723 Merge pull request #9390 from lioncash/keyboard
applets: Extract callback types into aliases
2022-12-06 11:26:53 -05:00
liamwhite 600df8e96e Merge pull request #9389 from lioncash/emumove
emulated_console/emulated_controller: std::move ParamPackage instances where applicable
2022-12-06 11:26:46 -05:00
liamwhite c02faff8d4 Merge pull request #9386 from lioncash/init
kernel: Ensure relevant class members are always initialized on construction
2022-12-06 11:26:38 -05:00
liamwhite ec6bca7a6f Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
liamwhite a17abc7b34 Merge pull request #9387 from abouvier/cmake-libusb
cmake: prefer system libusb
2022-12-06 09:58:37 -05:00
Lioncash 1ad43e68da configure_graphics: Make SPIRV backend string translatable
The parenthetical needs to be translatable, like with GLASM
2022-12-06 00:13:07 -05:00
Alexandre Bouvier 87fef2c12c cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite 6a546be6b2 Merge pull request #9369 from german77/mifare
service: nfc: Implement mifare service
2022-12-05 22:17:32 -05:00
liamwhite 22c925b1b4 Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam d50abc6a9c vulkan_common: further initialization tweaks 2022-12-05 22:06:35 -05:00
Lioncash 6922ed4fad reporter: Pass by const reference where applicable
Same behavior, but without memory churn.
2022-12-05 21:48:42 -05:00
Lioncash 97fd619312 reporter: Eliminate undefined behavior in SaveErrorReport
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.

This means we'd be dereferencing uninitialized storage.

Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2022-12-05 21:31:34 -05:00
Alexandre Bouvier 75f9183846 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
Lioncash a3e4ad2cf5 applets/controller: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash 038b746678 applets/error: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash a346b1270a applets/mii_edit: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash 259307a152 applets/profile_select: Use aliases for callbacks
Deduplicates callback definitions and situates it in one place.
2022-12-05 19:06:04 -05:00
Lioncash 5012cd2057 applets/web_browser: Use aliases for callbacks
Deduplicates a lot of long callback declarations
2022-12-05 19:06:04 -05:00
Lioncash 047c256fe4 applets/software_keyboard: Use aliases for callbacks
Deduplicates really long std::function declarations to make the
interface nicer to read.
2022-12-05 19:06:01 -05:00
Lioncash 7a349e99ee emulated_controller: Remove unused parameter in GetMappedDevices()
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
Lioncash 68d9621a8b emulated_controller: Use std::move() in GetMappedDevices()
Avoids churning allocations in a loop.
2022-12-05 18:27:15 -05:00
Lioncash 1c9f02790c emulated_console: Amend cast in SetTouch()
id is an int value, not a u32.
2022-12-05 18:15:23 -05:00
Lioncash 53eb9406f0 emulated_console: std::move() ParamPackages and callbacks where applicable 2022-12-05 18:15:19 -05:00
Lioncash 7ed6f9d6fd kernel/k_shared_memory: Ensure device_memory is always initialized 2022-12-05 15:27:57 -05:00
Lioncash 0435142f58 kernel/k_memory_block: Ensure members are always initialized 2022-12-05 15:27:47 -05:00
Lioncash 4c5de31093 kernel/physical_core: Ensure is_interrupted is always initialized 2022-12-05 15:19:37 -05:00
Lioncash 6fea145402 kernel/thread: Ensure stack_top and argument are always initialized 2022-12-05 15:19:36 -05:00
Lioncash 8b8320be4a kernel/kernel: Ensure shutdown threads are always initialized 2022-12-05 15:19:36 -05:00
liamwhite b4ef55753e Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Fernando Sahmkow 7a7235b961 Vulkan: Implement Alpha coverage 2022-12-05 12:33:12 +01:00
Narr the Reg 2679dc707e input_common: Allow mifare files 2022-12-04 20:02:48 -06:00
Mai 0dd3742763 Merge pull request #9381 from liamwhite/uninit
service_thread: fix uninitialized memory usage
2022-12-04 22:30:16 +00:00
Liam 4a65ee47d3 service_thread: fix uninitialized memory usage 2022-12-04 16:02:24 -05:00
liamwhite fb8dad2eef Merge pull request #9232 from bunnei/audio-default-thread
hle: service: audio: Use default service thread.
2022-12-04 15:31:40 -05:00
liamwhite caa1555bc2 Merge pull request #9273 from ameerj/per-game-profile
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
liamwhite 1ba3ae3f91 Merge pull request #9372 from liamwhite/vk12
vulkan_common: promote extension usages to core when possible
2022-12-04 12:14:06 -05:00
Alexandre Bouvier 325a016cd2 cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam e5ecad8824 yuzu-cmd: link SDL2 correctly 2022-12-04 10:59:58 -05:00
Liam ee4e09128f vulkan_common: add feature test for shaderDrawParameters 2022-12-04 10:55:13 -05:00
Liam 88ee9ef9ba vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
Liam b656f90c11 vulkan_common: correct usage of timeline semaphore fallbacks 2022-12-04 10:55:13 -05:00
Liam f848103437 vulkan_common: ensure all mandatory features are tested in feature report 2022-12-04 10:55:13 -05:00
Liam 8db4f8593c vulkan_common: unsuffix 16-bit storage feature test structure 2022-12-04 10:55:13 -05:00
Liam d2299ce7d8 vulkan_common: unsuffix timeline semaphore feature test structure 2022-12-04 10:55:13 -05:00
Liam e46525c84f vulkan_common: add logicOp to feature report 2022-12-04 10:55:13 -05:00
Liam 540a841351 vulkan_common: promote host query reset usage to core 2022-12-04 10:55:13 -05:00
Liam f165ae4daf vulkan_common: promote descriptor update template usage to core 2022-12-04 10:55:13 -05:00
Liam 63b830fd41 vulkan_common: promote timeline semaphore usage to core 2022-12-04 10:55:13 -05:00
liamwhite 550f214e76 Merge pull request #9374 from liamwhite/externals
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam 8fbec5d298 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
bunnei d3e229ee9d Merge pull request #9344 from liamwhite/null
video_core: add null backend
2022-12-03 11:23:25 -08:00
liamwhite c53a3d3f37 Merge pull request #9300 from ameerj/pch
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite e20c5a0b7f Merge pull request #9289 from liamwhite/fruit-company
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
liamwhite dc25fddedb Merge pull request #9353 from vonchenplus/draw_indexed
video_core: Fine tuning the index drawing judgment logic
2022-12-03 10:43:34 -05:00
Matías Locatti 39df80ff00 Merge pull request #9303 from liamwhite/new-vulkan-init
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
Matías Locatti 9e59358dcb Merge pull request #9363 from liamwhite/gs
shader_recompiler: add gl_Layer translation GS for older hardware
2022-12-02 16:08:12 -03:00
Liam dfc09df118 core: add option to break on unmapped access 2022-12-02 08:25:45 -05:00
liamwhite e81abf0744 Merge pull request #9348 from Morph1984/when-the-network-is-down
service: nifm: Update stubs for Submit/GetRequestState/GetResult
2022-12-01 22:14:43 -05:00
Narr the Reg dbfc2f7ee2 service: nfc: Implement mifare service 2022-12-01 20:43:59 -06:00
Liam e8966fd1f9 shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
Feng Chen f7e82d2fd6 video_core: Fine tuning the index drawing judgment logic 2022-12-01 19:14:58 +08:00
Liam 44db218c6d vulkan_common: quiet some validation errors 2022-11-30 19:18:05 -05:00
ameerj fb155dbffc CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
ameerj 04a6ddddfb string_util: Fix Mingw compile error
Co-Authored-By: liamwhite <9658600+liamwhite@users.noreply.github.com>
2022-11-30 18:26:26 -05:00
Fernando S c04a159cd9 Merge pull request #9320 from yuzu-emu/fix-audio-suspend
AudioCore: Take suspend lock when stalling the running process.
2022-11-30 16:41:32 +01:00
bunnei 9ac846fece audio_core: sink_stream: Hold the suspend lock when process is stalled.
- Prevents us from clashing with other callers trying to un/stall.
2022-11-29 20:32:06 -08:00
ameerj 7af574ff01 CMake: Disable PCH on MSVC + Buildcache configs 2022-11-29 23:01:32 -05:00
Kelebek1 bb10e5e6eb Respect render mode override 2022-11-30 01:43:36 +00:00
Morph 544d8df4b2 Merge pull request #9349 from lat9nq/cmake-322
CMakeLists: Bump minimum required CMake version to 3.22
2022-11-29 19:41:47 -05:00
ameerj bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
ameerj 8a22e21d6d value.h: remove recursive include 2022-11-29 18:50:49 -05:00
liamwhite a6e97dcd1c Merge pull request #9308 from lat9nq/from-scratch
startup_checks: Use Windows flow for *nix
2022-11-29 18:45:39 -05:00
liamwhite 994e446168 Merge pull request #9322 from german77/pump_events
input_common: Pump SDL events from main thread
2022-11-29 18:45:25 -05:00
liamwhite dfe5ec8f9c Merge pull request #9352 from lioncash/vidcast
engines: Remove unnecessary casts
2022-11-29 18:45:16 -05:00
Lioncash 225f5ba19f host1x/syncpoint_manager: Eliminate unnecessary std::function construction
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
2022-11-29 08:58:50 -05:00
Lioncash b03305859e host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref
The handle is only compared against and not modified in any way, so we
can pass it by const reference.

This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
2022-11-29 08:55:33 -05:00
Lioncash a3ed3c8340 maxwell_3d: Mark shifted value as unsigned
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.

While we're in the area, we can mark Samples() as const.
2022-11-29 08:39:33 -05:00
Lioncash 0d9c723df4 engines: Remove unnecessary casts
In a few cases we have some casts that can be trivially removed.
2022-11-29 08:38:46 -05:00
liamwhite fa8bf5fb43 Merge pull request #9340 from lioncash/nvdrv
nvdrv: Simplify builder declarations
2022-11-29 08:27:13 -05:00
liamwhite 1f7c0310e2 Merge pull request #9347 from lioncash/vcast
video_core/surface: Eliminate casts in GetFormatType()
2022-11-29 08:26:39 -05:00
liamwhite 049c6ca248 Merge pull request #9346 from lioncash/vtable
producer_listener: Add virtual destructor to IProducerListener
2022-11-29 08:26:32 -05:00
liamwhite 6197033d88 Merge pull request #9345 from lioncash/fence
consumer_base: Pass std::shared_ptr by const reference
2022-11-29 08:26:25 -05:00
liamwhite 9e9e28c281 Merge pull request #9343 from lioncash/bounds
syncpoint_manager: Reduce redundant bounds checks
2022-11-29 08:26:16 -05:00
lat9nq 868c5ca1cb CMake: Directly link to SDL2-static when appropriate
Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
2022-11-28 23:21:14 -05:00
Morph 7ba644dc5d service: nifm: Update stubs for Submit/GetRequestState/GetResult 2022-11-28 22:58:10 -05:00
Lioncash 789c33dc48 video_core/surface: Eliminate casts in GetFormatType()
We can just compare directly and get rid of verbose casting.
2022-11-28 20:25:44 -05:00
Liam acc4a150ef video_core: add null backend 2022-11-28 19:49:09 -05:00
Lioncash ccec899cd8 producer_listener: Add virtual destructor to IProducerListener
Several member variables are shared_ptr's to this base class. Even
though producer listeners are still unimplemented, this ensures we
always have consistent deletion behavior once this ends up being used
polymorphically.
2022-11-28 19:39:13 -05:00
ameerj 76a58e741a configure_input_player: Fix profile saving when using handheld controller type 2022-11-28 19:22:18 -05:00
ameerj 736a034af8 config: Custom profile detection fixes
Also only reads/writes applicable configs for the custom profiles.
2022-11-28 19:22:18 -05:00
ameerj 8a1c99d57b configure_input_per_game: Allow configuring all 8 players 2022-11-28 19:22:18 -05:00
Lioncash 93f287c79b buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer()
This isn't directly modified.

Also allows rvalues to be used with it.
2022-11-28 19:16:20 -05:00
Lioncash 7d9d432ff4 buffer_queue_consumer: std::move std::shared_ptr in Connect()
Avoids an unnecessary reference count increment and decrement
2022-11-28 19:12:26 -05:00
Lioncash f5def4b9c5 consumer_base: Pass shared_ptr by const reference
Avoids churning atomic reference count increments and decrements.
2022-11-28 19:09:44 -05:00
Lioncash bde42f6767 consumer_base: Remove redundant virtual
override already serves this purpose
2022-11-28 19:06:34 -05:00
Lioncash eb1bdc5ed4 syncpoint_manager: Mark IsSyncpointAllocated() as const
This doesn't modify class state at all.
2022-11-28 16:08:21 -05:00
Lioncash 8409b91f2e syncpoint_manager: Reduce number of bounds checks
The only time we need to check bounds is on the first access.
2022-11-28 16:06:01 -05:00
Morph 2c5073f375 Merge pull request #9339 from lioncash/cacheheader
common/cache_management: Amend header includes
2022-11-28 13:12:20 -05:00
Morph 65b9694ec7 Merge pull request #9338 from lioncash/properties
input_common/helpers: Mark analog property structs members as static constexpr
2022-11-28 13:12:14 -05:00
Morph ca79f2ed10 Merge pull request #9337 from lioncash/pbr
common/input: Add helper functions for constructing input and output devices
2022-11-28 13:12:08 -05:00
Lioncash e621ee9ec6 nvdrv: Simplify builder declarations
We can just use auto here. If one of these ever happens to not be
derived from nvdevice, then this will cause a compilation error.

We can also move the devices into the collection to get rid of an
unnecessary atomic reference count increment and decrement.
2022-11-28 10:43:48 -05:00
Lioncash 7c051067f6 common/cache_management: Amend header includes
Narrows the include in the header to <cstddef>, since that's what houses
size_t's definition, meanwhile the <cstdint> include can be moved into
the cpp file.
2022-11-28 10:19:53 -05:00
Lioncash 23e85d2d85 input_common/helpers: Mark analog property structs members as static constexpr
These are const with no dependency on any other data members, so we can
make these static constexpr to reduce the overall object size.
2022-11-28 10:10:37 -05:00
Lioncash a9892677ed core/hid/emulated_controller: Use ranges version of transform
Makes the transform calls much nicer to read.
2022-11-28 10:00:42 -05:00
Lioncash 0862aabdc6 common/input: Add helpers functions for creating input and output devices
Avoids the redundancy of needing to explictly specify the common
namespace and the type.
2022-11-28 10:00:37 -05:00
Lioncash c005d24e1e common/input: Pass ParamPackage by const reference in CreateDevice
This was previously being passed by value, which was unnecessary and
created more allocations than necessary.
2022-11-28 09:11:58 -05:00
Lioncash 72cfd9cb9b yuzu/main: Merge variable declaration into ifdef
This is only used in the non-Windows path.
2022-11-28 08:40:41 -05:00
liamwhite 755e1e93c7 Merge pull request #9325 from german77/default_by_default
yuzu-cmd: Fix default config value
2022-11-28 08:14:32 -05:00
german77 3075c5ec5c yuzu-cmd: Fix default config value 2022-11-27 20:43:34 -06:00
liamwhite 48b545354a Merge pull request #8829 from Docteh/qt6_0002
CMake: rework for Qt6 support
2022-11-27 17:56:22 -05:00
liamwhite d31bb0b36b Merge pull request #9317 from german77/input-crash
yuzu-cmd: Fix input callback crash on close
2022-11-27 15:39:24 -05:00
Liam 0a077cb467 Vulkan: update initialization
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
liamwhite 7daf70feec Merge pull request #9323 from german77/intructions
yuzu-cmd: Update configuration file description
2022-11-27 12:54:01 -05:00
german77 cddbfe5e67 input_common: Pump sdl events from main thread 2022-11-27 11:09:40 -06:00
german77 23d7d8b9df yuzu-cmd: Fix input callback crash on close 2022-11-27 10:53:22 -06:00
bunnei 0e8043fc24 Merge pull request #9276 from goldenx86/fsrSlider
FSR Sharpening Slider
2022-11-27 00:13:15 -08:00
Valeri e9fb4a65b9 crypto: use user-provided keys whenever possible
Solves an issue where autogenerated title keys would take precedence over those provided by user.
2022-11-27 05:08:25 +03:00
german77 8e2afd4e42 yuzu-cmd: Update configuration file description 2022-11-26 19:48:22 -06:00
bunnei 94ee753735 core: Use atomic instead of a lock to protect is_paused.
- This allows us to call IsPaused() elsewhere if we are holding the suspend lock.
2022-11-26 13:46:38 -08:00
Matías Locatti 71055c8e90 Oops 2022-11-26 17:39:43 -03:00
Matías Locatti 492fabc9b2 Replace GLSL as the default OpenGL shader backend
GLASM is not very compatible with the latest games, and too many people have the special superpower to break their Vulkan support.
2022-11-26 17:27:04 -03:00
liamwhite 0f9aee1f8a Merge pull request #9288 from vonchenplus/deferred_draw
video_core: Fine tune maxwell drawing trigger mechanism
2022-11-26 09:35:45 -05:00
liamwhite 8ee07be628 Merge pull request #9307 from Morph1984/not-used-correctly
maxwell_to_vk: Fix format usage bits and add R16_SINT
2022-11-26 09:08:55 -05:00
Matías Locatti b4211c8a46 Sharpness instead of Sharpening 2022-11-26 02:14:10 -03:00
lat9nq cedec65403 configure_graphics: Implement custom FSR Sharpening setting 2022-11-25 22:42:54 -05:00
lat9nq 1c5379fef9 settings: Reset FSR sharpening global state with the others 2022-11-25 22:42:24 -05:00
liamwhite ad0cb5a8bc Merge pull request #9297 from Kelebek1/sink_oob
[audio_core] Fix an OoB with sample sinking
2022-11-25 12:53:29 -05:00
bunnei 0465fd322a Merge pull request #9304 from liamwhite/menu-roll
Qt: assign menuRole properties for actions
2022-11-25 00:38:50 -08:00
bunnei d62f8bbcc4 Merge pull request #9305 from lioncash/request
hle_ipc: Add helper function for determining element counts
2022-11-25 00:38:17 -08:00
liamwhite ac7ceced88 Merge pull request #9194 from FernandoS27/yfc-fermi2d
YFC - Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 21:48:41 -05:00
Fernando Sahmkow 984c30bc52 Fermi2D: Cleanup and address feedback. 2022-11-24 21:00:48 +01:00
Fernando Sahmkow b3708b0a5b GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation. 2022-11-24 20:57:16 +01:00
Fernando Sahmkow a87ff9181b GPU: Implement additional render target formats. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow e3b3fcb1fc MaxwellDMA: Implement BlockLinear to BlockLinear copies. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow 41b3ddbbae Fermi2D: Implement Bilinear software filtering and address feedback. 2022-11-24 20:35:44 +01:00
Fernando Sahmkow f4291e4576 Fermi2D: Rework blit engine and add a software blitter. 2022-11-24 20:35:44 +01:00
Kyle Kienapfel 84063074a5 CMake: rework for Qt6 support
This PR rearranges things in the CMake system to make compiling with Qt6 possible

1. Camera API has changed in Qt6, so the camera feature is disabled
2. A previous fix involving QLocale is now version gated.
3. QRegExp replaced with QRegularExpression, see #5343
4. Qt6_LOCATION option added to specify a location to search for Qt6
  (see examples below)
5. windeployqt is used to copy Qt6 files into the build directory on Windows

Notes for Arch Linux
Arch install happened to have qt6-base qt6-declarative qt6-translations installed

mkdir build && cd build
cmake .. -GNinja -DYUZU_USE_BUNDLED_VCPKG=ON -DYUZU_TESTS=OFF -DENABLE_QT6=YES -DYUZU_USE_BUNDLED_QT=NO

Windows (MSVC)
Qt wants users to download precompiled libraries via an online installer,
it is worth noting that the GPL/LGPL takes precendence over any ...

In the Qt Maintenance tool, under a version, such as 6.3.1
Select "MSVC 2019 64-bit"
Under Additional Libraries Qt Multimedia may be of use for Camera support

For the Web Applet I had to select the following:
PDF Positioning WebChannel WebEngine

mkdir build && cd build
cmake -G "Visual Studio 16 2019" -DQt6_LOCATION=C:/Qt/6.4.0/msvc2019_64/ \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=YES -DYUZU_USE_BUNDLED_QT=NO \
-DENABLE_QT_TRANSLATION=YES -DENABLE_QT6=YES ..

Some numbers for reference (msvc2019_64)
Qt5 (slimmed down) 508 MB
Qt5.15.2 all in    929 MB
Qt6.3.1           1.71 GB
Qt6.3.2           1.73 GB
Qt6.4.0-beta3     1.83 GB
Qt6.4.0           1.67 GB
2022-11-24 06:28:42 -08:00
Matías Locatti 8e19421f84 FSR Sharpening Slider part 1 - only a global slider 2022-11-24 04:22:13 -05:00
lat9nq 350ea4888b startup_checks: Use fmt::print, fix exec error handling
Uses fmt::print opposed to std::fprintf for error printing.

Call exit instead of returning to caller to prevent a like issue the
previous commit was trying to solve.

Removes unneeded comment.

Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-11-23 21:59:24 -05:00
lat9nq b9046e89de startup_checks: Use Windows flow for *nix
Spawns a child using fork and exec as opposed to fork alone. Workaround
for the macos file manager complaining about not supporting fork without
exec.

Control flow for *nix is now roughly the same as for Windows.
2022-11-23 21:35:47 -05:00
Morph 79d76606f2 maxwell_to_vk: Add R16_SINT
This was somehow missed when the format was added to GL
2022-11-23 21:30:58 -05:00
Morph 44ef6e38cb maxwell_to_vk: Fix format usage bits
- VK_FORMAT_B8G8R8A8_UNORM supports the STORAGE_IMAGE_BIT
- VK_FORMAT_R4G4B4A4_UNORM_PACK16 does not support the COLOR_ATTACHMENT_BIT
2022-11-23 21:29:43 -05:00
Lioncash 8c35c8c4a6 service: Make use of buffer element count helpers 2022-11-23 13:43:20 -05:00
Lioncash ff19204dc6 hle_ipc: Add helper functions for getting number of buffer elements 2022-11-23 13:15:19 -05:00
Lioncash ce329764a2 hle_ipc: Mark relevant member functions as [[nodiscard]]
Will allow the compiler to complain about cases where ignoring the
return value would be a bug.
2022-11-23 13:08:52 -05:00
Liam fa845b681b Qt: assign menuRole properties for actions 2022-11-23 12:41:56 -05:00
Liam 5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
liamwhite 1cc95c4d53 Merge pull request #9299 from lioncash/cast
k_handle_table: Remove cast to void* in GetObjectForIpc
2022-11-22 17:47:53 -05:00
Lioncash 71d5db9354 k_handle_table: Remove cast to void* in GetObjectForIpc
This was used to get around the KProcess class being incomplete. We can
just move this to the cpp file and eliminate the cast entirely, letting
the compiler do its work.
2022-11-22 13:58:42 -05:00
bunnei 8484ed0cf6 Merge pull request #9219 from german77/nfc_impl
service: nfc: Implement NFC IUser service
2022-11-22 10:28:38 -08:00
Kelebek1 59c4dc2f32 Use the maximum input index for samples buffer span size, not just the input count 2022-11-22 15:32:11 +00:00
FengChen 607a965c57 video_core: Optimize maxwell drawing trigger mechanism 2022-11-22 17:53:26 +08:00
Morph e1a681378e qt_amiibo_settings: Use WebClient only if ENABLE_WEB_SERVICE is enabled
Resolves compilation errors when ENABLE_WEB_SERVICE is disabled in CMake configuration
2022-11-21 15:22:17 -05:00
ameerj 19ca666e9f Configuration: Add per-game input profiles 2022-11-20 14:06:31 -05:00
Morph 8c78a8f003 Merge pull request #9279 from liamwhite/this-would-have-never-happened-in-rust
dmnt:cht: fix copy-paste error
2022-11-20 13:30:35 -05:00
liamwhite cebe63ee08 Merge pull request #9216 from vonchenplus/reimp_inline_index_buffer
video_core: Reimplement inline index buffer binding
2022-11-20 12:08:08 -05:00
Narr the Reg 06d54056d6 Merge branch 'master' into nfc_impl 2022-11-20 09:31:20 -06:00
Liam 9c69743686 dmnt:cht: fix copy-paste error 2022-11-20 10:14:22 -05:00
bunnei 914f824b1f Merge pull request #9238 from german77/cabinet_applet
service: am: Implement cabinet applet
2022-11-20 00:48:39 -08:00
Morph 2d185b2c44 Merge pull request #9249 from goldenx86/available-vram
Add available Vulkan VRAM to log files
2022-11-20 00:21:29 -05:00
bunnei 66235689d2 Merge pull request #9254 from FernandoS27/auto-cpu-fix
Dynarmic: Remove inaccurate NaN from Auto CPU settings.
2022-11-19 12:52:41 -08:00
liamwhite e118cc09bd Merge pull request #9191 from german77/touching_souls
core: hid: Implement true multitouch support
2022-11-19 13:21:01 -05:00
Fernando S ea0dcb71d5 Merge pull request #9260 from liamwhite/youre-in-big-trouble-now
spirv_emit_context: add missing flat decoration
2022-11-19 16:40:14 +01:00
Narr the Reg 5c134b62bd service: nfc: Implement nfc user 2022-11-19 08:51:59 -06:00
german77 1cf625b6c6 service: hid: Only overclock npad controllers 2022-11-19 08:44:42 -06:00
Narr the Reg 8e0e45dcb9 core: hid: Implement true multitouch support 2022-11-19 08:44:33 -06:00
bunnei 09a93caeb8 Merge pull request #9252 from liamwhite/radv-superiority
maxwell3d: HLE multi-layer clear macro
2022-11-19 01:46:48 -08:00
Liam 4b905e9680 spirv_emit_context: add missing flat decoration 2022-11-18 22:05:28 -05:00
liamwhite d96606b091 Merge pull request #9253 from vonchenplus/attr_layer
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
bunnei a6b1bc0ded Merge pull request #9234 from liamwhite/data-cash-money
kernel: implement data cache management operations
2022-11-18 13:18:36 -08:00
Kyle Kienapfel 11903d9b88 qt: Add Qt version to LogRuntimes 2022-11-17 19:14:14 -08:00
Kyle Kienapfel 6269560358 Qt6: Disable IR Sensor when compiling with Qt6
Gating the IR Sensor code behind a macro like so
`#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && YUZU_USE_QT_MULTIMEDIA`

The YUZU_USE_QT_MULTIMEDIA flag is implemented in later commit

Also the locale fix in src/yuzu/main.cpp is now gated against Qt6,
as it causes compilation error
2022-11-17 19:14:14 -08:00
bunnei ca033e8d94 Merge pull request #9244 from liamwhite/lost-wakeup
nvnflinger: fix lost wakeup
2022-11-17 17:15:47 -08:00
Morph ab4c53a3e6 Merge pull request #9229 from Docteh/achy_breaky_heart
Add break for default cases
2022-11-17 19:20:18 -05:00
liamwhite 5ec3607731 Merge pull request #9228 from HidroSaphire/patch-1
Add break statement in default case
2022-11-17 18:53:59 -05:00
Fernando Sahmkow ee4b6380b9 Dynarmic: Remove inaccurate NaN from Auto CPU settings. 2022-11-17 16:59:41 +01:00
FengChen 12f2ab01bb shader: Implement miss attribute layer 2022-11-17 22:45:14 +08:00
Liam e219606128 maxwell3d: full HLE for multi-layer clears 2022-11-17 08:31:43 -05:00
Liam bc9a3c2033 maxwell3d: HLE multi-layer clear macro 2022-11-16 22:28:58 -05:00
Matías Locatti dad4e68530 Update renderer_vulkan.cpp 2022-11-16 05:53:42 -03:00
lat9nq 348447abbb configure_profile_manager: Cleanup reference/pointer usage
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
Co-authored-by: Mai M. <mathew1800@gmail.com>
2022-11-15 19:25:09 -05:00
lat9nq 0feb3c195c configure_profile_manager: Remove profile picture border
The border adds its own width at least on Linux which causes the icon to
be offset by 1px, and cropped by 2px on the bottom and right sides.
2022-11-15 18:11:58 -05:00
lat9nq 0d4da0b260 configure_profile_manager: Use a custom dialog for deletion
A hopefully more informative dialog that most importantly notifies the
user that their saves will be deleted with the user profile.

cpm: Only keep track of UI elements that we need

cpm: Remove unused forward declarations

cpm: Add missing include
2022-11-15 18:11:56 -05:00
bunnei 295ac1cfe9 Merge pull request #9243 from german77/result
core: Update result module
2022-11-14 20:36:38 -08:00
Feng Chen e32414b94b video_core: Reimplement inline index buffer binding 2022-11-15 12:10:44 +08:00
Liam 14292b4067 nvnflinger: fix lost wakeup 2022-11-14 21:18:52 -05:00
Narr the Reg da3b7ba4ed core: Update result module 2022-11-14 20:08:47 -06:00
Kyle Kienapfel d886438754 Add break for default cases
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.

I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw

R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
german77 9639d49ec6 general: Address review comments 2022-11-13 17:13:43 -06:00
german77 7fdca4ffab service: am: Fix cabinet applet result 2022-11-13 14:25:00 -06:00
german77 f75ae68d6e yuzu: Implement cabinet applet frontend 2022-11-13 13:58:19 -06:00
german77 23cda93390 service: am: Implement cabinet applet backend 2022-11-13 11:07:48 -06:00
german77 7328e78385 input_common: Add amiibo applet functions 2022-11-13 10:56:54 -06:00
german77 de02ec2357 service: nfc: fix tagprotocol and implement GetApplicationAreaId 2022-11-13 10:52:48 -06:00
liamwhite fafa91c354 Merge pull request #9225 from liamwhite/debugger-instance
Debugger improvements
2022-11-12 21:04:00 -05:00
Matías Locatti 1a419f73c3 Ignore ARM for core count 2022-11-12 15:31:54 -03:00
Liam e313e4f1ae kernel: implement FlushProcessDataCache 2022-11-12 11:27:04 -05:00
Liam 10751ff536 common: add cache management functions 2022-11-12 11:26:56 -05:00
bunnei dcbcbcb9d4 Merge pull request #9226 from Kelebek1/regs_regression
[video_core] Fix a couple regs regressions
2022-11-12 02:27:06 -08:00
bunnei d942e886f5 Merge pull request #9224 from liamwhite/services-arent-processes
service_thread: remove explicit KProcess
2022-11-11 22:37:04 -08:00
Mai 28aaaaf02e Merge pull request #9231 from goldenx86/corecount
Add CPU core count to log files
2022-11-12 03:19:26 +00:00
Matías Locatti 6b465c859b Add CPU core count to log files 2022-11-11 23:50:48 -03:00
bunnei 2df2dcd945 hle: service: audio: Use default service thread.
- This was arbitrarily added by me, and does not appear to be helpful.
2022-11-11 17:34:39 -08:00
liamwhite 77885a5cb6 Merge pull request #9204 from vonchenplus/dma_copy_1d_random_crash
video_core: Fix dma copy 1D random crash
2022-11-11 17:56:41 -05:00
liamwhite 2cfc91d164 Merge pull request #9133 from FearlessTobi/compat-improvements
yuzu/compatdb: Improve compatibility submission system
2022-11-11 16:15:36 -05:00
Tobias ed864a551f yuzu/main: Change to 8_GiB instead of magic number
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2022-11-11 19:15:52 +01:00
liamwhite c4d9b65e0c Merge pull request #9167 from vonchenplus/tess
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
Enrico Mancuso 444c5ed6d9 Add break statement in default case
According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement
2022-11-11 10:16:58 +01:00
bunnei 04af9d91d6 Merge pull request #9223 from goldenx86/threadcount
Add CPU thread count to log files
2022-11-10 23:12:39 -08:00
Kelebek1 a5b76126e1 Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg 2022-11-11 04:04:36 +00:00
Morph fc301cf777 ir/texture_pass: Use host_info instead of querying Settings::values (#9176) 2022-11-11 03:32:53 +01:00
bunnei 4e4c74cbe7 Merge pull request #9198 from liamwhite/arm64
Initial ARM64 support
2022-11-10 17:11:27 -08:00
Mai 09093559ae Merge pull request #9180 from Docteh/remove_stuff
UI: split up strings relating to content removal
2022-11-11 00:42:40 +00:00
Mai 88bc773b13 Merge pull request #9217 from HidroSaphire/patch-1
Add break statement in default cases
2022-11-11 00:42:04 +00:00
Liam 9f12c3e22f gdbstub: add ams monitor commands 2022-11-10 19:20:57 -05:00
Liam a19fabfe0c debugger: allow more than one connection attempt per session 2022-11-10 17:39:04 -05:00
bunnei e8be7a744f Merge pull request #9192 from german77/i_had_to_copy_each_one_again
yuzu: Change QtKeyToSwitchKey switch case to array
2022-11-10 13:44:41 -08:00
Matías Locatti bb60d4106d Me likes
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2022-11-10 18:36:39 -03:00
Liam 47ce2e44d9 service_thread: remove explicit KProcess 2022-11-10 16:14:03 -05:00
FearlessTobi 8c677c24a5 yuzu/compatdb: Rework compatibility submission system
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-11-10 21:36:22 +01:00
Matías Locatti ff7f1c1c6a Add CPU thread count to log files 2022-11-10 15:46:08 -03:00
FengChen 751f16bf66 video_core: Fix dma copy 1D random crash 2022-11-11 00:23:45 +08:00
Liam affd5c32f9 kernel/svc_types: refresh 2022-11-09 19:05:08 -05:00
bunnei 829acd963c Merge pull request #9182 from liamwhite/services-are-processes
kernel: assign KProcess to service threads
2022-11-09 15:52:23 -08:00
Liam 9509fb30a4 Initial ARM64 support 2022-11-09 16:58:49 -05:00
Enrico Mancuso 3efb76498a Add break statement in default cases
According to the contributing page (https://github.com/yuzu-emu/yuzu/wiki/Contributing) the default cases should have a break statement

default:
        // Yes, even break for the last case
        break;
2022-11-09 15:34:26 +01:00
Fernando S 728eca47a1 Merge pull request #9215 from liamwhite/swordfight
Ensure correctness of atomic store ordering
2022-11-09 14:50:49 +01:00
Liam 683a0a1a71 Ensure correctness of atomic store ordering 2022-11-09 08:09:50 -05:00
FengChen 348c6e5b28 video_core: Fix few issues in Tess stage 2022-11-07 15:42:42 +08:00
Liam 0fc08006e5 service_thread: fix deletion 2022-11-06 19:50:51 -05:00
german77 b7bf882f2e yuzu: Change QtKeyToSwitchKey switch case to array 2022-11-06 18:08:31 -06:00
FengChen 9d1c9f1f58 video_core:Fix vmm kinds size error 2022-11-06 22:31:22 +08:00
Fernando S e12153f58f Merge pull request #9163 from vonchenplus/draw_error
video_core: Fix drawing trigger mechanism regression
2022-11-06 01:13:59 +01:00
liamwhite c14f27ee5f Merge pull request #9173 from bunnei/kern-update-15
Kernel: Various updates for FW 15.0.x
2022-11-05 13:25:29 -04:00
Liam f31c2e7f79 core: hle: kernel: Address review comments. 2022-11-05 12:23:47 -04:00
Morph 8aa03d550a Merge pull request #9189 from vonchenplus/stupid
video_core: Fix scaling graphical regressions for multiple games
2022-11-05 11:57:52 -04:00
FengChen d1ae6c4092 video_core: Fix scaling graphical regressions for multiple games 2022-11-05 17:21:02 +08:00
Kyle Kienapfel 86438994cb UI: split up strings relating to content removal
Requested by Italian translator (Fs00 in Discord)

"Remove Installed Game %1?"
"Error Removing %1"

I didn't press for translated strings, so have a taste direct from deepl

Rimuovere il contenuto del gioco installato?
Rimuovere l'aggiornamento del gioco installato?
Rimuovere il DLC del gioco installato?
2022-11-04 20:25:38 -07:00
Mai fad55204fb Merge pull request #9181 from jbeich/freebsd-qt-parity
Qt: enable recent Linux features on BSDs
2022-11-04 17:54:17 +00:00
Mai 7ff44a2454 Merge pull request #9178 from jbeich/freebsd-include
network: unbreak on BSDs due to missing include
2022-11-04 17:52:01 +00:00
Liam c835c254a3 service_thread: register service threads to the logical owner process 2022-11-04 09:18:57 -04:00
Liam ae2bfd082b kernel: avoid racy behavior in global suspension 2022-11-04 09:18:57 -04:00
Jan Beich 3366421919 Qt: enable recent Linux features on more Unices
- Prevent sleep via xdg-desktop-portal after 68901da65f
- Pause on suspend after 700bd12480
- Exit on SIGINT/SIGTERM after 7372295eb2
- Improve dark themes after 6af8034f3e
2022-11-04 13:01:17 +00:00
Jan Beich e05870489a network: add missing header for SO_* on Unix after ce5b9d370d
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::Initialize(Network::Domain, Network::Type, Network::Protocol)':
src/core/internal_network/socket_proxy.cpp:51:20: error: 'SO_TYPE' was not declared in this scope
   51 |     SetSockOpt(fd, SO_TYPE, type);
      |                    ^~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetLinger(bool, u32)':
src/core/internal_network/socket_proxy.cpp:253:27: error: 'SO_LINGER' was not declared in this scope
  253 |     return SetSockOpt(fd, SO_LINGER, values);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetReuseAddr(bool)':
src/core/internal_network/socket_proxy.cpp:257:32: error: 'SO_REUSEADDR' was not declared in this scope
  257 |     return SetSockOpt<u32>(fd, SO_REUSEADDR, enable ? 1 : 0);
      |                                ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetBroadcast(bool)':
src/core/internal_network/socket_proxy.cpp:262:32: error: 'SO_BROADCAST' was not declared in this scope
  262 |     return SetSockOpt<u32>(fd, SO_BROADCAST, enable ? 1 : 0);
      |                                ^~~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndBuf(u32)':
src/core/internal_network/socket_proxy.cpp:266:27: error: 'SO_SNDBUF' was not declared in this scope
  266 |     return SetSockOpt(fd, SO_SNDBUF, value);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvBuf(u32)':
src/core/internal_network/socket_proxy.cpp:274:27: error: 'SO_RCVBUF' was not declared in this scope
  274 |     return SetSockOpt(fd, SO_RCVBUF, value);
      |                           ^~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetSndTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:279:27: error: 'SO_SNDTIMEO' was not declared in this scope
  279 |     return SetSockOpt(fd, SO_SNDTIMEO, static_cast<int>(value));
      |                           ^~~~~~~~~~~
src/core/internal_network/socket_proxy.cpp: In member function 'virtual Network::Errno Network::ProxySocket::SetRcvTimeo(u32)':
src/core/internal_network/socket_proxy.cpp:284:27: error: 'SO_RCVTIMEO' was not declared in this scope
  284 |     return SetSockOpt(fd, SO_RCVTIMEO, static_cast<int>(value));
      |                           ^~~~~~~~~~~
2022-11-04 07:28:46 +00:00
gidoly 4dad66ac4b Update shader cache version. (#9175) 2022-11-04 03:16:01 -04:00
Feng Chen bcf6a7c0dd video_core: Fix SNORM texture buffer emulating error (#9001) 2022-11-04 02:39:42 -04:00
Piplup 210d5d29ed UI: Add options to hide extra columns (#9093)
UI change that allows the user to hide the size and or file types columns
2022-11-04 02:30:39 -04:00
bunnei 7c3bee5601 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
bunnei 900d89f2b9 Merge pull request #9135 from liamwhite/service-thread-event
kernel: invert session request handling flow
2022-11-03 21:45:56 -07:00
bunnei 0335904d60 core: hle: kernel: k_page_table: Remove unnecessary casts. 2022-11-03 21:17:08 -07:00
bunnei 0b18b1426a core: hle: kernel: k_page_table: Manually open/close pages for IPC methods. 2022-11-03 21:17:08 -07:00
bunnei 9bde36cb85 core: hle: kernel: k_page_table: Implement IPC memory methods. 2022-11-03 21:17:07 -07:00
bunnei e88395e6cd core: hle: kernel: k_memory_manager: Refresh. 2022-11-03 21:17:07 -07:00
bunnei e81fcf5795 core: hle: kernel: Integrate system KSystemResource. 2022-11-03 21:17:07 -07:00
bunnei d28e5d7e49 core: hle: kernel: k_dynamic_page_manager: Refresh. 2022-11-03 21:17:07 -07:00
bunnei 57796fc36e core: hle: kernel: Add KSystemResource. 2022-11-03 21:17:07 -07:00
bunnei 512ddcd3d4 core: hle: kernel: k_handle_table: Refresh. 2022-11-03 21:17:07 -07:00
bunnei a6e1e61bd6 core: hle: kernel: k_memory_layout: Refresh. 2022-11-03 21:17:07 -07:00
bunnei acb9386c80 core: hle: kernel: k_memory_region_type: Refresh. 2022-11-03 21:17:07 -07:00
bunnei 992e678f4a core: hle: kernel: slab_helpers: Add KAutoObjectWithSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei d3b3eb1d6d core: hle: kernel: k_dynamic_resource_manager: Add KBlockInfoManager, KBlockInfoSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 3196057319 core: hle: kernel: k_page_bitmap: Refresh. 2022-11-03 21:17:06 -07:00
bunnei 46425afc3e core: hle: kernel: k_memory_block: Refresh. 2022-11-03 21:17:06 -07:00
bunnei 5a46757171 core: hle: kernel: k_page_heap: Refresh. 2022-11-03 21:17:06 -07:00
bunnei ddf0fbd8e9 core: hle: kernel: k_page_group: Add KPageBufferSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 53e40c01e7 core: hle: kernel: k_system_control: Add SecureAppletMemorySize. 2022-11-03 21:17:06 -07:00
bunnei 8973237f87 core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 6e069b7ee5 core: hle: kernel: Add KPageTableManager. 2022-11-03 21:17:06 -07:00
bunnei 315292275e core: hle: kernel: Add KPageTableSlabHeap. 2022-11-03 21:17:06 -07:00
bunnei 019e425377 core: hle: kernel: Add KEventInfo. 2022-11-03 21:17:06 -07:00
bunnei 0146d20e51 core: hle: kernel: Add KDebug. 2022-11-03 21:17:06 -07:00
bunnei a91e38694a core: hle: result: Fix code for compilers. 2022-11-03 21:17:06 -07:00
Fernando S 5b0b321b41 Merge pull request #9154 from liamwhite/new-fb
vk_blit_screen: recreate swapchain images on guest format change
2022-11-04 01:25:34 +01:00
Morph c2875cf69a Merge pull request #9097 from liamwhite/intel-spv-compiler
video_core: don't build ASTC decoder shader unless requested
2022-11-03 19:29:33 -04:00
bunnei 6a447fd764 core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.
- These APIs are used to capture the opened users and allow that state to be persisted across processes.
- They are not intended to just return the system opened users, that is what ListOpenUsers is for.
- Fixes the launch hang with Bayonetta 3.
2022-11-02 16:09:30 -07:00
Ludovic 7db0379386 remove unnecessary sepator in file menu (main.ui) 2022-11-02 17:33:53 +01:00
liamwhite 8ae1589bcd Merge pull request #9143 from K0bin/scheduler-empty
vk_scheduler: Remove recorded_counts
2022-10-31 21:37:46 -04:00
Liam 710220601f sm:: avoid excessive port recreation 2022-10-31 17:47:39 -04:00
Liam 2a4a371112 kernel: fix single core for service threads 2022-10-31 17:45:46 -04:00
Liam 8f65df7619 kernel: fix port tracking 2022-10-31 17:45:46 -04:00
Liam 57e5211eb6 k_server_session: add SendReplyHLE 2022-10-31 17:45:45 -04:00
Liam b5a9e6f989 service_thread: convert to map for session management 2022-10-31 17:44:07 -04:00
Liam 2e56a382a9 kernel: invert session request handling flow 2022-10-31 17:44:06 -04:00
bunnei 305d8ede21 Merge pull request #9159 from liamwhite/kbork
kernel: more complete fix for KPort reference counting
2022-10-31 11:18:17 -07:00
FengChen 3e0cc4fd75 video_core: Fix drawing trigger mechanism regression 2022-10-31 21:57:38 +08:00
Liam e86cadc4c4 kernel: more complete fix for KPort reference counting 2022-10-31 08:23:29 -04:00
bunnei 3b0a19f749 Merge pull request #9155 from FernandoS27/goosfraba
Vulkan: Fix regression caused by limiting render area to width/height of render targets.
2022-10-30 17:34:28 -07:00
Liam e9589c859d k_thread: fix single core 2022-10-30 18:44:29 -04:00
Fernando Sahmkow ed7af8f0d9 Vulkan: Fix regression caused by limiting render area to width/height of rendef targets. 2022-10-30 21:24:28 +01:00