Commit Graph

18859 Commits (f783883bf89311b51aef76b6b8b07d112369eca7)

Author SHA1 Message Date
bunnei 2afef2b609 hle: service: filesystem: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei 11120b5b1e hle: service: audio: Create a service thread where appropriate. 2022-04-02 01:24:30 +07:00
bunnei bf1750664c hle: service: Add option for service interfaces to create or use the default thread. 2022-04-02 01:24:30 +07:00
bunnei 864523327f hle: kernel: Create a default thread for services that do not need their own host thread. 2022-04-02 01:24:30 +07:00
Morph 1166c3910d applets/web: Keep foreground (websession) web applet open
This is a hack to keep the foreground (websession) web applet open in games using these such as Super Mario 3D All-Stars.
2022-04-01 22:50:01 +07:00
Liam 7d5a38ea6c shader_compiler: support const buffer indirect addressing in GLSL 2022-04-01 17:08:40 +07:00
Andrea Pappacoda faf6a9876c
audio_core: remove time stretcher
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +07:00
Fernando S 550844e5e8
Merge pull request #8128 from FernandoS27/gc-fixes
GPU Garbage Collection: Fix regressions.
2022-04-01 17:19:55 +07:00
Liam a45baa0e78 shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V 2022-04-01 11:17:54 +07:00
Mai M d061dc4342
Merge pull request #8079 from lat9nq/applet-typo
configure_debug: Fix typo
2022-04-01 11:15:15 +07:00
Mai M 4e4dbb6821
Merge pull request #8097 from Tachi107/build-cleanup-install
build: cleanup installation of yuzu and yuzu-cmd
2022-04-01 11:14:39 +07:00
Fernando S b1fdc02465
Merge pull request #8066 from ameerj/gpu-decode-fixes
codec: Fix GPU decoder detection on Windows and a memory leak
2022-04-01 01:37:22 +07:00
Fernando Sahmkow e9e671d101 GPU Garbage Collection: Fix regressions. 2022-04-01 01:36:24 +07:00
Fernando S 078a6cb0cb
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +07:00
german77 9346f0b33d service: hid: Remove inaccurate behavior on initialization 2022-03-31 12:35:57 +07:00
bunnei 9b52ee4558
Merge pull request #8076 from ameerj/nv-vk-msaa-scale
Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
2022-03-30 23:00:44 +07:00
bunnei c6aa4ec687
Merge pull request #8120 from german77/signal
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 +07:00
bunnei 365c6ad753
Merge pull request #8090 from bunnei/fix-skyline
Kernel Memory Updates (Part 7): Various fixes to code memory (Skyline support)
2022-03-30 18:23:37 +07:00
Narr the Reg c04e65c254 service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle 2022-03-30 17:09:28 +07:00
bunnei 8e9d253687
Merge pull request #8107 from german77/fullscreen
yuzu: Only override fullscreen setting if gamepath or argument is provided
2022-03-29 17:43:10 +07:00
ameerj 69807dd208 nvhost_ctrl: Only mark EventState::Busy as BadParameter
Fixes an svc break in Kirby and the Forgotten Land with async GPU enabled.
2022-03-29 15:13:30 +07:00
Morph 6552968df4
Merge pull request #8109 from lat9nq/god-why
yuzu_cmd: Start the logging backend
2022-03-29 03:52:50 +07:00
lat9nq 0d7a0c0817 yuzu_cmd: Start the logging backend 2022-03-28 23:14:42 +07:00
german77 90c846d1ad yuzu: Only override fullscreen setting if gamepath or argument is provided 2022-03-28 18:52:27 +07:00
ameerj 3e489782e1 gl_rasterizer: Avoid scenario locking already owned mutex
gpu.TickWork() may lock the texture_cache and buffer_cache mutexes, which are owned by the thread prior to invoking TickWork().

Defer invoking gpu.TickWork() until the scope ends, where the owned mutexes are released.
2022-03-28 20:35:15 +07:00
bunnei 642913b0d1
Merge pull request #8098 from merryhime/ic-ivau
dynarmic: Invalidate CPU cache on all cores
2022-03-28 15:45:52 +07:00
Morph ea7a0d4652 registered_cache: Prevent nullptr dereference when accumulating files
For whatever reason, nca_file/dir can be nullptr in the list of files/dirs. I have not determined the cause of this yet, so add a nullptr check for these prior to dereferencing them.
2022-03-27 17:06:27 +07:00
Mai M 7382e7a5c8
Merge pull request #8095 from bylaws/master
shader_recompiler: Include <bit> header when std::count{r,l}_zero is used
2022-03-27 12:36:19 +07:00
merry 1383441b15 arm_dynarmic_64: Invalidate on all cores 2022-03-27 15:37:19 +07:00
Andrea Pappacoda af94bf4a59
build: cleanup installation of yuzu and yuzu-cmd
Explicitly specifying an install destination is not needed anymore since
CMake 3.14.

