german77
8c089f4e2a
service: hid: Partially revert #8123
2022-04-05 22:35:38 -05:00
bunnei
12dc4d0527
Merge pull request #8137 from bunnei/improve-nvflinger-2
...
Follow-up fixes for NVFlinger rewrite (Part 2)
2022-04-05 19:11:28 -07:00
bunnei
0c1b954e07
Merge pull request #8100 from Morph1984/registered-crash
...
registered_cache: Prevent nullptr dereference when accumulating files
2022-04-05 18:18:41 -07:00
lat9nq
b976cac49d
k_system_control: Fix data race
...
`return distribution(gen)` is a data race between a read and a write in
two threads, reported by TSan. Remove static random number generators so
they aren't using the same generator.
2022-04-05 19:55:56 -04:00
Mai M
e4c3565ebe
Merge pull request #8159 from merryhime/pst
...
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 17:18:31 -04:00
merry
7f11710e0a
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 20:40:20 +01:00
Andrea Pappacoda
ce859cf526
build: remove -fconcepts
...
It was needed on GCC versions not supporting `-std=c++20`, but GCC 10 and newer (required to compile yuzu) don't need it anymore
2022-04-05 20:52:11 +02:00
bunnei
02473ea7d5
Revert "texture_cache/util: Remove unneeded ReadBlockUnsafe"
2022-04-04 16:26:53 -07:00
Liam
1ab771c3ad
shader_recompiler: Decrease indirect cbuf limit to match hardware
2022-04-04 16:44:01 -04:00
ameerj
494c41dd5a
texture_cache/util: Remove unneeded ReadBlockUnsafe
...
This call was reading GPU memory into the dst buffer, which is then overwritten by the SwizzleTexture call.
2022-04-04 15:57:54 -04:00
bunnei
f114436120
Merge pull request #8089 from merryhime/paranoia
...
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
Liam
b7be6a4316
OpenGL: fix cropping
2022-04-04 12:51:09 -04:00
Liam
c59c035d74
Vulkan: crop to screen dimensions if crop not explicitly requested
2022-04-04 11:45:15 -04:00
Liam
a57531854e
OpenGL: propagate face flip condition
2022-04-04 10:32:14 -04:00
Liam
cb913e5c02
OpenGL: flip front faces if Z scale is inverted
2022-04-04 10:19:40 -04:00
lat9nq
983916e919
k_auto_object: Fix data race
...
Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
2022-04-03 21:47:58 -04:00
lat9nq
6bcbbb29e7
k_thread: Fix data race
...
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 -04:00
lat9nq
d6a0666268
k_process: Fix data race
...
TSan reported a race between thread 36 and thread 34, a read at :225 and
a write at :225 respectively. Make total_proces_running_time_ticks
atomic to avoid this race.
2022-04-03 21:47:57 -04:00
lat9nq
5b5a1b7fa7
kernel: Fix current_process race
...
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 -04:00
lat9nq
83b86d915a
k_scheduler_lock: Fix data race
...
TSan reports a race between the main thread and T37 during
IsLockedByCurrentThread and when it's set at the end of Lock(),
respectively. Set owner_thread to an atomic pointer to fix it.
Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03 21:47:57 -04:00
Merry
4052bfb4ad
native_clock: Internal linkage for FencedRDTSC
...
__forceinline required on MSVC for function to be inlined
2022-04-03 22:38:12 +01:00
merry
fdd4d019ef
native_clock: Use lfence with rdtsc
2022-04-03 22:38:10 +01:00
bunnei
e9cf2d43f1
Merge pull request #8105 from merryhime/atomicload128
...
native_clock: Use AtomicLoad128
2022-04-03 14:26:28 -07:00
merry
a5d040df3d
arm_dynarmic: Use HaltReason for svc calls and reschedules
2022-04-03 18:20:11 +01:00
merry
f8b8af47ad
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
bunnei
2d1af6beee
Merge pull request #8135 from Morph1984/websession-hack
...
applets/web: Keep foreground (websession) web applet open
2022-04-02 20:49:51 -07:00
bunnei
b5910ad0ba
Merge pull request #8123 from german77/bombslinger
...
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 -07:00
german77
3e5469a974
service: npad: Default initialize shared memory
2022-04-02 19:43:49 -06:00
merry
979e53b87b
native_clock: Use writeback from CAS to avoid double-loading
2022-04-02 22:22:48 +01:00
merry
084bd225dc
atomic_ops: Implement AtomicCompareAndSwap with writeback
2022-04-02 22:22:48 +01:00
Merry
c562c1d6be
native_clock: Use AtomicLoad128
2022-04-02 20:55:36 +01:00
Merry
b4746529e1
atomic_ops: Implement AtomicLoad128
2022-04-02 20:55:36 +01:00
merry
7f1e66e94b
Merge pull request #8134 from Tachi107/remove-time-stretcher
...
audio_core: remove time stretcher
2022-04-02 20:49:21 +01:00
Morph
1e47252214
Merge pull request #8141 from merryhime/configure-hotkeys-columns
...
configure_hotkeys: Make first column stretch and not last column
2022-04-02 15:35:31 -04:00
Morph
0bcbe3a703
Merge pull request #8140 from merryhime/per-game-addon-columns
...
configure_per_game_addons: Stretch first column and not last
2022-04-02 15:35:26 -04:00
merry
f4004b1271
configure_per_game_addons: Set tree view minimum section size to 150px
2022-04-02 17:19:25 +01:00
merry
8c57de1605
configure_hotkeys: Make first column stretch and not last column
...
Also configure minimum width of columns to be 150px.
2022-04-02 17:17:13 +01:00
Andrea Pappacoda
0c214cb5b9
fix: typos
2022-04-02 16:34:07 +02:00
merry
8dc1913db8
configure_per_game_addons: Stretch first column and not last
...
This provides more sensible column widths.
2022-04-02 13:46:16 +01:00
bunnei
fdf4909f97
hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes.
2022-04-01 22:59:35 -07:00
bunnei
4036e37bbe
hle: service: nvflinger: consumer_base: Cleanup & fixes.
2022-04-01 22:58:40 -07:00
bunnei
30b07878ba
hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers.
2022-04-01 22:58:02 -07:00
bunnei
7610554b1e
hle: service: nvflinger: buffer_queue_core: Cleanup & fixes.
2022-04-01 22:56:32 -07:00
bunnei
f9371f36a4
hle: service: nvflinger: Use correct logger namespace.
2022-04-01 22:55:44 -07:00
Morph
93f010c988
hle: service: nvdrv: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
d02bf6dab1
hle: service: vi: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
99770653bb
hle: service: bsd: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
2afef2b609
hle: service: filesystem: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
11120b5b1e
hle: service: audio: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04: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 -04: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 -04:00
Liam
7d5a38ea6c
shader_compiler: support const buffer indirect addressing in GLSL
2022-04-01 17:08:40 -04:00
Andrea Pappacoda
faf6a9876c
audio_core: remove time stretcher
...
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
Fernando S
550844e5e8
Merge pull request #8128 from FernandoS27/gc-fixes
...
GPU Garbage Collection: Fix regressions.
2022-04-01 17:19:55 +02:00
Liam
a45baa0e78
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
2022-04-01 11:17:54 -04:00
Mai M
d061dc4342
Merge pull request #8079 from lat9nq/applet-typo
...
configure_debug: Fix typo
2022-04-01 11:15:15 -04: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 -04: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 +02:00
Fernando Sahmkow
e9e671d101
GPU Garbage Collection: Fix regressions.
2022-04-01 01:36:24 +02: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 +02:00
german77
9346f0b33d
service: hid: Remove inaccurate behavior on initialization
2022-03-31 12:35:57 -06: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 -06: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 -04:00
Morph
6552968df4
Merge pull request #8109 from lat9nq/god-why
...
yuzu_cmd: Start the logging backend
2022-03-29 03:52:50 -04:00
lat9nq
0d7a0c0817
yuzu_cmd: Start the logging backend
2022-03-28 23:14:42 -04:00
german77
90c846d1ad
yuzu: Only override fullscreen setting if gamepath or argument is provided
2022-03-28 18:52:27 -06: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 -04: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 -04: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 -04:00
merry
1383441b15
arm_dynarmic_64: Invalidate on all cores
2022-03-27 15:37:19 +01: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 +02:00
Fernando S
99654721eb
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02: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 +00: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 +00: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 +01:00
Fernando Sahmkow
7a9d9e575b
Texture Cache: Add Cached CPU system.
2022-03-25 04:24:05 +01: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 +01: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 +01:00
Fernando Sahmkow
9872d4bc4f
GC: Address Feedback.
2022-03-25 03:05:56 +01: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 +01:00
Fernando Sahmkow
5e982a7812
Buffer Cache: Tune to the levels of the new GC.
2022-03-25 01:51:51 +01:00
Fernando Sahmkow
ecb3342145
Garbage Collection: Redesign the algorithm to do a better use of memory.
2022-03-25 01:51:51 +01: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 -04: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 +01: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 -04:00
Liam
dea5de91d2
buffer_cache: reset cached write bits after flushing invalidations
2022-03-23 20:59:01 -04:00
ameerj
67159e3be7
dead_code_elimination_pass: Remove unreachable Phi arguments
2022-03-23 17:57:22 -04:00
Shoegzer
a8896e940a
Add include to fix compiling
2022-03-23 16:18:48 -04: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 +00: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 -04: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 -04:00
Morph
e7c1e6fc27
applets/swkbd: Add new inline software keyboard types
...
These were added in newer firmware versions.
2022-03-21 23:58:50 -04:00
Morph
6e232b9efe
applets/mii: Remove unused include
2022-03-21 23:57:31 -04: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 -04: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 -04:00
Morph
1d5f6b173d
applets/mii: Cleanup MiiEdit applet types
2022-03-21 23:57:31 -04:00
Morph
7c44a4ede3
applets/mii: Move MiiEdit applet types into its own file
2022-03-21 23:57:31 -04: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 -04:00
Morph
e05e6853fa
applets: Rename Mii to MiiEdit
2022-03-21 23:57:31 -04:00
ameerj
b3cfccdb80
qt_web_browser: Add missing includes
2022-03-21 22:42:14 -04:00
Narr the Reg
ee532e5c01
input_common: Map sticks correctly when mapped sideways
2022-03-21 19:39:33 -06: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 -04: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 -04: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 -04: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 +01: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 +01: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 -04:00
ameerj
a367db44cf
yuzu_cmd: Reduce unused includes
2022-03-20 02:25:09 -04:00
ameerj
936829e873
yuzu: Reduce unused includes
2022-03-20 02:25:09 -04:00
ameerj
9b505758dc
web_service: Reduce unused includes
2022-03-20 02:25:09 -04:00
ameerj
967ed01fcf
input_common: Reduce unused includes
2022-03-20 02:25:09 -04:00
ameerj
574a2c4b77
shader_recompiler: Reduce unused includes
2022-03-20 02:25:08 -04: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 -04:00
ameerj
1bc7d61b57
video_core: Reduce unused includes
2022-03-19 15:01:31 -04: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 -04:00
ameerj
ade596121b
core: Reduce unused includes
2022-03-19 02:23:32 -04: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 -04:00
Liam
d400b618a7
shader_recompiler/EXIT: skip render targets with no outputs
2022-03-18 09:26:25 -04:00
ameerj
d618bba8a6
general: Reduce core.h includes
2022-03-18 02:13:02 -04: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 -04:00
Liam
6fa17f3372
shader_recompiler/EXIT: increment output register on failed enable test
2022-03-17 22:09:31 -04: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 -04: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 +01:00
Fernando S
a616f49864
Merge pull request #8030 from liamwhite/s8d24-conversion
...
Vulkan: convert S8D24 <-> ABGR8
2022-03-18 00:36:06 +01: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 -04:00
lat9nq
7760777c06
main: Update Disable Web Applet warning
2022-03-17 18:14:27 -04:00
lat9nq
fa46fb90fb
configure_debug: Add option to set disable_web_applet
...
Allow the user to configure the web applet usage ahead of booting the
application.
2022-03-17 18:03:13 -04:00
lat9nq
1cbe23ed7b
yuzu: Move disable_web_applet to UISettings
2022-03-17 16:55:30 -04:00
Liam
3009d0bd7d
Address review comments
2022-03-17 14:48:18 -04:00
Liam
e228a40db8
shader_recompiler: Use functions for indirect const buffer accesses
2022-03-17 13:30:21 -04:00
Liam
3ac522ba41
Address review comments
2022-03-17 09:30:41 -04:00
bunnei
f55af65e82
Merge pull request #7964 from german77/miiii
...
applet: mii: Simple implementation of mii applet
2022-03-16 21:37:53 -07:00
Liam
6407f16d81
Address review comments
2022-03-16 18:00:42 -04:00
Liam
1415542f73
shader_recompiler: Implement LDC.IS address mode
2022-03-16 11:05:04 -04:00
Fernando S
2db5076ec9
Merge pull request #8013 from bunnei/kernel-slab-rework-v2
...
Kernel Memory Updates (Part 6): Use guest memory for slab heaps & update TLS.
2022-03-16 12:15:33 +01:00
Fernando S
c3c351e2c2
Merge pull request #8023 from ameerj/kirby-pop-in
...
maxwell_3d: Implement a safer CB data upload
2022-03-16 12:14:08 +01:00
Liam
bcc2d7e69b
Vulkan: convert S8D24 <-> ABGR8
2022-03-15 20:05:21 -04:00
Valeri
9e633999d6
bsd: Allow inexact match for address length in AcceptImpl
...
Minecraft passes in zero for length, but this should account for all possible cases
2022-03-15 14:06:34 +03:00
lat9nq
50415f68a5
emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen
...
Since SDL2 does not automatically resize the canvas when entering
fullscreen mode, resize the window to desktop display dimensions.
2022-03-15 04:33:08 -04:00
lat9nq
24d51e1c92
yuzu_cmd: Allow user to specify config file location
...
Adds an option `-c` or `--config` with one required argument that allows
the user to specify to where the config file is located. Useful for
scripts that run specific games with different preferences for settings.
2022-03-15 03:48:40 -04:00
lat9nq
cb32d9aff8
default_ini: List use_extended_memory_layout in default config file
2022-03-15 03:13:55 -04:00
bunnei
e95bb782f0
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
2022-03-14 18:14:54 -07:00
bunnei
5f3e77d93e
core: hle: kernel: Allocate dummy threads on host thread storage.
...
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14 18:14:54 -07:00
bunnei
82a2463062
core: hle: kernel: Downgrade dangling objects warning to debug.
...
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14 18:14:54 -07:00
bunnei
f7d1929816
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
2022-03-14 18:14:54 -07:00
bunnei
51589c5e21
core: hle: kernel: Remove server session tracking.
...
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14 18:14:54 -07:00
bunnei
0defac2f2a
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
2022-03-14 18:14:54 -07:00
bunnei
813b2ef253
core: hle: kernel: k_process: Implement thread local storage accurately.
2022-03-14 18:14:54 -07:00
bunnei
3210bc2767
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
2022-03-14 18:14:54 -07:00
bunnei
15d9b0418f
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
2022-03-14 18:14:54 -07:00
bunnei
a25cd4bb4b
core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.
...
- Refreshes our slab initialization code to latest known behavior.
- Moves all guest kernel slabs into emulated device memory.
- Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
2022-03-14 18:14:54 -07:00
bunnei
91819726b1
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
2022-03-14 18:14:53 -07:00
bunnei
08434842b3
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
2022-03-14 18:14:53 -07:00
bunnei
4a28d8cebb
core: hle: kernel: k_thread: Ensure host Fiber is freed.
2022-03-14 18:14:53 -07:00
bunnei
ed67e1dd10
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
2022-03-14 18:14:53 -07:00
bunnei
bfc4823e36
core: hle: service: kernel_helpers: Use system resource limit.
2022-03-14 18:14:53 -07:00
bunnei
8873c0c3db
core: hle: service: sm: Fix KPort reference count.
2022-03-14 18:14:53 -07:00
bunnei
25c0acc388
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
07c9d9bdbd
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
bunnei
ce33503adf
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
2022-03-14 18:14:53 -07:00
bunnei
0f0e1c25bc
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
2022-03-14 18:14:53 -07:00
bunnei
944d9186ca
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
158c5845ab
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
0fdf1d2a60
common: tree: Various updates.
2022-03-14 18:14:53 -07:00
bunnei
69c2faeb6a
common: intrusive_red_black_tree: Various updates.
2022-03-14 18:14:53 -07:00
Liam
52895fab67
shader: add support for const buffer indirect addressing
2022-03-14 19:43:32 -04:00
ameerj
5119a57614
maxwell_3d: Implement a safer CB data upload
...
This makes constant buffer uploads safer and more accurate by updating the GPU memory as soon as the CB Data method is invoked. The previous implementation was deferring the updates until a different maxwell 3d method was detected, then writing all CB data at once.
2022-03-14 19:18:36 -04:00
Fernando S
cd07a43724
Merge pull request #8008 from ameerj/rescale-offsets-array
...
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
2022-03-15 00:08:22 +01:00
Fernando S
f9e1f559b1
Merge pull request #8000 from liamwhite/hagi
...
Initial support for Wii Hagi emulator
2022-03-15 00:08:05 +01:00
bunnei
cc285b9924
Merge pull request #8015 from FernandoS27/fix-global-mem
...
Shader decompiler: Fix storage tracking in deko3d.
2022-03-14 16:03:23 -07:00
byte[]
be0e6a2bb4
Maxwell3D: Link to override constant definition in nouveau
2022-03-14 11:06:25 -04:00
Fernando S
0331b8d799
Merge pull request #8016 from merryhime/kill-mem-use
...
dynarmic: Reduce size of code caches
2022-03-14 16:04:46 +01:00
byte[]
364c67e49b
Maxwell3D: restore original topology when topology overrides are disabled
2022-03-14 11:00:08 -04:00
Liam
37aa472269
Maxwell3D: Use override constants from nouveau
...
This fixes some incorrect rendering in Sunshine
2022-03-14 10:11:58 -04:00
Merry
220674d0d6
dynarmic: Reduce size of code caches
2022-03-13 22:17:14 +00:00
Fernando Sahmkow
185fc03c3c
Shader decompiler: do constant propgation before texture pass.
2022-03-13 21:49:40 +01:00
Fernando Sahmkow
ec9f0f064e
Shader decompiler: Fix storage tracking in deko3d.
2022-03-13 17:41:16 +01:00
bunnei
8decc8d1a5
Merge pull request #8007 from ameerj/vs-2022-errors
...
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-13 03:43:06 -07:00
ameerj
6b164a80a1
config: Write dynarmic exclusive memory configs
...
Ensures the configs are written and saved between boots
2022-03-12 03:42:50 -05:00
ameerj
f87f8d4610
rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets
...
ImageFetch offsets for 2D array coordinates have a different composite size than the coordinates. The rescaling pass was not taking this into account.
Fixes broken shaders when scaling is enabled in Astral Chain, and likely other titles.
2022-03-12 03:31:56 -05:00
ameerj
e8c50e709e
emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors
2022-03-12 02:54:33 -05:00
Liam
56c646d82c
Maxwell3D: Restrict topology override effect to after the register is set
2022-03-11 19:42:12 -05:00
Wunkolo
d248c1203e
cpu_detect: Add additional x86 flags and telemetry
...
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output.
This is not exhaustive but guided by features that [dynarmic utilizes](bcfe377aaa/src/dynarmic/backend/x64/host_feature.h (L12-L33)
) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations.
AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions ) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI ) are added to have some forward-facing data-points.
What used to be a single `CPU_Extension_x64_AVX512` telemetry field
is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
2022-03-11 10:27:00 -08:00
Wunkolo
29a7a61806
common/telemetry: Update `AddField` name type to `string_view`
...
Non-owning `string_view` is flexable and
avoids some of the many redundant copies made over `std::string`
2022-03-11 10:26:59 -08:00
Liam
70e632f153
Maxwell3D: mark index buffers as dirty after updating counts
2022-03-11 08:51:22 -05:00
Liam
82c3042c0f
TextureCacheRuntime: allow converting D24S8 to ABGR8
...
I can't see how this would be useful, but Galaxy uses it.
2022-03-10 20:25:34 -05:00
Liam
f1521183f8
Maxwell3D: read small-index draw and primitive topology override registers
...
This allows Galaxy and Sunshine to render for the first time.
2022-03-10 19:21:04 -05:00
Merry
22f50c6bc1
backend: Ensure backend_thread is destructed before message_queue
...
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2022-03-10 10:49:15 +00:00
Wunkolo
d9b1199ffb
cpu_detect: Revert `__cpuid{ex}` array-type argument
...
Restores compatibility with MSVC's `__cpuid` intrinsic.
2022-03-09 19:50:01 -08:00
Wunkolo
873a9fa7e5
cpu_detect: Add missing `lzcnt` detection
2022-03-09 13:57:47 -08:00
Wunkolo
ec5f3351b6
cpu_detect: Refactor cpu/manufacturer identification
...
Set the zero-enum value to Unknown
Move the Manufacterer enum into the CPUCaps structure namespace
Add "ParseManufacturer" utility-function
Fix cpu/brand string buffer sizes(!)
2022-03-09 13:57:47 -08:00
Wunkolo
86e9e60f07
cpu_detect: Update array-types to `span` and `array`
...
Update some uses of `int` into some more explicitly sized types as well
2022-03-09 13:57:47 -08:00
Wunkolo
3c33ba7f18
cpu_detect: Utilize `Bit<N>` utility function
2022-03-09 13:57:47 -08:00
Wunkolo
d233de8194
cpu_detect: Compact capability fields
...
As this structure gets more explicit, bools can be bitfields and
small enums can use smaller types for their span of values.
2022-03-09 13:57:47 -08:00
Wunkolo
add2cfcb96
bit_util: Add `bit` utility function
...
Extracts a singular bit, as a bool, from the specified compile-time index.
2022-03-09 13:57:47 -08:00
bunnei
853e58e593
hle: service: ldr: Use deterministic addresses when mapping NROs.
...
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
2022-03-08 17:38:20 -08:00
bunnei
f2743b41b0
Merge pull request #7986 from lat9nq/vk-callback
...
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08 12:36:57 -08:00
Markus Wick
c78c8190d5
shader_recompiler/LOP3: Use brute force python results within switch/case.
...
Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more.
The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik.
Performance results:
Instructions
0: 8
1: 30
2: 114
3: 80
4: 24
Latency
0: 8
1: 30
2: 194
3: 24
2022-03-08 09:44:28 +01:00
bunnei
749f76e6fe
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory.
...
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
2022-03-07 17:18:20 -08:00
lat9nq
b5e60ae1b0
video_core: Cancel Scoped's exit call on GPU failure
...
When CreateRenderer fails, the GraphicsContext that was std::move'd into
it is destroyed before the Scoped that was created to manage its
currency. In that case, the GraphicsContext::Scoped will still call its
destructor at the ending of the function. And because the context is
destroyed, the Scoped will cause a crash as it attempts to call a
destroyed object's DoneCurrent function.
Since we know when the call would be invalid, call the Scoped's Cancel
method. This prevents it from calling a method on a destroyed object.
2022-03-07 18:21:56 -05:00
lat9nq
1f24a4e520
emu_window: Create a way to Cancel the exit of a Scoped
...
If a GraphicsContext is destroyed before its Scoped is destroyed, this
causes a crash as the Scoped tries to call a method in the destroyed
context on exit.
Add a way to Cancel the call when we know that calling the
GraphicsContext will not work.
2022-03-07 18:21:56 -05:00
Fernando S
58b52f4884
Merge pull request #7930 from asLody/dma-semaphore
...
MaxwellDMA: Implement semaphore operations
2022-03-07 21:53:38 +01:00
lat9nq
381f1dd2c9
core: Don't shutdown a null GPU
...
When CreateGPU fails, yuzu would try and shutdown the GPU instance
regardless of whether any instance was actually created.
Check for nullptr before calling its methods to prevent a crash.
2022-03-07 15:25:20 -05:00
Lody
4498908e72
MaxwellDMA: Implement semaphore operations
2022-03-07 13:46:18 +08:00
Ameer J
370e480c8c
gl_graphics_pipeline: Improve shader builder synchronization using fences ( #7969 )
...
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
2022-03-06 16:46:49 +01:00
BytesGalore
5784aa1064
Merge branch 'yuzu-emu:master' into master
2022-03-06 11:38:18 +01:00
Fernando S
5192c64991
Merge pull request #7973 from Morph1984/debug-crash
...
host_memory: Fix fastmem crashes in debug builds
2022-03-06 04:49:27 +01:00
BytesGalore
e4e92cb75c
loader: log the type of mismatching file-extension
2022-03-03 06:45:13 +01:00
bunnei
a31c195749
Merge pull request #7935 from Wunkolo/logging-join-fix
...
logging: Convert `backend_thread` into an `std::jthread`
2022-03-02 19:09:26 -08:00
bunnei
3ab82e7582
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
Morph
b33f23cc46
host_memory: Fix fastmem crashes in debug builds
...
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2022-03-02 18:36:59 -05:00
Fernando S
e06a133717
Merge pull request #7959 from merryhime/cmpxchg
...
dynarmic: Inline exclusive memory accesses
2022-03-01 22:50:52 +01:00
german77
03d671fabc
applet: mii: Simple implementation of mii applet
2022-02-28 18:53:41 -06:00
bunnei
14d28a043d
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
16e5954fcb
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
bunnei
f87f076162
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
...
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
2022-02-27 18:00:09 -08:00
Wunkolo
913c2bd2cb
logging: Convert `backend_thread` into an `std::jthread`
...
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join ) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread ) in the case that `StartBackendThread` was never called.
2022-02-27 16:23:52 -08:00
ameerj
7f7df43da2
gl_fence_manager: Minor optimization to signal querying
...
Per the spec, bufSize is the number of integers that will be written, in this case, 1.
Also, the length argument is optional if the information of the number of elements written is not needed.
2022-02-27 17:57:33 -05:00
merry
16784e5bb3
dynarmic: Inline exclusive memory accesses
...
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
adbb9c2b00
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
f7e65eb971
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
bunnei
06e2b76c75
hle: kernel: k_page_heap: Various updates and improvements.
...
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
2022-02-27 10:34:02 -08:00
bunnei
5d1a81520c
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
a6496deeed
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
9b5e7971dc
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
18e77a54c3
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
06a21ac229
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
20e9501b0d
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
bunnei
56d9052b73
Merge pull request #7953 from ameerj/radv-rdna2-crash
...
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
2022-02-26 01:19:13 -08:00
Mai M
91d802f68d
Merge pull request #7948 from Morph1984/11-11-10-float
...
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
2022-02-26 00:09:44 -05:00
Ameer J
5f8d6bc504
vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state
...
RDNA2 devices running under the RADV driver were crashing when VK_EXT_vertex_input_dynamic_state was enabled.
Blacklisting these devices until a proper fix is established.
2022-02-25 23:09:03 -05:00
Morph
e292b2d991
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
...
- Used by パワプロクンポケットR
2022-02-25 17:11:17 -05:00
bunnei
6c9b9b72da
Merge pull request #7939 from asLody/fb-format-gbra8
...
vk_blit_screen: Add missing framebuffer format
2022-02-25 00:58:28 -08:00
bunnei
f582a4482d
Merge pull request #7927 from german77/amiibo
...
yuzu: Disconnect amiibos on drag and drop
2022-02-24 23:13:32 -08:00
bunnei
1079215871
Merge pull request #7859 from german77/battery_again
...
input_common: Remove battery duplicated struct and update every button press
2022-02-24 11:42:51 -08:00
Lody
6978093404
vk_blit_screen: Add missing format bgra8
2022-02-24 19:25:39 +08:00
Narr the Reg
d44464829b
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
bunnei
efe50d88ec
Merge pull request #7913 from voidanix/anv-fix
...
vulkan_device: fix missing format in ANV
2022-02-21 14:34:27 -07:00
bunnei
71f62a346d
hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled.
...
- This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory.
2022-02-21 13:07:19 -08:00
bunnei
c0e45a3c78
core: device_memory: Use memory size reported by KSystemControl.
...
- That way, we can consolidate the memory layout to one place.
2022-02-21 13:07:19 -08:00
bunnei
70482e6b26
settings: Add a new "use_extended_memory_layout" setting.
...
- This will be used to enable emulation of a larger memory arrangement.
2022-02-21 13:07:19 -08:00
bunnei
ca5e843bf6
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
...
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00
bunnei
a74fddc98f
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
...
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-02-21 12:41:31 -08:00
bunnei
57ebcbf2c4
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
...
- This is necessary to ensure resource limits are freed from the right process.
2022-02-21 12:41:06 -08:00
bunnei
c7019db6f4
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
21f5912ec9
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
8d46c3cc66
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
voidanix
7712e46d64
vulkan_device: fix missing format in ANV
...
Currently Mesa's ANV driver does not support
VK_FORMAT_B5G6R5_UNORM_PACK16, implement an alternative for it.
2022-02-21 09:21:41 +01:00
german77
b504df9d02
yuzu: Remove amiibos on drag and drop
2022-02-20 14:28:21 -06:00
bunnei
92b2e92620
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-19 00:14:27 -08:00
bunnei
2984695265
Merge pull request #7867 from german77/amiibo
...
nfp: Improve amiibo support
2022-02-19 00:57:47 -07:00
bunnei
c9260a75f6
core: hle: kernel: KPageTable: Fix UnmapPages.
...
- Fixes a logic bug in KPageTable::UnmapPages.
2022-02-18 23:48:16 -08:00
bunnei
1a16d055df
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-18 23:42:27 -08:00
bunnei
83a84f1c2d
Merge pull request #7900 from german77/enter
...
yuzu: config: Fix mapping issues with the enter key
2022-02-18 15:47:34 -07:00
Wunkolo
768fdb269e
common: Add NullVisitor default constructor
...
Addresses https://github.com/yuzu-emu/yuzu/issues/7881 to fix linux
builds.
`YUZU_NON_COPYABLE` deletes the `T(const T&)` constructor which will
cause the implicitly defined default ctor/dtor to no-longer generate.
2022-02-17 06:28:19 -08:00
Mai M
c48b9668f0
Merge pull request #7866 from xerpi/svc-OutputDebugString32-CreateCodeMemory32-ControlCodeMemory32
...
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
2022-02-16 22:49:56 -05:00
bunnei
027ff7847c
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
2022-02-16 18:42:49 -07:00
Morph
4514325b9c
Merge pull request #7899 from Kelebek1/test
...
file_sys: Dump patched exefs rather than base
2022-02-16 16:37:09 -05:00
bunnei
b5fd9c58cd
Merge pull request #7877 from lat9nq/upd_rev
...
audio_core: Update current process revision
2022-02-15 13:08:40 -07:00
bunnei
910a0fa58e
Merge pull request #7891 from Morph1984/buffer_to_string_view
...
common: fs_util: Add buffer to string view utility functions
2022-02-15 12:02:23 -07:00
Narr the Reg
1e21f5f872
yuzu: config: Fix mapping issues with the enter key
2022-02-15 11:08:11 -06:00
Kelebek1
e1201abc1e
Dump patched exefs rather than base
2022-02-15 04:52:28 +00:00
Sergi Granell
c3242abe95
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
bunnei
d81cdd9114
Merge pull request #7871 from german77/svc2
...
svc: Set unique names for function tables
2022-02-14 16:32:54 -07:00
Morph
4390370a19
common: fs_util: Add buffer to string view utility functions
...
These functions allow to construct a string view from an input buffer, avoiding the copy done by the non string view counterparts. However, callers must be cognizant of the viewed buffer's lifetime to avoid a use-after-free.
2022-02-13 18:53:21 -05:00
Morph
54c7af9902
debugger: console: Set console output codepage to UTF-8
...
This allows the console to display multi-byte encoded characters.
2022-02-13 18:18:05 -05:00
german77
b57d61010f
nfp: Allow files without password data
2022-02-13 13:52:34 -06:00
lat9nq
c5d22952bf
hid: Stub IsUsbFullKeyControllerEnabled
...
Used by Splatoon 2, when opening the inventory from a LAN battle lobby.
Reference: https://switchbrew.org/wiki/HID_services
2022-02-12 15:42:50 -05:00
lat9nq
81806603eb
audio_core: Update current process revision
...
Update CURRENT_PROCESS_REVISION from REV9 to REVA.
Used by Nintendo Entertainment System - Nintendo Switch Online 6.0.0 and
Super Nintendo Entertainment System - Nintendo Switch Online 3.0.0.
2022-02-11 00:56:13 -05:00
bunnei
ca9da569ce
Merge pull request #7852 from Morph1984/new-uuid
...
common: Revise and fix the UUID implementation
2022-02-10 21:52:13 -07:00
Narr the Reg
6705439cf3
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
2022-02-10 21:55:28 -06:00
Morph
3799c820ca
common: uuid: Use sizeof(u64) instead of 8 in Hash()
2022-02-10 15:03:49 -05:00
bunnei
1105614b86
Merge pull request #7861 from german77/user_features
...
yuzu: New hotkeys and mute audio on background
2022-02-10 10:06:58 -07:00
Narr the Reg
6a1ad03153
nfp: Separate nfc tag from amiibo data
2022-02-10 10:58:37 -06:00
bunnei
fc01074f89
Merge pull request #7860 from german77/no-more-drift
...
yuzu: Add auto center on right click
2022-02-09 17:52:39 -07:00
Narr the Reg
d0c7c3f64f
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
bunnei
862dddf8c9
hle: kernel: KCodeMemory: Remove unused QueryMemory.
2022-02-08 18:49:41 -08:00
bunnei
d134ca68c6
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
...
Credits to @xerpi for finding this issue and pointing it out on #7519 .
2022-02-08 18:47:11 -08:00
german77
e35c2fd5d0
nfp: Address compiler issues
2022-02-08 18:52:44 -06:00
Narr the Reg
29f9a454eb
nfp: Validate amiibo files
2022-02-08 14:09:30 -06:00
german77
41b65d38fa
yuzu: Allow to open and remove the amiibo
2022-02-08 10:08:04 -06:00
german77
fc9abd3c62
nfp: Improve implementation
2022-02-08 10:08:04 -06:00
german77
c001a2af25
nfp: Move IUser class to header and add missing enum and structs
2022-02-07 09:18:22 -06:00
german77
3d24eb54ec
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
german77
ab93b4c66d
yuzu: Mute audio when in background
2022-02-06 20:46:58 -06:00
german77
49eb78497b
yuzu: Add docked, GPU accuracy and adapting filter hotkeys
2022-02-06 20:46:58 -06:00
german77
6a4ab3e0d2
yuzu: Add auto center on right click
2022-02-06 19:56:03 -06:00
german77
21742f0096
input_common: Remove battery duplicated struct and update every button press
2022-02-06 18:33:55 -06:00
Morph
b720009dc0
Merge pull request #7847 from tech-ticks/master
...
service: pm: Implement AtmosphereGetProcessInfo
2022-02-05 19:22:45 -05:00
Morph
36910e9020
Merge pull request #7851 from lat9nq/cmd-add-motion
...
yuzu-cmd: config: Support motion inputs
2022-02-05 19:22:18 -05:00
bunnei
0456ed6b4e
Merge pull request #7849 from Morph1984/qt-frameless-window
...
main: Always remove the frameless window flag when restoring UI state
2022-02-05 15:18:48 -07:00
Morph
ec4d7f71fe
common: uuid: Return an invalid UUID if conversion from string fails
...
The string constructor of UUID states:
Should the input string not meet the above requirements, an assert will be triggered and an invalid UUID is set instead.
2022-02-05 13:56:21 -05:00
Morph
25db62ce15
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
dfe11d72e3
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
Morph
d94dcaefa0
common: uuid: Add AsU128()
...
This copies the internal bytes of the UUID into a u128 for backwards compatibility. This should not be used.
2022-02-05 13:56:21 -05:00
Morph
f0340b8d22
hle: ipc_helpers: Ignore -Wclass-memaccess
...
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
2022-02-05 13:56:20 -05:00
Morph
ee0547e4c4
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
Morph
cb30fe50cd
input/hid: Migrate to the new UUID implementation
2022-02-05 13:18:41 -05:00
Morph
3271099fea
common: Implement NewUUID
...
This is a fixed and revised implementation of UUID that uses an array of bytes as its internal representation of a UUID instead of a u128 (which was an array of 2 u64s).
In addition to this, the generation of RFC 4122 Version 4 compliant UUIDs is also implemented.
2022-02-05 13:18:31 -05:00
bunnei
5cb1c2ad84
Merge pull request #7842 from german77/vibration_test
...
yuzu: config: Vibrate the controller while configuring vibration strength
2022-02-05 02:57:26 -07:00
lat9nq
928380ebf9
config: Support motion inputs
...
Motion inputs were not being read in by the config when yuzu-cmd boots
up. This adds support for those.
While we're at it, make a reference to the current player controls to
improve readability. Also updates the if statements in the Analog and
Button loops with curly braces to keep the style consistent.
2022-02-05 02:31:55 -05:00
bunnei
0ec5b9bff2
Merge pull request #7839 from german77/battery
...
yuzu: ui: Improve battery symbols
2022-02-04 18:23:35 -07:00
Morph
edbfbf2f2f
main: Always remove the frameless window flag when restoring UI state
...
For unknown reasons, this flag may persist after the application has been closed.
Removing this flag when restoring the UI state ensures that a frameless window will not be shown on startup.
2022-02-03 23:12:49 -05:00
Morph
fbefcf7280
input_common: Remove unused core include
2022-02-03 22:44:28 -05:00
tech-ticks
16bf50e610
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
fc8aef7323
Merge pull request #7811 from german77/analog-mod
...
input_common: Use attributes for analog range modifiers
2022-02-03 12:21:11 -07:00
bunnei
8ec32e9755
Merge pull request #7814 from FernandoS27/another-bug-in-my-schedule
...
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
2022-02-02 19:15:06 -07:00
bunnei
03186af6a1
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Morph
d68eb751c5
Merge pull request #7838 from lioncash/noncopy
...
common_types: Remove NonCopyable struct
2022-02-02 16:04:26 -05:00
Narr the Reg
694c078655
yuzu: config: Vibrate the controller while configuring vibration strength
2022-02-02 14:54:24 -06:00
bunnei
9484519ec3
Merge pull request #7834 from german77/repeat
...
yuzu: Disable auto repeat on hotkeys again
2022-02-02 13:20:18 -07:00
Lioncash
e015dc8264
texture_cache: Ensure has_blacklisted is always initialized
...
Resolves a -Wmaybe_uninitialized warning
2022-02-02 14:37:27 -05:00
Lioncash
7367e55d1d
texture_cache: Remove dead code within SynchronizeAliases
...
Since these were being copied by value, none of the changes applied in
the loop would be reflected.
However, from the looks of it, this would already be applied within
CopyImage() anyways, so this can be removed.
2022-02-02 14:37:22 -05:00
Lioncash
856f576c05
texture_cache: Amend unintended bitwise OR in SynchronizeAliases
2022-02-02 14:20:58 -05:00
Narr the Reg
064aa3de11
yuzu: ui: Improve battery symbols
2022-02-02 13:18:06 -06:00
Lioncash
ade44ac2ea
common_types: Remove NonCopyable struct
...
Now that we're moved over to the YUZU_ defines, we can get rid of this
struct.
2022-02-02 13:19:01 -05:00
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
bunnei
09400e4f4e
Merge pull request #7806 from ameerj/atomic64-fallbacks
...
shaders: Implement U32x2 atomic fallbacks when device does not support int64
2022-02-02 10:57:22 -07:00
Lioncash
76d83ffbec
general: Move deleted copy/move constructor/assignment operators to public interface
...
This allows for better compiler errors, where the compiler will state a
copy or move couldn't occur due to the relevant function being deleted.
Previously a compiler would warn about the relevant function not being
accessible (which, while true, isn't as informative as it could be).
2022-02-02 12:17:08 -05:00
bunnei
72add82ee9
Merge pull request #7807 from german77/moar-buttons
...
input_common: Add home and hard touch press buttons to UDP controllers
2022-02-01 22:37:13 -07:00
bunnei
995e27e9b7
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Morph
79e8f4abe8
Merge pull request #7833 from lioncash/file-sys
...
configure_filesystem: Add missing changeEvent() override
2022-02-01 22:15:37 -05:00
bunnei
404a94a199
Merge pull request #7792 from german77/translate
...
hotkeys: Don't translate hotkey buttons
2022-02-01 20:07:52 -07:00
Lioncash
40d31b8b8a
configure_filesystem: Add missing changeEvent() override
...
This allows the dialog to be retranslated during runtime if the language
is changed.
2022-02-01 22:03:12 -05:00
Lioncash
b9f06bd599
configure_filesystem: Normalize member function casing
...
All other dialog types we have use CamelCase naming.
2022-02-01 22:01:22 -05:00
Narr the Reg
330b31ae2e
yuzu: Disable auto repeat on hotkeys again
2022-02-01 21:00:37 -06:00
bunnei
50e9ba34b4
Merge pull request #7809 from Morph1984/clock-constants
...
common: wall_clock: Utilize constants for ms, us, and ns ratios
2022-02-01 18:34:31 -07:00
Morph
a28a10bc54
Merge pull request #7831 from lioncash/motion
...
configure_motion_touch: Use functor versions of invokeMethod
2022-02-01 14:48:52 -05:00
Lioncash
5c4ed30c21
configure_motion_touch: Use functor versions of invokeMethod
...
Same behavior, but ensures that the functions we're calling exist, since
they can be checked at compile-time.
2022-02-01 13:22:42 -05:00
Lioncash
e2a86e2c8a
configure_input_player: Eliminate variable shadowing
2022-02-01 12:54:00 -05:00
Lioncash
2dba59d1ff
configure_input_player: std::move input setters in HandleClick
2022-02-01 12:51:03 -05:00
Lioncash
9ba6bab920
configure_input_player: Avoid unnecessary ParamPackage copies
...
Avoids churning allocations.
2022-02-01 12:20:23 -05:00
Lioncash
cd4aa50207
yuzu/game_list: Use non-deprecated version of QString's split() function
...
The previous overload of split() was deprecated in 5.14.
2022-02-01 11:41:31 -05:00
Morph
7432343214
Merge pull request #7825 from lioncash/nodisc2
...
common/file: Remove [[nodiscard]] from Open()
2022-02-01 02:29:36 -05:00
Lioncash
8f32bab4c9
common/file: Remove [[nodiscard]] from Open()
...
Since this has a void return value, there's nothing that can actually be
used.
2022-02-01 02:19:21 -05:00
Morph
26a9dc3f65
Merge pull request #7824 from lioncash/scache
...
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
2022-02-01 01:58:38 -05:00
Lioncash
360a97ab54
video_core/shader_cache: Remove unused algorithm include
2022-02-01 01:41:05 -05:00
Lioncash
540ed72e99
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
...
Same behavior, but without the need to move into the function to avoid
an allocation.
2022-02-01 01:40:41 -05:00
bunnei
7ddccb55d2
Merge pull request #7821 from german77/espada_aguda
...
svc: Add 32 bit SynchronizePreemptionState
2022-01-31 19:13:46 -07:00
Narr the Reg
1ed22b4613
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
35ed051742
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
2022-01-31 17:08:08 +01:00
german77
5bd0c1517f
input_common: Use attributes for analog range modifiers
2022-01-30 22:42:40 -06:00
Morph
6267110b69
common: wall_clock: Check precision against the emulated CPU and CNTFRQ
...
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
2022-01-30 12:57:23 -05:00
Morph
4e766280c4
common: wall_clock: Utilize constants for ms, us, and ns ratios
2022-01-30 12:36:56 -05:00
german77
3d2d77eb3f
input_common: Add home and hard touch press buttons to UDP controllers
2022-01-30 09:17:22 -06:00
ameerj
e394e1ecc4
emit_glsl_atomic: Implement 32x2 fallback atomic ops
2022-01-29 19:56:03 -05:00
ameerj
90a0506d56
lower_int64_to_int32: Add 64-bit atomic fallbacks
2022-01-29 19:56:02 -05:00
ameerj
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
Fernando Sahmkow
d0a5a48948
GPU: Improve syncing.
2022-01-29 23:02:04 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
Fernando Sahmkow
f54280dafd
Inline2Memory: Flush before writting buffer.
2022-01-29 17:42:28 +01:00
Morph
11099dda2e
Merge pull request #7791 from german77/wall_clock
...
wall_clock: Use standard wall clock if rtsc frequency is too low
2022-01-28 20:04:24 -05:00
ameerj
4790ba7839
spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
...
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.
Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
2022-01-28 19:00:04 -05:00
Morph
1900abde13
Merge pull request #7784 from german77/ds5
...
input_common: Add DS5 to HD rumble list
2022-01-28 18:36:28 -05:00
Morph
60b5670577
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
Morph
b00406c8e4
Merge pull request #7788 from ameerj/stream-buffer-begin
...
buffer_cache: Reduce stream buffer allocations when expanding from the left
2022-01-28 18:30:01 -05:00
Morph
8dea7fa129
Merge pull request #7786 from ameerj/vmnmx-sel
...
video_minimum_maximum: Implement src operand selectors
2022-01-28 18:24:56 -05:00
ameerj
beaf7654bb
emit_spirv: Add Xfb execution mode when transform feedback is used
...
Fixes Transform Feedback on Vulkan AMD drivers.
2022-01-28 16:32:48 -05:00
bunnei
0dec42431f
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
german77
fea05a17ea
hotkeys: Don't translate hotkey buttons
2022-01-27 17:32:48 -06:00
german77
e4c63d432d
wall_clock: use standard wall clock if rtsc frequency is too low
2022-01-27 17:07:52 -06:00
ameerj
f300a1d54b
buffer_cache: Reduce stream buffer allocations when expanding from the left
...
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
2022-01-27 15:31:43 -05:00
bunnei
3a1a3dd0db
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
ameerj
74e6e3623f
video_minimum_maximum: Implement src operand selectors
...
Used by Pokemon Legends: Arceus
2022-01-27 14:55:08 -05:00
Morph
8a244dd3d3
Merge pull request #7783 from lioncash/abi-cexpr
...
common/xbyak_api: Make BuildRegSet() constexpr
2022-01-27 10:29:34 -05:00
Narr the Reg
fd1cef5616
input_common: Add DS5 to HD rumble list
2022-01-26 21:49:32 -06:00
bunnei
adcac857f8
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Lioncash
f6a049337e
common/xbyak_api: Make BuildRegSet() constexpr
...
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
2022-01-26 16:29:15 -05:00
bunnei
40050c1188
Merge pull request #7780 from lioncash/macro
...
video_core/macro: Move impl classes into their cpp files
2022-01-26 12:39:59 -08:00
bunnei
9bf7ad97f5
Merge pull request #7769 from german77/no-control
...
yuzu: Add setting to disable controller navigation
2022-01-25 20:24:42 -08:00
bunnei
5723145165
Merge pull request #7768 from Moonlacer/fsr-1.0.2
...
Update AMD FidelityFX Super Resolution™ to 1.0.2
2022-01-25 17:32:44 -08:00
Morph
84cc22b21b
Merge pull request #7777 from lioncash/nodisc
...
shader_recompiler: Remove unnecessary [[nodiscard]] specifier
2022-01-25 16:16:20 -05:00
Morph
c93dd45997
Merge pull request #7779 from lioncash/gpu-iface
...
gpu: Remove obsoleted CDmaPusher() accessors
2022-01-25 16:16:04 -05:00
Morph
a1c4bca908
Merge pull request #7778 from lioncash/comma
...
vk_fsr: Replace comma operator with semicolon
2022-01-25 16:15:53 -05:00
Morph
432f4441b9
Merge pull request #7774 from lioncash/mapping
...
input_common/main: Pass MappingData by const reference in callbacks
2022-01-25 16:15:45 -05:00
Morph
306b3491c4
Merge pull request #7773 from lioncash/udp-deprecated
...
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
2022-01-25 16:15:27 -05:00
Morph
8dbad556ec
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
a8a4f37628
video_core/macro: Add missing <cstring> header
...
Necessary since memcpy is used.
2022-01-25 14:10:02 -05:00
Lioncash
81d1a1133d
video_core/macro_interpreter: Move impl class to the cpp file
...
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
2022-01-25 14:03:48 -05:00
Lioncash
cfd9f7d25b
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
...
Same behavior, but less code and header dependencies.
2022-01-25 13:50:14 -05:00
Lioncash
a05d9405b9
video_core/macro: Remove unused parameter from Execute()
...
Simplifies the function interface.
2022-01-25 13:41:38 -05:00
Lioncash
74f80299b0
video_core/macro_jit_x64: Remove unused impl class member
...
Reduces the size of the impl class a tiny bit.
2022-01-25 13:33:09 -05:00
Lioncash
f11eefed56
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
...
This doesn't depend on class state and can just be a regular function.
2022-01-25 13:31:54 -05:00
Lioncash
6b873b72ae
video_core/macro_jit_x64: Move impl class into cpp file
...
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
2022-01-25 13:31:46 -05:00
Lioncash
a3c81745b1
video_core/macro_hle: Move impl class into cpp file
...
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
2022-01-25 13:15:48 -05:00
Lioncash
d8486a9968
gpu: Tidy up forward declarations
...
Over time a few forward declarations became unnecessary, so we can
remove these to tidy up the header a little bit.
2022-01-25 13:05:39 -05:00
Lioncash
9b38c8ef08
gpu: Remove obsoleted CDMAPusher() accessors
...
These were obsoleted in 2c47f8aa18
but
were accidentally overlooked.
2022-01-25 12:53:56 -05:00
Lioncash
e7af84670d
vk_fsr: Replace comma operator with semicolon
...
Generally, we should be ending statements with a semicolon not a comma
Resolves a clang diagnostic.
2022-01-25 12:42:27 -05:00
Lioncash
b46ec4efea
shader_recompiler: Remove unnecessary [[nodiscard]]
...
Since ConvertLegacyToGeneric has a void return value, there's nothing
that is actually returned by the function.
2022-01-25 12:16:09 -05:00
bunnei
4f9f55ec21
Merge pull request #7765 from bunnei/update-thread-count
...
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
2022-01-24 18:58:48 -08:00
bunnei
3442365127
Merge pull request #7760 from german77/inverted_keyboard
...
yuzu: Add modifiers for keyboard
2022-01-24 15:41:49 -08:00
Lioncash
651358d0b6
input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state
...
The default constructor of a UUID instance doesn't initialize the
underlying array.
2022-01-24 11:57:48 -05:00
Lioncash
187c9d7e33
input_common/input_mapping: Simplify UUID validity checks
...
Makes the checks a little more intuitive to read and doesn't construct
an extra UUID instance
2022-01-24 11:49:52 -05:00
Lioncash
0849be094e
input_common/input_mapping: Add missing includes
...
Ensures that the class always sees the types it needs.
2022-01-24 11:49:31 -05:00
Lioncash
8bb39750a1
input_common/input_mapping: Remove const from return value
...
Top-level const on a return by value can inhibit move semantics, and is
unnecessary.
2022-01-24 11:39:20 -05:00
Lioncash
12e7d3b254
input_common/input_mapping: Default constructor
2022-01-24 11:37:48 -05:00
Lioncash
51dd3da11c
input_common/main: Pass MappingData by const reference in callbacks
...
Avoids creating unnecessary 168 byte copies per callback invocation.
2022-01-24 11:31:43 -05:00
Lioncash
87eb3cb083
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
...
These are deprecated and make_address variants and to_uint() should be used instead.
2022-01-24 11:14:30 -05:00
Lioncash
b084a9bf0a
input_common/udp_client: Prevent unnecessary string copies
...
We can also remove some redundant const on the return values, since
these don't do anything
2022-01-24 10:58:25 -05:00
Lioncash
2f12caccf9
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
ebf19616f4
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
german77
b998aa5504
yuzu: Add setting to disable controller navigation
2022-01-23 21:08:49 -06:00
Moonlacer
fdde08bd01
Update FSR to 1.0.2
...
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
bunnei
59add00d4a
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
e791da9791
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
07add23251
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ee25e0a40b
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
0cee5e1af8
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ffcaf5af90
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
5b57ee66ce
Merge pull request #7716 from german77/volume
...
yuzu: Add volume hotkeys
2022-01-22 02:25:59 -08:00
bunnei
2935c9d8de
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
264bb5abf7
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
0137f2e6e1
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
6d8e498f76
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
b8b1b58f36
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
8433edacb3
Merge pull request #7735 from german77/udp_battery
...
input_common: Report battery for UDP controllers
2022-01-22 01:28:14 -08:00
bunnei
68c8a1b170
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
Narr the Reg
7d133fd37e
yuzu: Add modifiers for keyboard
2022-01-21 20:41:50 -06:00
bunnei
cef7649bed
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
615fb40416
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
12bf8ca929
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
8dd6dc9a29
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
43039d95ac
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
7ba6f68a8d
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
19c11e2fd2
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
888bc10c17
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
54150f5afa
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00