By removing the hardcoded ${CMAKE_INSTALL_PREFIX}/bin it is also now
possible to override the install destination via the command line. For
example, you can now install yuzu to /usr/games with
-DCMAKE_INSTALL_BINDIR=games
2022-03-27 15:10:24 +07:00
Fernando S 99654721eb
Merge pull request #8088 from bunnei/fixup-nvflinger
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +07:00
bunnei af04f8b8e9
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory." 2022-03-26 12:38:30 +07:00
merry 94967e0f6d configure_cpu: More descriptive text for Paranoid option 2022-03-26 08:56:23 +07:00
bunnei 9408100a80 hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory. 2022-03-26 01:49:34 +07:00
bunnei 0c75913bf2 hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory. 2022-03-26 01:46:41 +07:00
merry 3c8547160d configuration: Add Paranoid CPU accuracy level
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +07:00
bunnei 1b3dba329a hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space. 2022-03-26 01:35:37 +07:00
bunnei 3bc0c2a625 hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 +07:00
bunnei 94543f129e hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space. 2022-03-26 01:33:16 +07:00
bunnei 5b667f5e52 hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup. 2022-03-26 01:25:52 +07:00
bunnei c975a51ae7 hle: kernel: k_page_table: Add IsHeapPhysicalAddress method. 2022-03-26 01:23:43 +07:00
bunnei f29410d821 hle: kernel: k_page_linked_list: Add Empty method. 2022-03-26 01:02:42 +07:00
bunnei 4e2401c11a hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check. 2022-03-26 01:01:55 +07:00
bunnei 664d8c8732
Merge pull request #8041 from Morph1984/inline-swkbd
applets/swkbd: Add support for an updated inline software keyboard
2022-03-25 23:19:11 +07:00
bunnei 25faca8ea7 hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking. 2022-03-25 23:01:03 +07:00
bunnei 07c7f96fb2 hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock. 2022-03-25 22:59:06 +07:00
bunnei 13aa0a1f24 hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock. 2022-03-25 22:58:52 +07:00
bunnei 741a8c3034 hle: service: nvflinger: Remove unused BufferQueue. 2022-03-25 22:58:23 +07:00
Fernando Sahmkow a2d7b2f905 Memory: Don't protect reads on Normal accuracy. 2022-03-25 04:24:25 +07:00
Fernando Sahmkow 7a9d9e575b Texture Cache: Add Cached CPU system. 2022-03-25 04:24:05 +07:00
bunnei ab6a5784fa
Merge pull request #7720 from FernandoS27/yfc-gc
First Nugget: Reworked Garbage Collection to be smarter [originally from Project YFC]
2022-03-24 20:16:11 +07:00
Fernando S 0608336c60
Merge pull request #8050 from bunnei/nvflinger-rewrite
Rewrite of the NVFlinger implementation
2022-03-25 03:36:55 +07:00
Fernando S d108c2873d
Merge pull request #8068 from ameerj/shader-if-false
shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass
2022-03-25 03:21:27 +07:00
Fernando Sahmkow 9872d4bc4f GC: Address Feedback. 2022-03-25 03:05:56 +07:00
bunnei c64e1ae104 hle: nvflinger: ConsumerBase: Mark ctor as explicit. 2022-03-24 18:13:34 +07:00
bunnei 02dbb2ed54 hle: vi: NativeWindow: Fix trivially copyable issues. 2022-03-24 18:13:34 +07:00
bunnei c9d28c30f0 hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup. 2022-03-24 18:13:34 +07:00
bunnei 241ecae867 hle: nvdrv: nvdata: Cleanup NvFence static assert. 2022-03-24 18:13:34 +07:00
bunnei 81eefcaa76 hle: nvflinger: Remove unused unordered_map include. 2022-03-24 18:13:34 +07:00
bunnei 3b13f5e43b hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo. 2022-03-24 18:13:34 +07:00
bunnei 4d9488033f hle: nvflinger: Merge Rect with Common::Rectangle. 2022-03-24 18:13:33 +07:00
bunnei e524def8c0 hle: nvflinger: buffer_queue_core: Declare default dtor. 2022-03-24 18:13:33 +07:00
bunnei 8e35eedf22 hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock. 2022-03-24 18:13:33 +07:00
bunnei 0ce308047e hle: nvflinger: consumer_base: StillTracking: Should be const. 2022-03-24 18:13:33 +07:00
bunnei 480c79edba hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack. 2022-03-24 18:13:33 +07:00
bunnei 7db60fe7da hle: nvflinger: parcel: Reserve token size. 2022-03-24 18:13:33 +07:00
bunnei ddd5a2b1c6 hle: nvflinger: buffer_queue_core: StillTracking: Take const reference. 2022-03-24 18:13:33 +07:00
bunnei 53058ae73f hle: nvflinger: buffer_queue_core: Cleanup locking. 2022-03-24 18:13:33 +07:00
bunnei 650c9d0d62 hle: nvflinger: Use std::chrono for present_ns. 2022-03-24 18:13:33 +07:00
bunnei ca12a77670 hle: nvflinger: Migrate android namespace -> Service::android. 2022-03-24 18:13:33 +07:00
bunnei 5849c9a4cd hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer.
- Used by Naruto Ultimate Ninja Storm.
2022-03-24 18:13:33 +07:00
bunnei 7f4165fc05 hle: vi: Integrate new NVFlinger and HosBinderDriverServer service. 2022-03-24 18:13:33 +07:00
bunnei a87812c6a1 hle: nvflinger: Add implementation for HosBinderDriverServer service. 2022-03-24 18:13:33 +07:00
bunnei 56284bff6c hle: nvflinger: Add implementation for BufferQueueProducer class. 2022-03-24 18:13:33 +07:00
bunnei bfff7b58fd hle: nvflinger: Add implementation for BufferQueueCore class. 2022-03-24 18:13:33 +07:00
bunnei 6e7f687df4 hle: nvflinger: Add implementation for BufferQueueConsumer class. 2022-03-24 18:13:32 +07:00
bunnei 41983bc0ca hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs. 2022-03-24 18:13:32 +07:00
bunnei 0057159066 hle: nvflinger: Add implementation for BufferItemConsumer class. 2022-03-24 18:13:32 +07:00
bunnei 79e8cdf595 hle: nvflinger: Add implementation for ConsumerBase class. 2022-03-24 18:13:32 +07:00
bunnei d25cb12bff hle: nvflinger: Add implementation for BufferSlot class. 2022-03-24 18:13:32 +07:00
bunnei c723db39c7 hle: nvflinger: Add implementation for BufferItem class. 2022-03-24 18:13:32 +07:00
bunnei d13e18a8ed hle: nvflinger: Move implementation for Parcel to its own header. 2022-03-24 18:13:32 +07:00
bunnei a454670de5 hle: nvflinger: Add android buffer queue definitions to its own header. 2022-03-24 18:13:32 +07:00
bunnei fe9945ad6c hle: nvflinger: Add IBinder interface. 2022-03-24 18:13:32 +07:00
bunnei b9cbc708e8 hle: nvflinger: Add IConsumerListener interface. 2022-03-24 18:13:32 +07:00
bunnei 81e143a3d2 hle: nvflinger: Add ProducerListener interface. 2022-03-24 18:13:32 +07:00
bunnei fd24d5a0a2 hle: nvflinger: Add android window enumerations to its own header. 2022-03-24 18:13:32 +07:00
bunnei 05ff9e8d4e hle: nvflinger: Add android Status flags to its own header. 2022-03-24 18:13:32 +07:00
bunnei 05d80fba38 hle: nvflinger: Move BufferTransformFlags to its own header. 2022-03-24 18:13:32 +07:00
bunnei 402273d91b hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts. 2022-03-24 18:13:32 +07:00
bunnei d456b9d554 hle: nvflinger: Move PixelFormat to its own header. 2022-03-24 18:13:32 +07:00
bunnei 5a8b9a9706 hle: nvflinger: Add implementation for GraphicBuffer class. 2022-03-24 18:13:32 +07:00
bunnei 8c27465325 hle: nvflinger: Add implementation for Fence class. 2022-03-24 18:13:32 +07:00
bunnei d47575f2c5 hle: nvflinger: Add implementation for Rect class. 2022-03-24 18:13:32 +07:00
bunnei 0704b645df common: logging: Add a logger for NVFlinger. 2022-03-24 18:13:32 +07:00
Fernando Sahmkow 9edbbf2af4 Garbage Collection: Final tuning. 2022-03-25 01:51:52 +07:00
Fernando Sahmkow 5e982a7812 Buffer Cache: Tune to the levels of the new GC. 2022-03-25 01:51:51 +07:00
Fernando Sahmkow ecb3342145 Garbage Collection: Redesign the algorithm to do a better use of memory. 2022-03-25 01:51:51 +07:00
lat9nq c09a4f4eb6 configure_debug: Fix typo
I thought I removed the double-asterisks in
db637b5a4c but I am apparently mistaken.
This corrects that.

While we're at it, capitalize `All` in the previous setting.
2022-03-24 17:20:19 +07:00
Fernando S 8f2e5f5666
Merge pull request #8074 from liamwhite/cached-words
buffer_cache: reset cached write bits after flushing invalidations
2022-03-24 17:13:46 +07:00
bunnei c50f2bd4f6
Merge pull request #8035 from lat9nq/disable-web-applet
yuzu qt: Disable the web applet by default
2022-03-23 21:08:20 +07:00
ameerj 8d45dd3b73 Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
Nvidia Vulkan drivers 510+ crash when blitting MSAA images. Fall-back to 3D scale helpers for MSAA image scaling.
2022-03-23 23:30:17 +07:00
Liam dea5de91d2 buffer_cache: reset cached write bits after flushing invalidations 2022-03-23 20:59:01 +07:00
ameerj 67159e3be7 dead_code_elimination_pass: Remove unreachable Phi arguments 2022-03-23 17:57:22 +07:00
Shoegzer a8896e940a Add include to fix compiling 2022-03-23 16:18:48 +07:00
bunnei 749efbb84b
Merge pull request #8031 from Morph1984/cleanup-mii-please
applets: Cleanup MiiEdit applet implementation
2022-03-22 21:56:42 +07:00
bunnei e439c31c9e
Revert "dynarmic: Reduce size of code caches" 2022-03-22 18:32:54 +07:00
Billy Laws dd862dff66 Include <bit> header when std::count{r,l}_zero is used
Needed for compilation with older libc++ releases
2022-03-22 21:11:24 +07:00
ameerj f10d40a0a2 shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass
This adds a pass to eliminate if(false) branches within the shader code
2022-03-22 02:39:31 +07:00
Morph e6f200b960 applets/swkbd: Split software keyboard initialization
Since the CalcArg struct has been updated with a new size and fields, we have to split the initialization of the keyboard into multiple functions.
This also adds support for parsing the new CalcArg struct used by updated versions of Monster Hunter Rise.
2022-03-21 23:58:50 +07:00
Morph e7c1e6fc27 applets/swkbd: Add new inline software keyboard types
These were added in newer firmware versions.
2022-03-21 23:58:50 +07:00
Morph 6e232b9efe applets/mii: Remove unused include 2022-03-21 23:57:31 +07:00
Morph bcca849d0c applets/mii: Remove frontend parameters
These are unused for now as we do not support a frontend implementation.
2022-03-21 23:57:31 +07:00
Morph c50401903f applets/mii: Cleanup MiiEdit applet implementation
This also enables proper support for MiiEdit applets which are used in games with firmware versions prior to 10.2.0 by handling the 2 different versions of applet inputs and outputs.
2022-03-21 23:57:31 +07:00
Morph 1d5f6b173d applets/mii: Cleanup MiiEdit applet types 2022-03-21 23:57:31 +07:00
Morph 7c44a4ede3 applets/mii: Move MiiEdit applet types into its own file 2022-03-21 23:57:31 +07:00
Morph aa44ef7b64 service: Move mii enums and structs into its own file
Moves these into types.h, since other files also make use of these types.
2022-03-21 23:57:31 +07:00
Morph e05e6853fa applets: Rename Mii to MiiEdit 2022-03-21 23:57:31 +07:00
ameerj b3cfccdb80 qt_web_browser: Add missing includes 2022-03-21 22:42:14 +07:00
Ameer J 75046a3351
Merge pull request #8038 from liamwhite/exit-register-detection
shader_recompiler/EXIT: increment output register on failed enable test
2022-03-21 21:24:07 +07:00
bunnei 82ac66f8a4
Merge pull request #8048 from ameerj/include-purge
general: Reduce unused includes across the project
2022-03-21 18:03:54 +07:00
ameerj 15f9472b15 codec: Plug GPU decoder memory leak 2022-03-21 20:22:52 +07:00
ameerj 109566fc8f codec: Disable HW_FRAMES method check on Windows
It was reported that this method causes crashes on certain Linux decoding backends, hence the check to avoid it.

This subsequently caused Windows GPU decoders to never be selected and always fall back to CPU decoding, disable the check on Windows for now.
2022-03-21 20:21:09 +07:00
bunnei ff2e891022
Merge pull request #7812 from FernandoS27/made-straight-from-the-nut
BufferCache: Find direction of the stream buffer increase.
2022-03-20 15:23:53 +07:00
Fernando Sahmkow 3b0d233cbd BufferCache: Find direction of the stream buffer increase. 2022-03-20 21:37:23 +07:00
Fernando S 7c05c987a3
Merge pull request #8036 from ameerj/starbit-nv
vk_texture_cache: Do not reinterpret DepthStencil source images
2022-03-20 13:35:59 +07:00
bunnei 150f6db4d1
Merge pull request #7840 from lioncash/bitor
texture_cache: Amend unintended bitwise OR in SynchronizeAliases
2022-03-20 02:19:30 +07:00
ameerj 866b7c20a8 general: Fix clang/gcc build errors 2022-03-20 02:25:09 +07:00
ameerj a367db44cf yuzu_cmd: Reduce unused includes 2022-03-20 02:25:09 +07:00
ameerj 936829e873 yuzu: Reduce unused includes 2022-03-20 02:25:09 +07:00
ameerj 9b505758dc web_service: Reduce unused includes 2022-03-20 02:25:09 +07:00
ameerj 967ed01fcf input_common: Reduce unused includes 2022-03-20 02:25:09 +07:00
ameerj 574a2c4b77 shader_recompiler: Reduce unused includes 2022-03-20 02:25:08 +07:00
bunnei 5960d54722
Merge pull request #8040 from Morph1984/handle-table
KHandleTable: Optimize table entry layout
2022-03-19 23:17:37 +07:00
ameerj 923decae5a common: Reduce unused includes 2022-03-19 15:01:31 +07:00
ameerj 1bc7d61b57 video_core: Reduce unused includes 2022-03-19 15:01:31 +07:00
bunnei 17ebe211ec
Merge pull request #8025 from lat9nq/cmd-specify-config
yuzu_cmd: Allow user to specify config file location
2022-03-19 01:33:50 +07:00
ameerj 8a8ea65fae common: Reduce unused includes 2022-03-19 02:23:33 +07:00
ameerj ade596121b core: Reduce unused includes 2022-03-19 02:23:32 +07:00
bunnei 8c8b5359f2
Merge pull request #8028 from v1993/patch-9
bsd: Allow inexact match for address length in AcceptImpl
2022-03-18 18:06:13 +07:00
Liam 536d7ed7b1 Address review comments 2022-03-18 15:55:46 +07:00
Liam d400b618a7 shader_recompiler/EXIT: skip render targets with no outputs 2022-03-18 09:26:25 +07:00
ameerj d618bba8a6 general: Reduce core.h includes 2022-03-18 02:13:02 +07:00
Morph 8b7d571b66 KHandleTable: Optimize table entry layout
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-18 00:28:25 +07:00
Liam 6fa17f3372 shader_recompiler/EXIT: increment output register on failed enable test 2022-03-17 22:09:31 +07:00
ameerj 4d840aa903 vk_texture_cache: Do not reinterpret DepthStencil source images
Fixes star pointer interactions in Super Mario Galaxy on some drivers, notably Nvidia.

Co-Authored-By: Fernando S. <1731197+fernandos27@users.noreply.github.com>
2022-03-17 20:55:05 +07:00
Fernando S cb86e7941b
Merge pull request #8024 from liamwhite/const-indexing
Add shader support for const buffer indirect addressing
2022-03-18 00:36:31 +07:00
Fernando S a616f49864
Merge pull request #8030 from liamwhite/s8d24-conversion
Vulkan: convert S8D24 <-> ABGR8
2022-03-18 00:36:06 +07:00
lat9nq db637b5a4c yuzu qt: Save disable_web_applet setting
The web applet causes multiple issues with the rest of the application.
Disable it by default and add a debug option to re-enable it until a
proper solution can be found.
2022-03-17 19:20:15 +07:00
lat9nq 7760777c06 main: Update Disable Web Applet warning 2022-03-17 18:14:27 +07:00