Commit graph

21420 commits

Author SHA1 Message Date
liamwhite
b2772bcb0d
Merge pull request #9997 from german77/cancel_controller
applet: controller: Implement cancel button
2023-04-01 09:49:08 -04:00
liamwhite
ff4fbaf152
Merge pull request #9999 from german77/new_hid_hurra
service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
2023-04-01 09:48:53 -04:00
liamwhite
986336b0d8
Merge pull request #10017 from jbeich/vk-246
externals: update Vulkan-Headers to v1.3.246 to fix -Werror=switch with system package
2023-04-01 09:44:52 -04:00
bunnei
0730dc6c44
Merge pull request #10005 from liamwhite/kernel-atomics
kernel: fix unbounded stack usage in atomics
2023-04-01 01:54:36 -07:00
Jan Beich
083d913eab externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
Feng Chen
ff2089fdf5 video_core: Keep the definition of DimensionControl consistent with nvidia open doc 2023-03-31 12:33:07 +08:00
german77
11edba4974 applet: controller: Implement cancel button 2023-03-30 07:49:44 -06:00
german77
8e84381038 service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
Used by Let's Get Fit
2023-03-29 22:03:49 -06:00
Max Dunbar
e446f368d7 Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
Narr the Reg
668eb5b8da service: am: Improve profile select applet 2023-03-29 08:53:19 -06:00
liamwhite
8bdc51b620
Merge pull request #9505 from liamwhite/request-exit
applets: implement RequestExit
2023-03-29 09:11:34 -04:00
Liam
9efd95cda5 kernel: fix unbounded stack usage in atomics 2023-03-28 22:28:27 -04:00
liamwhite
9c96d40586
Merge pull request #10003 from german77/disconnect
service: hid: Silence warning on MergeSingleJoyAsDualJoy
2023-03-28 09:09:47 -04:00
Kelebek1
c68b4bee2c Only upload GPU-modified overlaps 2023-03-28 11:07:39 +01:00
Morph
cdc846677c telemetry: Add waitpkg instruction 2023-03-27 17:45:22 -04:00
Morph
981bc8aa1c x64: Simplify RDTSC on non-MSVC compilers
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27 17:45:22 -04:00
Morph
e1bce50d8b core_timing: Make use of MicroSleep for x64 CPUs
For CPUs that support tpause, this should result in significant CPU power savings over thread yield in this spin wait.
2023-03-27 17:45:22 -04:00
Morph
27c33ab73f x64: Add MicroSleep
MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision.
This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield().

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27 17:45:22 -04:00
Morph
d2cfe25b07 x64: cpu_detect: Add detection of waitpkg instructions
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
2023-03-27 17:45:22 -04:00
Billy Laws
530fe24768 audio_core: No longer stall when sink queue is full
Now the audout and audren update rates are tied to the sink status stalling is no longer necessary.
2023-03-27 22:01:41 +01:00
Billy Laws
237934b736 Run clang-format 2023-03-27 22:01:41 +01:00
Billy Laws
ea5dd02db9 audio: Wait for samples on the emulated DSP side to avoid desyncs
Waiting on the host side is inaccurate and leads to desyncs in the event of the sink missing a deadline that require stalls to fix. By waiting for the sink to have space before even starting rendering such desyncs can be avoided.
2023-03-27 21:34:28 +01:00
liamwhite
fbbf532d42
Merge pull request #10002 from german77/log
qt: Fix log softlock
2023-03-27 15:37:44 -04:00
Narr the Reg
c2c7386dfd service: hid: Silence warning on MergeSingleJoyAsDualJoy 2023-03-27 13:25:15 -06:00
Narr the Reg
2fbadc7e1f qt: Fix log softlock 2023-03-27 12:18:46 -06:00
liamwhite
0661f5ccd1
Merge pull request #9984 from liamwhite/global-memory
memory: rename global memory references to application memory
2023-03-27 12:16:40 -04:00
liamwhite
3b30f5d823
Merge pull request #9995 from german77/plain
service: nfp: Add plain amiibo support
2023-03-27 12:16:24 -04:00
Billy Laws
d8fc3f403b audio: Interpolate system manager sample count using host sink sample info
This avoids the need to stall if the host sink sporadically misses the deadline, in such a case the previous implementation would report them samples as being played on-time, causing the guest to send more samples and leading to a gradual buildup.
2023-03-26 22:48:57 +01:00
german77
8802646730 service: nfp: Add plain amiibo support 2023-03-26 14:26:36 -06:00
Liam
1476ffd865 tests: mark integer literals as unsigned 2023-03-26 15:39:07 -04:00
Liam
7017f04ee8 container_hash: use climits 2023-03-26 10:24:33 -04:00
Morph
49f6deecb8 video_core/macro: Make use of Common::HashValue 2023-03-25 23:52:26 -04:00
Morph
f09d192aac tests: Implement tests for verifying HashValue
Values were randomly generated and the verification was done against boost 1.79.
2023-03-25 23:52:26 -04:00
Morph
9971cd1d55 common: Port boost's hash_value implementation
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
2023-03-25 23:52:25 -04:00
Liam
50a59487eb qt: implement RequestExit for applets 2023-03-25 14:49:43 -04:00
Liam
950db851ea applets: implement RequestExit 2023-03-25 12:44:26 -04:00
bunnei
09da9da6fb
Merge pull request #9985 from liamwhite/funny-meme
vulkan: fix scheduler chunk reserve
2023-03-24 23:40:17 -07:00
Ross Schlaikjer
f38ae8e953 Pass GPU page table by reference 2023-03-25 00:25:02 -04:00
liamwhite
cfb9672093
Merge pull request #9983 from Morph1984/boost
CMakeLists: Update boost to 1.81.0
2023-03-24 10:53:30 -04:00
liamwhite
462c430c8b
Merge pull request #9981 from german77/nfp_connect
nfc: Initialize device when controller is connected
2023-03-24 10:53:05 -04:00
Liam
5a2dff87bf vulkan: fix scheduler chunk reserve 2023-03-24 09:09:01 -04:00
Morph
7a8a7545f2
Merge pull request #9975 from liamwhite/more-waiting
vulkan: fix more excessive waiting in scheduler
2023-03-24 00:19:43 -04:00
Morph
abe2ad7aac zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize 2023-03-23 22:16:20 -04:00
Liam
41d99aa89d memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
liamwhite
ac3927074b
Merge pull request #9971 from Morph1984/q
bounded_threadsafe_queue: Use simplified impl of bounded queue
2023-03-23 10:00:31 -04:00
liamwhite
c41a4baf06
Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
2023-03-23 10:00:19 -04:00
Morph
6adaa0d5e2
Merge pull request #9962 from Kelebek1/disable_srgb
[video_core] Disable SRGB border color conversion in samplers
2023-03-23 03:07:00 -04:00
Liam
fb49ec19c1 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Morph
197d756560 bounded_threadsafe_queue: Refactor Pop
Introduces PopModes to bring waiting logic into Pop, similar to Push.
2023-03-21 22:33:58 -04:00
Morph
8c56481249 bounded_threadsafe_queue: Add producer cv to avoid busy waiting 2023-03-21 22:33:57 -04:00
Narr the Reg
6ff4bf9b1c nfc: Initialize device when controller is connected 2023-03-21 20:09:36 -06:00
bunnei
dba86ee007
Merge pull request #9965 from german77/thankYouEpicBoy
config: Fix controller config from resetting
2023-03-21 17:52:25 -07:00
Morph
407dc917f1 bounded_threadsafe_queue: Deduplicate and add PushModes
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full.
If the queue is full:
- Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue.
- Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
2023-03-21 19:20:21 -04:00
Morph
15d573194c bounded_threadsafe_queue: Add TryPush 2023-03-21 19:17:38 -04:00
Morph
f28ca5361f logging: Make use of bounded queue 2023-03-21 19:17:38 -04:00
Morph
306840a580 bounded_threadsafe_queue: Use simplified impl of bounded queue
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-21 19:17:32 -04:00
bunnei
3d4c113037
Merge pull request #9970 from bunnei/string-util-view
common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.
2023-03-19 11:10:16 -07:00
Liam
b9b1318bea vulkan: fix more excessive waiting in scheduler 2023-03-19 13:40:33 -04:00
Liam
43d909949e kernel: fix LOG_TRACE in ipc 2023-03-19 10:02:20 -04:00
bunnei
00d401d639 common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W. 2023-03-18 22:42:25 -07:00
bunnei
0eb3fa05e5 common: bounded_threadsafe_queue: Use polyfill_thread. 2023-03-17 23:42:17 -07:00
bunnei
889454f9bf
Merge pull request #9778 from behunin/my-box-chevy
gpu_thread: Use bounded queue
2023-03-17 22:14:29 -07:00
bunnei
8bcaa8c2e4
Merge pull request #9953 from german77/amiibo_crc
service: nfp: Actually write correct crc
2023-03-17 22:13:57 -07:00
Narr the Reg
c95baf92ce config: Fix controller config from resetting 2023-03-17 22:08:16 -06:00
Kelebek1
a7651168dd Disable SRGB border color conversion for now, to fix shadows in Xenoblade. 2023-03-17 04:46:38 +00:00
Narr the Reg
075a3d1172 service: nfp: Replace crc function with boost equivalent 2023-03-16 17:47:32 -06:00
liamwhite
6d76a54d37
Merge pull request #9955 from liamwhite/color-blend-equation
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
2023-03-15 20:19:45 -04:00
liamwhite
a04061e6ae
Merge pull request #9931 from liamwhite/sched
vk_scheduler: split work queue waits and execution waits
2023-03-15 20:19:35 -04:00
Narr the Reg
7187732454 service: nfp: Close app area and recreate crc 2023-03-15 17:01:06 -06:00
Narr the Reg
5031f5b8b0 service: nfp: Convert mii colors to v3 2023-03-15 17:01:05 -06:00
Liam
da83afdeaf vulkan: disable extendedDynamicState3ColorBlendEquation on radv 2023-03-15 15:55:07 -04:00
Narr the Reg
026fe2e4f4 service: nfp: Actually write correct crc 2023-03-14 23:42:41 -06:00
liamwhite
0c7149d222
Merge pull request #9933 from vonchenplus/texture_format
video_core: Update texture format
2023-03-14 11:35:37 -04:00
FengChen
11ffbee5ae video_core: Better defined ImageInfo parameters 2023-03-14 22:36:34 +08:00
Morph
4c678cfbc8 configure_audio: Fix output mode setting not saving 2023-03-13 17:41:30 -04:00
liamwhite
8870fae674
Merge pull request #9939 from german77/vibration
input_common: sdl: Only send last vibration command
2023-03-13 13:45:40 -04:00
liamwhite
8348c41eab
Merge pull request #9941 from german77/settings
yuzu: Move audio settings to audio section
2023-03-13 13:45:29 -04:00
liamwhite
638044820d
Merge pull request #9943 from vonchenplus/gentleman
video_core: Fix inline_index and draw_texture error
2023-03-13 13:45:17 -04:00
german77
96b8a3ecac input_common: sdl: Only send last vibration command 2023-03-12 21:30:02 -06:00
Liam
c352381ce9 kernel: additional style fixes to KThread, KProcess 2023-03-12 22:10:27 -04:00
Liam
9775a73d1a kernel: fix clang build 2023-03-12 22:10:27 -04:00
Liam
088c434d65 kernel: remove unnecessary finalize calls 2023-03-12 22:10:27 -04:00
Liam
9863db9db4 kernel: convert KProcess to new style 2023-03-12 22:09:27 -04:00
Liam
6bfb4c8f71 kernel: convert KThread to new style 2023-03-12 22:09:09 -04:00
Liam
ac6cbb7134 kernel: prefer std::addressof 2023-03-12 22:09:09 -04:00
Liam
641783df8f kernel: convert KResourceLimit 2023-03-12 22:09:09 -04:00
Liam
c0b9e93b77 kernel: remove kernel_ 2023-03-12 22:09:09 -04:00
Liam
9368e17a92 kernel: remove gratitutous attribute usage 2023-03-12 22:09:09 -04:00
Liam
91fd4e30f2 kernel/svc: convert to new style 2023-03-12 22:09:08 -04:00
Liam
57f1d8ef8d kernel: convert miscellaneous 2023-03-12 22:06:53 -04:00
Liam
d1b53c8d82 kernel: conver KScopedLock, KScopedResourceReservation, KSessionRequest, KSharedMemory, KSpinLock 2023-03-12 22:06:53 -04:00
Liam
7322c99e5f kernel: convert KAbstractSchedulerLock 2023-03-12 22:06:53 -04:00
Liam
467adc1acd kernel: convert KMemoryLayout, KMemoryRegion*, KPageTableSlabHeap, KPriorityQueue 2023-03-12 22:06:53 -04:00
Liam
0483dfae1a kernel: move KMemoryLayout for NX board 2023-03-12 22:06:53 -04:00
Liam
8d1f5bfbd2 kernel: remove KLinkedList 2023-03-12 22:06:53 -04:00
Liam
fdf90c6d75 kernel: convert KConditionVariable, KLightConditionVariable, KLightLock 2023-03-12 22:06:53 -04:00
Liam
097c25b164 kernel: convert KPort, KSession 2023-03-12 22:06:53 -04:00
Liam
d24ab14126 kernel: convert GlobalSchedulerContext, KAddressArbiter, KScopedSchedulerLockAndSleep, KThreadQueue to new style 2023-03-12 22:06:53 -04:00
Liam
3f261f22c9 vk_scheduler: split work queue waits and execution waits 2023-03-12 17:19:44 -04:00
Liam
600f325d87 general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
FengChen
44f10c8dee video_core: Fix ogl status error when draw_texture 2023-03-12 13:33:31 +08:00
FengChen
4e42ba54e5 video_core: Invalid index_buffer flag when inline_index draw 2023-03-12 13:21:26 +08:00
german77
e090a1c6bd yuzu: Move audio settings to audio section 2023-03-11 20:04:36 -06:00
german77
e8af3f29d2 yuzu: Remove console id setting 2023-03-11 19:33:31 -06:00
Fernando S
49643d8134
Merge pull request #9913 from ameerj/acc-dma-refactor
AccelerateDMA: Refactor Buffer/Image copy code and implement for OGL
2023-03-11 20:04:19 +01:00
liamwhite
92c89312fc
Merge pull request #9923 from liamwhite/kht
kernel: add timer pointer to KThreadQueue
2023-03-10 16:19:41 -05:00
liamwhite
e0bd27b674
Merge pull request #9928 from german77/super_nfp
service: nfp: Improve implementation
2023-03-10 13:55:28 -05:00
liamwhite
103380134f
Merge pull request #9925 from ameerj/gl-sync-signal
OpenGL: Prefer glClientWaitSync for OGLSync objects
2023-03-10 13:55:22 -05:00
liamwhite
021af4fd00
Merge pull request #9917 from Morph1984/the-real-time
native_clock: Re-adjust the RDTSC frequency to its real frequency
2023-03-10 13:55:11 -05:00
Feng Chen
c8ad039612 video_core: Update texture format 2023-03-10 21:48:50 +08:00
Narr the Reg
8d5cde6eff service: nfp: Improve implementation 2023-03-09 19:29:28 -06:00
liamwhite
ec4e2d1fab
Merge pull request #9916 from liamwhite/fpu
kernel: clone fpu status on CreateThread
2023-03-09 09:19:15 -05:00
liamwhite
b5c0c1e163
Merge pull request #9822 from ameerj/buffcache-ssbo-addr
buffer_cache: Add logic for non-NVN storage buffer tracking
2023-03-09 09:18:39 -05:00
ameerj
03137086db OpenGL: Prefer glClientWaitSync for OGLSync objects
At least on Nvidia, glClientWaitSync with a timeout of 0 (non-blocking) is faster than glGetSynciv of GL_SYNC_STATUS.
2023-03-08 20:29:25 -05:00
bunnei
4562f7af9a
Merge pull request #9906 from german77/metroid2
input_common: Increase mouse sensitivity range
2023-03-08 10:43:38 -08:00
liamwhite
f3f57f90fe
Merge pull request #9912 from liamwhite/err
hle: rename legacy errors to Results
2023-03-08 09:16:27 -05:00
liamwhite
b5d61f214d
Merge pull request #9904 from liamwhite/ws
kernel: fix WaitSynchronization
2023-03-08 09:16:17 -05:00
liamwhite
3cf88a4d6c
Merge pull request #9896 from Kelebek1/d24s8
Check all swizzle components for red, not just [0]
2023-03-08 09:16:06 -05:00
Morph
67560296c6 perf_stats: Check multicore first
SpeedLimiting is SC only. Since MC is performance oriented we should check for it first to skip checking use_speed_limit.
2023-03-07 23:11:01 -05:00
Morph
d72d753b1a
Merge pull request #9921 from liamwhite/override
general: fix type inconsistencies
2023-03-07 22:42:40 -05:00
Morph
a3ffea6a64
Merge pull request #9918 from liamwhite/fwrapv
kernel: avoid signed overflow UB on MSVC
2023-03-07 22:42:32 -05:00
Morph
b014fdacdb
Merge pull request #9920 from liamwhite/constexpr-bit-cast
common: make BitCast constexpr
2023-03-07 22:42:19 -05:00
Morph
1073346c7f hid: Use nanosecond timestamps instead of ticks 2023-03-07 21:17:47 -05:00
Morph
3053a62375 core: Promote CPU/GPU threads to time critical
And also demote Audren and CoreTiming to High thread priority.
2023-03-07 21:17:46 -05:00
Morph
d718eab351 native_clock: Wait for 10 seconds instead of 30
It was experimentally determined to be sufficient.
2023-03-07 21:17:46 -05:00
Morph
c27a626b5b native_clock: Use RealTimeClock instead of SteadyClock
We want to synchronize RDTSC to real time.
2023-03-07 21:17:46 -05:00
Morph
6f9918552c steady_clock: Introduce a real time clock 2023-03-07 21:17:46 -05:00
Morph
dcd13a7566 native_clock: Re-adjust the RDTSC frequency
The RDTSC frequency reported by CPUID is not accurate to its true frequency.
We will spawn a separate thread to calculate the true RDTSC frequency after a measurement period of 30 seconds has elapsed.
2023-03-07 21:17:46 -05:00
Narr the Reg
757aafa582
input_common: Minor typo issues (#9922) 2023-03-08 03:15:46 +01:00
Liam
1776448df2 kernel: add timer pointer to KThreadQueue 2023-03-07 20:51:29 -05:00
german77
9a9e5844d3 input_common: Increase mouse sensitivity range 2023-03-07 19:31:52 -06:00
Liam
64dcb40db1 common: make BitCast constexpr 2023-03-07 20:26:56 -05:00
Liam
ba4213d956 general: fix type inconsistencies 2023-03-07 20:05:19 -05:00
Liam
d45ac00d48 kernel: avoid signed overflow UB on MSVC 2023-03-07 19:46:48 -05:00
Liam
484641003c kernel: clone fpu status on CreateThread 2023-03-07 19:18:06 -05:00
liamwhite
a7792e5ff8
Merge pull request #9889 from Morph1984/time-is-ticking
core_timing: Reduce CPU usage on Windows
2023-03-07 10:54:13 -05:00
ameerj
268942c8fe gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy 2023-03-06 22:57:52 -05:00
ameerj
6b9cc0ed23 Refactor AccelerateDMA code 2023-03-06 22:57:45 -05:00
Liam
1d0fe75e7c hle: rename legacy errors to Results 2023-03-06 20:58:42 -05:00
liamwhite
6d61430311
Merge pull request #9890 from Kelebek1/reverb_fix
Fix a bug with the Reverb command in reading from the pre delay line
2023-03-06 11:23:34 -05:00
liamwhite
b210174087
Merge pull request #9910 from jbeich/libc++
kernel: add missing header for libc++
2023-03-06 11:21:51 -05:00
liamwhite
e6349fcd3b
Merge pull request #9905 from german77/usbssl
Service: USB, SSL, PSC: Update
2023-03-06 11:21:37 -05:00
liamwhite
f7e6bda5cd
Merge pull request #9907 from german77/joycon
input_common: joycon: Add stick input from passive reports
2023-03-06 11:21:27 -05:00
liamwhite
31f0fa1065
Merge pull request #9908 from german77/pfp
service: acc: Replace default image with a 32x32 image
2023-03-06 11:21:17 -05:00
Jan Beich
859fb469b8 kernel: add missing header for libc++
In file included from src/core/hle/kernel/k_light_lock.cpp:4:
In file included from src/./core/hle/kernel/k_light_lock.h:8:
src/./core/hle/kernel/k_scoped_lock.h:25:51: error: no member named 'addressof' in namespace 'std'
    explicit KScopedLock(T& l) : KScopedLock(std::addressof(l)) {}
                                             ~~~~~^
2023-03-06 11:49:25 +00:00
Ikko Eltociear Ashimine
c161e3f433
fix typo in settings.h
Intial -> Initial
2023-03-06 20:28:47 +09:00
Narr the Reg
8a501ff30b service: acc: Replace default image with a 32x32 image 2023-03-05 16:36:19 -06:00
german77
97704b8da9 input_common: joycon: Add stick input from passive reports 2023-03-05 12:50:15 -06:00
Narr the Reg
1f57ae6949 service: psc: Update names 2023-03-05 12:02:10 -06:00
Narr the Reg
f01540da6c service: ssl: Add missing properties and update names 2023-03-05 12:02:04 -06:00
Narr the Reg
54711df739 service: usb: Update names 2023-03-05 10:45:24 -06:00
Liam
644ee0043e kernel: fix WaitSynchronization 2023-03-05 10:29:10 -05:00
Fernando Sahmkow
8a3411b417 Engines: Implement Accelerate DMA Texture. 2023-03-05 12:18:00 +01:00
Morph
376a414f5b native_clock: Round RDTSC frequency to the nearest 1000 2023-03-05 02:36:31 -05:00
Morph
026eaddbee timer_resolution: Set current process to High QoS
Ensures that this process is treated as a high performance process by the Windows scheduler.
2023-03-05 02:36:31 -05:00
Morph
194cf0b497 hardware_properties: Update BASE_CLOCK_RATE to exactly 1020 MHz 2023-03-05 02:36:31 -05:00
Morph
bff1453282 core_timing: Use higher precision sleeps on Windows
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows.
Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution.
This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
2023-03-05 02:36:31 -05:00
Morph
7e353082ac main: (Windows) Set the current timer resolution to the maximum
Increases the precision of thread sleeps on Windows.
2023-03-05 02:36:31 -05:00
Morph
7fffdf83b7 wall_clock: Make use of SteadyClock 2023-03-05 02:36:31 -05:00
Morph
1ed49f92dd common: Implement a method to change the Windows timer resolution
This utilizes undocumented NtDll functions to change the current timer resolution from the default of 1ms.
2023-03-05 01:41:28 -05:00
Morph
bd09c82521 common: Implement a high resolution steady clock
This implementation provides a consistent, high performance, and high resolution clock where/when std::chrono::steady_clock does not provide sufficient precision.
2023-03-05 01:41:19 -05:00
Morph
ce8f4da638
Merge pull request #9884 from liamwhite/service-cleanup
service: miscellaneous cleanups
2023-03-03 22:51:17 -05:00
Kelebek1
a7fb80e612 Check all swizzle components for red, not just [0], pass float border color rather than int 2023-03-04 02:33:50 +00:00
Behunin
44518b225c gpu_thread: Use bounded queue 2023-03-03 18:20:56 -07:00
bunnei
1f98634371
Merge pull request #9855 from liamwhite/kern-16-support
kernel: support for 16.0.0
2023-03-03 14:42:00 -08:00
Kelebek1
104cb6aa0a Fix a bug with the Reverb command in reading from the pre_delay line. 2023-03-02 06:00:55 +00:00
Liam
ec6ee04c64 vulkan_common: disable vertexInputDynamicState on unsupported driver 2023-03-01 22:48:12 -05:00
Liam
97f7f7bad5 kernel: be more careful about kernel address keys 2023-03-01 10:42:45 -05:00
Liam
c4ba088a5d kernel: refactor priority inheritance to represent locks as C++ objects 2023-03-01 10:42:45 -05:00
Liam
96bd7ea42d kernel: simplify AddressSpaceInfo, update values 2023-03-01 10:42:45 -05:00
Liam
367e89f984 kernel: barrier memory before condition variable write 2023-03-01 10:42:45 -05:00
Liam
9f9b64cda2 kernel: document previous location of interrupt disables in arbiter/condvar 2023-03-01 10:42:45 -05:00
Liam
4165ac0680 kernel: adjust pool allocations 2023-03-01 10:42:45 -05:00
Liam
62711fec02 kernel: simplify KAbstractSchedulerLock::Lock 2023-03-01 10:42:45 -05:00
Liam
0746a2084e kernel: add InfoType::IoRegionHint 2023-03-01 10:42:45 -05:00
Liam
809148e1a5 nvnflinger: fix name 2023-03-01 10:39:49 -05:00
Liam
65be230fdd service: move hle_ipc from kernel 2023-03-01 10:39:49 -05:00
Liam
4a1aa98598 sm:: remove unused member 2023-03-01 10:39:36 -05:00
liamwhite
97f7a560f3
Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
2023-03-01 10:38:20 -05:00
Alexandre Bouvier
57fd8b1f45 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
liamwhite
22432668be
Merge pull request #9859 from liamwhite/tmem-use
service: avoid direct pointer access of transfer memory objects
2023-02-27 19:46:10 -05:00
liamwhite
50575c317e
Merge pull request #9874 from german77/violet
service: btm: Fix handle functions
2023-02-27 19:46:01 -05:00
Matías Locatti
5f2cbf53d7
Merge pull request #9872 from goldenx86/partialLTO
Partial LTO
2023-02-27 19:38:36 -03:00
Matías Locatti
c38bb96a2c Partially apply LTO to only core and video_core projects. 2023-02-27 18:44:14 -03:00
Narr the Reg
71ca956d5c service: btm: Fix handle functions 2023-02-27 12:40:47 -06:00
Narr the Reg
ff11fdb07e
Revert "yuzu: config: Remove player 8 and 9 from config file" 2023-02-26 14:39:13 -06:00
liamwhite
26c1edf2f0
Merge pull request #9849 from ameerj/async-astc
texture_cache: Add asynchronous ASTC texture decoding
2023-02-26 09:20:12 -05:00
Narr the Reg
60688bf0d5 yuzu: config: Remove player 8 and 9 from config file 2023-02-25 22:20:32 -06:00
ameerj
2ce5bb9bd6 buffer_cache: Add logic for non-NVN storage buffer tracking 2023-02-25 16:24:21 -05:00
liamwhite
833afb7ce3
Merge pull request #9848 from german77/metroid_motion
input_common: Implement dedicated motion from mouse
2023-02-25 12:44:13 -05:00
liamwhite
290ec3eb2f
Merge pull request #9857 from german77/fwupdate
core: Update service function tables to 16.0.0+
2023-02-25 12:44:06 -05:00
liamwhite
d5bfc36e90
Merge pull request #9861 from german77/bustype
core: hidbus: Fix BusType size
2023-02-25 12:44:00 -05:00
german77
cfd69e2e58 config: Fix per game Force max clock 2023-02-25 10:12:07 -06:00
Narr the Reg
5e4ea04a64 core: hidbus: Fix BusType size 2023-02-24 21:22:27 -06:00
Narr the Reg
39ca7b2928 core: Update service function tables to 16.0.0+ 2023-02-24 18:17:36 -06:00
Liam
975186ad4d am: avoid direct pointer access of transfer memory objects 2023-02-24 12:50:54 -05:00
Liam
de4e5db330 hid: avoid direct pointer access of transfer memory objects 2023-02-24 12:48:07 -05:00
ameerj
b5bcd8c71b configuration: Add async ASTC decode setting 2023-02-22 18:21:09 -05:00
ameerj
090bc588e5 texture_cache: Add async texture decoding 2023-02-22 00:26:07 -05:00
Narr the Reg
739a81055f core: hid: Restore motion state on refresh and clamp motion values 2023-02-21 21:55:23 -06:00
Narr the Reg
673accd630 input_common: Implement dedicated motion from mouse 2023-02-21 21:55:22 -06:00
Narr the Reg
db2785082b settings: Add more input settings to the log 2023-02-21 19:48:38 -06:00
Narr the Reg
9477181d09 core: hid: Fix native mouse mappings 2023-02-21 19:48:38 -06:00
liamwhite
8f3e2a1b48
Merge pull request #9847 from german77/timeout
yuzu: Set a lower timeout for discord presence
2023-02-21 20:39:19 -05:00
Narr the Reg
d482ec32a4 yuzu: Set a lower timeout for discord presence 2023-02-21 18:23:58 -06:00
liamwhite
11f6bb1532
Merge pull request #9846 from merryhime/type-const
svc: Fix type consistency (exposed on macOS)
2023-02-21 18:58:04 -05:00
liamwhite
ba05301e1b
Merge pull request #9841 from abouvier/httplib-update
externals: Update cpp-httplib to latest
2023-02-21 18:57:55 -05:00
Merry
c9678bda24 svc: Fix type consistency (exposed on macOS) 2023-02-21 21:39:17 +00:00
Alexandre Bouvier
83afc12475 externals: Update cpp-httplib to latest 2023-02-21 20:55:37 +01:00
MonsterDruide1
d746cfc018 net: translate ECONNRESET network error 2023-02-21 20:47:59 +01:00
Liam
72e5552409 sm:: fix lingering session initialization issues 2023-02-21 12:19:25 -05:00
Liam
87749d217e cheat_engine: add check for hid initialization 2023-02-21 12:19:25 -05:00
Liam
6e0a33089b sm:: support service registration deferral 2023-02-21 12:19:25 -05:00
Liam
a936972614 service: refactor server architecture
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam
23151ff498 core: defer cpu shutdown 2023-02-21 12:19:25 -05:00
german77
165ebbb63c Qt: Reintroduce scaling for touch input 2023-02-19 17:52:44 -06:00
liamwhite
898c5d35a5
Merge pull request #9771 from ameerj/host-thread-id
kernel: Refactor thread_local variable usage
2023-02-19 13:12:43 -05:00
liamwhite
a4d0663158
Merge pull request #9588 from liamwhite/bylaws-reverts
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-19 13:11:57 -05:00
liamwhite
e531d1fae9
Merge pull request #9815 from german77/qt-mouse
Qt: Fix mouse scalling
2023-02-18 16:25:48 -05:00
Morph
41183b622f
Merge pull request #9825 from liamwhite/object-name
kernel: add KObjectName
2023-02-18 16:22:50 -05:00
bunnei
e91ff9b7bd
Merge pull request #9810 from Kelebek1/nvdec_threads
Allow >1 cpu threads on video decoding, disable multi-frame decoding
2023-02-17 09:44:38 -08:00
Liam
1773a1039f kernel: add KObjectName 2023-02-17 09:16:05 -05:00
Mai
61b1772e51
Merge pull request #9817 from german77/save
yuzu: Write to config file on important config changes
2023-02-16 22:58:29 -05:00
Narr the Reg
0a88c7dbbe yuzu: Shutdown game on restart to reload per game config 2023-02-16 21:17:30 -06:00
Narr the Reg
df9c8bdfd9 yuzu: Write to config file on important config changes 2023-02-16 21:17:01 -06:00
bunnei
889bfce447
Merge pull request #9802 from Kelebek1/wait_data_cache
Re-add the invalidate_texture_data_cache register
2023-02-16 12:27:24 -08:00
bunnei
744434de38
Merge pull request #9769 from Kelebek1/audio_oob
[audio_core] Fix depop prepare
2023-02-16 12:26:23 -08:00
Narr the Reg
17207939e5 input_common: Split mouse input into individual devices 2023-02-16 14:22:13 -06:00
german77
57aaf00a0c Qt: Fix mouse scalling 2023-02-15 20:57:45 -06:00
liamwhite
6d77de96da
Merge pull request #9796 from liamwhite/current
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
liamwhite
04d2d2ef5f
Merge pull request #9782 from arades79/fix-consexpr-value-declaration-usage
Fix consexpr value declaration usage
2023-02-15 17:42:38 -05:00
bunnei
0eb40117af
Merge pull request #9809 from liamwhite/unused-service
service: remove deleted services
2023-02-15 12:33:59 -08:00
arades79
98631b45b6
remove constexpr from virtual function
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 19:14:29 -05:00
liamwhite
58a2c19982
Revert "main: Fix borderless fullscreen for high dpi scaled displays" 2023-02-14 16:29:35 -05:00
Kelebek1
3b50906f00 Reimplement the invalidate_texture_data_cache register 2023-02-14 19:34:10 +00:00
Kelebek1
139b645aa2 Allow >1 cpu threads on video decoding, disable multi-frame decoding 2023-02-14 18:55:46 +00:00
Liam
79fbdfca17 service: remove deleted services 2023-02-14 12:38:21 -05:00
arades79
880b6e9795 use a string view to skip allocation
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:40 -05:00
arades79
683019878f remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79
26e44a3be4 apply clang-format
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79
392a029ef4 don't use static inside constexpr function
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
arades79
45e13b03f3 add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
liamwhite
5f5a6e4b2e
Merge pull request #9795 from Kelebek1/biquad_fix
[audio_core] Use different state offset for each biquad filter channel
2023-02-14 09:11:26 -05:00
liamwhite
d87db919f9
Merge pull request #9793 from Morph1984/borderless-hidpi
main: Fix borderless fullscreen for high dpi scaled displays
2023-02-14 09:11:15 -05:00
Liam
ceda2d280e general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
Kelebek1
3a90ed99be Fix biquad filter command's state buffer offset 2023-02-13 16:21:29 +00:00
Liam
4363ca304a kernel: use GetCurrentProcess 2023-02-13 11:05:14 -05:00
bunnei
770a49616d
Merge pull request #9784 from m-HD/master
settings: added missing graphical settings to RestoreGlobalState()
2023-02-12 21:49:45 -08:00
Morph
d6677b50f6 main: Fix borderless fullscreen for high dpi scaled displays
On Windows, a borderless window will be treated the same as exclusive fullscreen
when the window geometry matches the physical dimensions of the screen.
However, with High DPI scaling, when the devicePixelRatioF() is > 1, the borderless
window apparently is not treated as exclusive fullscreen and functions correctly.
One can verify and replicate this behavior by using a high resolution (4K) display,
and switching between 100% and 200% scaling in Windows' display settings.
At 100%, without the addition of 1, it is treated as exclusive fullscreen.
At 200%, with or without the addition of 1, it is treated as borderless windowed.
Therefore, we can use (read: abuse) this difference in behavior to fix this issue for
those with higher resolution displays when the Qt scaling ratio is > 1.
Should this behavior be changed in the future, please revisit this workaround.
2023-02-12 21:58:49 -05:00
bunnei
8b74047b1b
Merge pull request #9757 from german77/gyro
core: hid: Use gyro thresholds modes set by the game
2023-02-12 00:19:22 -08:00
bunnei
f70fcdb873
Merge pull request #9746 from ameerj/ogl-msaa-texcache
texture_cache: OpenGL: Implement MSAA uploads and copies
2023-02-12 00:18:52 -08:00
m-HD
9df92bad2a
Update settings.cpp
added missing graphical settings to RestoreGlobalState()
2023-02-12 02:58:39 +01:00
ameerj
93cf2b3ca8 texture_cache: OpenGL: Implement MSAA uploads and copies 2023-02-11 15:43:07 -05:00
Colin Kinloch
868ab0d3b4 kernel/svc: Fix undefined info_id 2023-02-11 18:00:34 +00:00
liamwhite
c97b5c9ff9
Merge pull request #9777 from vonchenplus/speed_up_video_copy
video_core: Speed up video frame data copy
2023-02-11 12:35:16 -05:00
Kelebek1
2e02ed8bb5 Add fallback for memory read/write in case the address goes over a 4K page 2023-02-11 16:27:43 +00:00
liamwhite
709879cfc1
Merge pull request #9773 from bunnei/fix-process-resource
core: kernel: k_process: Use application system resource.
2023-02-11 10:28:50 -05:00
liamwhite
89c09d639a
Merge pull request #9768 from merryhime/biquad-rounding
biquad_filter: Fix rounding in ApplyBiquadFilterInt
2023-02-11 10:28:42 -05:00
liamwhite
1040f1f503
Merge pull request #9744 from behunin/quick-release
gpu_thread: Remove OnCommandListEndCommand
2023-02-11 10:28:30 -05:00
FengChen
4adf39edf2 video_core: Speed up video frame data copy 2023-02-11 22:18:54 +08:00
Kelebek1
19e1ea6a02 Fix depop prepare receiving bad mix infos and writing out of bounds, and update aux a bit, may help 2023-02-11 10:21:25 +00:00
bunnei
abd826ba87
Merge pull request #9742 from liamwhite/svc-wrap-only
kernel/svc: switch to generated wrappers
2023-02-10 21:41:22 -08:00
bunnei
023ac943aa
Merge pull request #9759 from german77/pro_controller
input_common: Reintroduce custom pro controller support
2023-02-10 21:14:40 -08:00
bunnei
e79270507b core: kernel: k_process: Use application system resource. 2023-02-10 21:03:39 -08:00
ameerj
5e746da981 kernel: Refactor thread_local variable usage
On MSVC at least, there seems to be a non-trivial overhead to calling GetHostThreadId().

This slightly reworks the host_thread_id variable to reduce some of the complexity around its usage, along with some small refactors around current_thread and dummy thread
2023-02-10 20:43:06 -05:00
Merry
3c60bc36a1 biquad_filter: Clamp f64 in ApplyBiquadFilterFloat 2023-02-10 20:43:34 +00:00
Merry
9bdcb1070f biquad_filter: Fix rounding in ApplyBiquadFilterInt 2023-02-10 20:34:52 +00:00
liamwhite
b3a8c0dc49
Merge pull request #9761 from Morph1984/oops
main: Re-add QtWebEngine zoom factor
2023-02-10 10:54:10 -05:00
Liam
36b70dec05 kernel: avoid usage of bit_cast 2023-02-10 09:13:58 -05:00
Morph
3fbb93e5c9 main: Re-add QtWebEngine zoom factor
For some reason, I had removed this in ad6cec71ec

This should fix any improperly scaled web applets.
2023-02-09 22:57:37 -05:00
liamwhite
c5743d5499
Merge pull request #9736 from Kelebek1/dynamic_vertex_attribs
Remove fake vertex bindings when dynamic state is enabled
2023-02-09 22:14:55 -05:00
liamwhite
cbb289fbee
Merge pull request #9750 from ameerj/glsl-sample-id-mask
glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
2023-02-09 22:14:47 -05:00
Narr the Reg
acba9a6b76 input_common: Reintroduce custom pro controller support 2023-02-09 20:08:54 -06:00
Narr the Reg
7c0dcea96c audio: cubeb: Fix yuzu crashing when it test for latency 2023-02-09 19:38:03 -06:00
Narr the Reg
5e9fa5def5 core: hid: Use gyro thresholds modes set by the game 2023-02-09 19:07:50 -06:00
ameerj
eb9f16dce4 buffer_base: Partially revert changes from #9559
This fixes a regression where Yoshi's Crafted World (and potentially other titles) would enter an infinite loop when GPU Accuracy was set to "Normal"
2023-02-08 19:37:23 -05:00
ameerj
04139cb3ed glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-08 19:34:39 -05:00
liamwhite
f6477b91f9
Merge pull request #9747 from german77/SetSupportedNpadIdTypes
service: hid: Return error if arguments of SetSupportedNpadIdType is invalid
2023-02-08 10:09:26 -05:00
Narr the Reg
c27006e99d service: hid: Return error if arguments of SetSupportedNpadIdType is invalid 2023-02-07 21:11:39 -06:00
Mai
f3b532d091
Merge pull request #9739 from liamwhite/old-gcc-fix
kernel: fix compilation with older gcc
2023-02-07 22:10:35 -05:00
Behunin
8551ac6008 Remove OnCommandListEndCommand
Call rasterizer->ReleaseFences() directly
2023-02-07 17:21:17 -07:00
Liam
2415d37ea2 kernel/svc: switch to generated wrappers 2023-02-06 23:57:44 -05:00
liamwhite
1f3e8d633a
Merge pull request #4949 from Morph1984/hidpi-temp-fix
main: Enable High DPI fixes for Qt >= 5.14
2023-02-06 23:20:49 -05:00
bunnei
ecbf74b87a
Merge pull request #9644 from SaiKai/volume_quicksetting
add volume quicksetting with volume slider
2023-02-06 17:10:44 -08:00
Liam
82c2a3da9f kernel: fix compilation with older gcc 2023-02-06 13:14:27 -05:00
Matías Locatti
69eaad18a5
Update yuzu_cmd's default_ini.h
Rename FSR, add missing resolution multipliers, and SMAA
2023-02-06 06:01:51 -03:00
Kelebek1
8ae2a664d2 Remove fake vertex bindings when dynamic state is enabled 2023-02-05 22:28:03 +00:00
Liam
92eb091ddb kernel/svc: Split implementations into separate files 2023-02-04 22:37:43 -05:00
bunnei
a64fc3ee77
Merge pull request #9720 from SoRadGaming/discordPresenceUpdate
Game Image with Discord RPC
2023-02-04 18:37:21 -08:00
Sorab
923c17f1ae Add Game Icon for Discord RPC
Connected to Yuzu Compatibility Page
2023-02-05 12:40:57 +11:00
liamwhite
f5ed51bdf3
Merge pull request #9730 from german77/cmd_arg
yuzu_cmd: Order arguments alphabetically and port arguments from Qt
2023-02-04 15:01:17 -05:00
liamwhite
236b54376d
Merge pull request #9729 from german77/sdl_input
yuzu_cmd: Fix touch and controller input
2023-02-04 15:01:07 -05:00
german77
3cd0b816cc yuzu_cmd: Order arguments alphabetically and port arguments from Qt 2023-02-04 11:33:29 -06:00
german77
ebca59b8e9 yuzu_cmd: Fix mismatching controller input 2023-02-04 11:05:57 -06:00
german77
424643f9af yuzu_cmd: Fix touch input 2023-02-04 10:31:12 -06:00
ameerj
4678f53463 shader_recompiler/value.h: Remove lingering references to S32 2023-02-04 00:13:47 -05:00
bunnei
5aca9386cf
Merge pull request #9717 from german77/less_is_better
input_common: Simplify stick from button
2023-02-03 16:09:29 -08:00
Jonas Gutenschwager
2a491f7aaa
remove disambiguation argument from mute text
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-02-04 00:00:20 +01:00
ameerj
979e4d9950 fsp_srv: Copy HLE Read Buffer for OutputAccessLogToSdCard 2023-02-03 00:12:16 -05:00
ameerj
2d2522693e Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 25fc5c0e11, reversing
changes made to af20e25081.
2023-02-03 00:08:45 -05:00
Mai
9083ad816f
Merge pull request #9713 from unfamiliarplace/master
Added 'Hide empty rooms' toggle to lobby
2023-02-02 23:54:48 -05:00
bunnei
25fc5c0e11
Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
2023-02-02 19:04:50 -08:00
bunnei
af20e25081
Merge pull request #9704 from liamwhite/das
kernel: add KDeviceAddressSpace
2023-02-02 19:00:23 -08:00
Luke Sawczak
54ab154696 added 'Hide empty rooms' toggle to lobby
fixed typo

fixed typo

fixed typo

clang
2023-02-02 18:46:28 -06:00
liamwhite
b01698775b
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer" 2023-02-02 15:53:28 -05:00
Narr the Reg
2f2e88c3fb input_common: Simplify stick from button 2023-02-02 10:13:27 -06:00
liamwhite
8a33f8bd30
Merge pull request #9708 from ameerj/gl-context-flush
gl_shader_cache: Force context flush when loading disk shader cache
2023-02-01 22:38:13 -05:00
liamwhite
a9a860a4f7
Merge pull request #9703 from ameerj/txq-ms
shaders: Fix TXQ with MSAA textures
2023-02-01 22:38:00 -05:00
Liam
7d1c3a3f59 kernel: add KDeviceAddressSpace 2023-02-01 17:18:21 -05:00
bunnei
92c5ab33b7
Merge pull request #9696 from german77/please_forgive_me_for_this_sin
input_common: Implement turbo buttons
2023-02-01 12:08:34 -08:00
german77
ce1895497d yuzu: config: Draw turbo buttons with a different color 2023-02-01 12:42:06 -06:00
german77
75e81885b0 input_common: Implement turbo buttons 2023-02-01 12:42:05 -06:00
bunnei
de28cd0c2d
Merge pull request #9697 from liamwhite/kcap
kernel: add KCapabilities
2023-01-31 10:51:10 -08:00
bunnei
ed4a88bd93
Merge pull request #9508 from ameerj/hle-ipc-buffer-span
hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer
2023-01-30 12:17:09 -08:00
liamwhite
e74660673b
Merge pull request #9701 from german77/common_protocol
input_common: joycon: Remove Magic numbers from common protocol
2023-01-30 09:02:12 -05:00
liamwhite
9de88cb5a7
Merge pull request #9631 from vonchenplus/vulkan_clear
video_core: Implement vulkan clear specified channel
2023-01-30 09:01:55 -05:00
Liam
67a8740af6 kernel: add KCapabilities 2023-01-29 22:08:28 -05:00
ameerj
720ff38097 gl_compute_pipeline: Force context flush when loading shader cache 2023-01-29 21:32:12 -05:00
Narr the Reg
c318a4c80b input_common: joycon: Remove Magic numbers from common protocol 2023-01-29 20:12:58 -06:00
ameerj
01eeda74a6 gl_graphics_pipeline: Force context flush when loading shader cache 2023-01-29 20:26:49 -05:00
Narr the Reg
11fea5deea input_common: joycon: Fill missing enum data 2023-01-29 19:11:46 -06:00
Levi Behunin
d5fc56db4b Move to Clang Format 15
Depends on https://github.com/yuzu-emu/build-environments/pull/69

clang-15 primary run
2023-01-29 17:49:42 -07:00
ameerj
a63e17566a spirv: Fix TXQ with MSAA textures 2023-01-29 13:47:30 -05:00
ameerj
a1d8306bfd emit_glasm_image: Fix TXQ with MSAA textures 2023-01-29 13:42:34 -05:00
ameerj
08feba2b56 emit_glsl_image: Implement TXQ with MSAA textures
Also fixes for texture buffers, which do not have mips eithers.
2023-01-29 13:31:47 -05:00
liamwhite
3aab574521
Merge pull request #9699 from ameerj/texture-pass-desc
texture_pass: Fix texture descriptors comparisons
2023-01-29 12:27:41 -05:00
liamwhite
149271923c
Merge pull request #9698 from ameerj/texture-pass-handle
texture_pass: Refactor texture handle retrieval
2023-01-29 12:27:33 -05:00
liamwhite
208e635f37
Merge pull request #9694 from ameerj/txq-mips
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
liamwhite
d960723dc9
Merge pull request #9684 from liamwhite/read-the-spec
polyfill_thread: satisfy execution ordering requirements of stop_callback
2023-01-29 09:35:42 -05:00
bunnei
9170387e71
Merge pull request #9689 from german77/joycon-calibration
input_common: joycon: Remove magic numbers from calibration protocol
2023-01-29 02:43:14 -08:00
bunnei
a3aedcce65
Merge pull request #9691 from ameerj/msaa-texcache
texture_cache: Fix tracking of MSAA image views
2023-01-28 23:47:45 -08:00
liamwhite
236f591bde
Merge pull request #9690 from german77/whoops
yuzu: config: Avoid reading deleted object
2023-01-28 22:28:38 -05:00
ameerj
0d820f2dab texture_pass: Fix texture descriptors comparisons 2023-01-28 21:23:52 -05:00
ameerj
9bb429999e texture_pass: Refactor texture handle retrieval 2023-01-28 21:11:38 -05:00
bunnei
40e7d78179
Merge pull request #9687 from ameerj/ogl-shader-ms
glasm, glsl: Implement multisampled Image Fetch
2023-01-28 16:32:11 -08:00
bunnei
159aab9a97
Merge pull request #9682 from ameerj/shader-s32
shader_recompiler: Remove S32 IR type
2023-01-28 14:00:11 -08:00
ameerj
2c2e019a44 shader_recompiler: TXQ: Skip QueryLevels when possible 2023-01-28 16:25:18 -05:00
ameerj
c0cedbae94 emit_glsl_image: Fix ImageFetch for MSAA textures 2023-01-28 14:39:27 -05:00
Narr the Reg
e84a441d75 yuzu: config: Avoid reading deleted object 2023-01-28 12:50:27 -06:00
liamwhite
cd138540e2
Merge pull request #9661 from SoRadGaming/LDNhostnameSupport
LDN hostname support in direct connect
2023-01-28 12:09:57 -05:00
SoRadGaming
ad712926d6 LDN Hostname Support in Direct Connect
- Added IPv6 & Namespace support in direct connection Regex
- Updated Tooltip for Direct Connect UI
- Removed Dropdown Connection Type in Direct Connect
2023-01-28 18:33:21 +11:00
ameerj
c2fb7b64ce texture_cache: Adjust image view sizes by MSAA samples 2023-01-28 00:15:29 -05:00
FengChen
818631a412 video_core: Implement vulkan clear specified channel 2023-01-28 12:53:05 +08:00
Liam
619c0e70f0 polyfill_thread: satisfy execution ordering requirements of stop_callback 2023-01-27 21:34:49 -05:00
bunnei
2efe42fc93
Merge pull request #9677 from Morph1984/sleep-one
polyfill_thread: Implement StoppableTimedWait
2023-01-27 18:28:03 -08:00
Narr the Reg
4e29afefc4 input_common: joycon: Replace ReadSPI vector with span 2023-01-27 18:45:25 -06:00
liamwhite
6fa86989f1
Merge pull request #9539 from Wollnashorn/opengl-fsr
video_core/opengl: Added FSR upscaling filter to the OpenGL renderer
2023-01-27 19:28:35 -05:00
Narr the Reg
8647c72778 input_common: joycon: Remove magic numbers from calibration protocol 2023-01-27 17:12:04 -06:00
bunnei
32b2a72e7b
Merge pull request #9666 from liamwhite/wait-for-me
kernel: fix incorrect locking order in suspension
2023-01-27 15:06:09 -08:00
ameerj
0f795603fc glasm: Add MS sampler types 2023-01-27 02:09:18 -05:00
ameerj
5710e90150 glsl: Add MS sampler types 2023-01-27 02:09:17 -05:00
Liam
e9e1e7aa3a kernel: unbreak min/max template deduction on Apple Clang 2023-01-26 17:43:37 -05:00
Wollnashorn
c4a49eb1dd video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
bunnei
7d0a77a825
Merge pull request #9683 from german77/high_power_joycon
input_common: Implement SetLowPowerMode and TriggersElapsed
2023-01-26 10:56:31 -08:00
Narr the Reg
49707916db input_common: Implement SetLowPowerMode and TriggersElapsed for the joycon driver 2023-01-26 11:21:04 -06:00
bunnei
5669692b4e
Merge pull request #9670 from merryhime/revert-af5ecb0b15d4449f58434e70eed835cf71fc5527
Revert "MemoryManager: use fastmem directly."
2023-01-25 22:28:55 -08:00
bunnei
58ba508e9a
Merge pull request #9652 from liamwhite/ms
spirv: fix multisampled image fetch
2023-01-25 22:28:18 -08:00
bunnei
2158ccda3b
Merge pull request #9604 from liamwhite/pt
kernel: KPageTable: update
2023-01-25 22:27:48 -08:00
ameerj
93cc6e4d99 shader_recompiler: Remove S32 IR type
The frontend IR opcodes do not distinguish between signed and unsigned integer types.

Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-25 22:03:15 -05:00
Morph
ad6cec71ec main: Convert to device independent coordinates for scaling
devicePixelRatioF() returns the scaling ratio when high dpi scaling is enabled.
When high dpi scaling is enabled, the raw screen coordinate system is scaled to device independent coordinates.
2023-01-25 21:16:05 -05:00
Morph
5be85c556e main: Use passthrough scaling for non-windows OSes
They should be better than windows when handling fractional scaling ratios.
2023-01-25 21:16:04 -05:00
Morph
6a1b089a50 main: Enable High DPI fixes for Qt >= 5.14
This uses Qt's new high DPI application attributes for scaling the current window.
However, these aren't perfect as scaling with non integer scales will cause artifacts in UI, icons and other elements.
Therefore, we use a heuristic to select an appropriate integer scale value depending on the current screen resolution and applies this to the application.
2023-01-25 21:16:04 -05:00
Morph
b6e5a6bda8 main: Only set AA_DisableWindowContextHelpButton below Qt6
This is fortunately disabled by default on Qt6, so we just have to check whether we are compiling with Qt6 or not.
2023-01-25 18:45:22 -05:00
liamwhite
0d1a9a12c9
Merge pull request #9675 from Morph1984/ini-concat
default_ini: Split and concatenate the config string literal
2023-01-25 17:57:09 -05:00
liamwhite
4ec50dfd4f
Merge pull request #9668 from Morph1984/qt-why-is-this-not-the-default
main: Globally disable the "?" button on dialogs
2023-01-25 17:56:58 -05:00
liamwhite
abda68f3a4
Merge pull request #9676 from german77/revert-stick-range
Revert #9617 and fix it on input_common
2023-01-25 17:56:47 -05:00
Morph
c55147b24a input_common: Make use of StoppableTimedWait 2023-01-25 16:43:04 -05:00
Morph
9b0563fa87 polyfill_thread: Implement StoppableTimedWait
StoppableTimedWait allows for a timed wait to be stopped immediately after a stop is requested.
This is useful in cases where long duration thread sleeps are needed and allows for immediate joining of waiting threads after a stop is requested.

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-01-25 16:43:04 -05:00
Jan Beich
20c7084892 input_common: add missing header for libc++ after 340f15d1fa
src/input_common/drivers/joycon.cpp:187:26: error: no member named 'find_if' in namespace 'std::ranges'
            std::ranges::find_if(left_joycons, [](auto& device) { return !device->IsConnected(); });
            ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:193:54: error: no member named 'find_if' in namespace 'std::ranges'
        const auto unconnected_device = std::ranges::find_if(
                                        ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:393:51: error: no member named 'find_if' in namespace 'std::ranges'
        const auto matching_device = std::ranges::find_if(
                                     ~~~~~~~~~~~~~^
src/input_common/drivers/joycon.cpp:402:51: error: no member named 'find_if' in namespace 'std::ranges'
        const auto matching_device = std::ranges::find_if(
                                     ~~~~~~~~~~~~~^
2023-01-25 19:52:56 +00:00
Narr the Reg
cc821bfae1 Revert 9617 and fix it on input_common 2023-01-25 13:52:50 -06:00
Morph
4cdf69c378 default_ini: Split and concatenate the config string literal
We are dangerously close to MSVC's 16384 character limit for string literals. Breaking this string up and concatenating will allow for more settings to be added in the future.
2023-01-25 14:06:06 -05:00
Merry
dc7ab4c5d6 Revert "MemoryManager: use fastmem directly."
This reverts commit af5ecb0b15.
2023-01-25 10:12:04 +00:00
Morph
cdfb3795af main: Globally disable the "?" button on dialogs
Sets the AA_DisableWindowContextHelpButton attribute to disable this useless button globally.
2023-01-25 01:12:50 -05:00
bunnei
44b981fd3e
Merge pull request #9662 from abouvier/cmake-llvm
cmake: prefer system llvm library
2023-01-24 11:03:14 -08:00
liamwhite
a68af583ea
Merge pull request #9492 from german77/joycon_release
Input_common: Implement custom joycon driver v2
2023-01-24 09:29:37 -05:00
Liam
693cad8e9b kernel: split SetAddressKey into user and kernel variants 2023-01-23 20:31:03 -05:00
Liam
5086380a63 kernel: fix incorrect locking order in suspension 2023-01-23 17:14:41 -05:00
Liam
76a4356e55 spirv: fix multisampled image fetch 2023-01-23 12:03:19 -05:00
Alexandre Bouvier
34b1ea9c19 cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
liamwhite
f99f618d45
Merge pull request #9555 from abouvier/catch2-update
tests: update catch2 to 3.0.1
2023-01-22 18:22:47 -05:00
Liam
31e54c4573 kernel: KPageTable: update 2023-01-22 13:17:29 -05:00
liamwhite
78df1ddce8
Merge pull request #9660 from german77/koreaToTaiwan
yuzu: Fix language comobox crash
2023-01-22 13:14:38 -05:00
liamwhite
9184b6ed2b
Merge pull request #9656 from liamwhite/nsight
nsight_aftermath_tracker: update for latest Aftermath SDK
2023-01-22 13:14:28 -05:00
liamwhite
ff2bbc8205
Merge pull request #9637 from SaiKai/repeat_shortcuts
allow volume up/down hotkeys to be repeated
2023-01-22 13:14:19 -05:00
liamwhite
02ac593257
Merge pull request #9617 from german77/off_by_one
core: hid: Fix stick minimum range
2023-01-22 13:14:10 -05:00
liamwhite
9705094a57
Merge pull request #9613 from Kelebek1/demangle
Add stacktrace symbol demangling
2023-01-22 13:13:58 -05:00
german77
a436467152 yuzu: Fix language comobox crash 2023-01-22 10:42:59 -06:00
Liam
c6eab71d5c nsight_aftermath_tracker: update for latest Aftermath SDK 2023-01-21 13:01:19 -05:00
bunnei
f78068d7bf
Merge pull request #9611 from liamwhite/patch-1
debugger: add host fastmem pointer fetch command
2023-01-20 10:00:33 -08:00
Narr the Reg
d9ee7c3297 core: hid: Make use of SCOPE_EXIT and SCOPE_GUARD where applicable 2023-01-20 00:51:46 -06:00
german77
fafa92cfb8 input_common: Fix joycon mappings 2023-01-20 00:51:46 -06:00
german77
340f15d1fa input_common: Address byte review 2023-01-20 00:51:45 -06:00
bunnei
7d77798f0e
Merge pull request #9640 from german77/why_sdl
input_common: reset sdl motion if data is invalid
2023-01-19 18:47:21 -08:00
Narr the Reg
4a307a7b3a core: hid: Only set the polling mode to the correct side 2023-01-19 18:05:23 -06:00
german77
b40aefb39e input_common: Drop Pro controller support from custom driver 2023-01-19 18:05:22 -06:00
german77
d05ea2f3eb input_common: Fix issue where ring and irs are enabled at the same time 2023-01-19 18:05:22 -06:00
Narr the Reg
459fb2b213 input_common: Implement joycon ir camera 2023-01-19 18:05:22 -06:00
german77
5cb437703f yuzu: Add ring controller test button 2023-01-19 18:05:22 -06:00
german77
527dad7097 input_common: Use DriverResult on all engines 2023-01-19 18:05:22 -06:00
german77
e1a3bda4d9 Address review comments 2023-01-19 18:05:22 -06:00
Narr the Reg
1c08d532e0 core: hid: Fix input regressions 2023-01-19 18:05:22 -06:00
german77
6d6b7bdbc3 input_common: Implement joycon nfc 2023-01-19 18:05:21 -06:00
Narr the Reg
6e33731f29 input_common: Add dual joycon support 2023-01-19 18:05:21 -06:00
Narr the Reg
751d36e739 input_common: Add support for joycon ring controller 2023-01-19 18:05:21 -06:00
Narr the Reg
f09a023292 input_common: Add support for joycon input reports 2023-01-19 18:05:21 -06:00
Narr the Reg
5676c2e17f input_common: Use calibration from joycon 2023-01-19 18:05:21 -06:00
Narr the Reg
594b2ade6d input_common: Add support for joycon generic functions 2023-01-19 18:05:21 -06:00
Narr the Reg
6aa6301acd input_common: Add joycon low level functions 2023-01-19 18:05:21 -06:00
Narr the Reg
36d5e0a411 service: hid: Set led pattern and fix color detection 2023-01-19 18:05:20 -06:00
Narr the Reg
ed5fa10e97 core: hid: Enable pulling color data from controllers 2023-01-19 18:05:20 -06:00
Narr the Reg
a4074001fe core: hid: Migrate ring from emulated devices to emulated controller 2023-01-19 18:05:20 -06:00
Narr the Reg
18c9f8eeed yuzu: Update controller colors and button names 2023-01-19 18:05:20 -06:00
Narr the Reg
2d802893e7 input_common: Disable SDL driver with switch controllers 2023-01-19 18:05:20 -06:00
Narr the Reg
d80e6c399b input_common: Initial skeleton for custom joycon driver 2023-01-19 18:05:20 -06:00
liamwhite
475370c8f8
Merge pull request #9556 from vonchenplus/draw_texture
video_core: Implement maxwell3d draw texture method
2023-01-19 14:58:53 -05:00
bunnei
9ca3a4758a
Merge pull request #9623 from liamwhite/wp-oops
memory: fix watchpoint use when fastmem is enabled
2023-01-19 10:50:21 -08:00
Jonas Gutenschwager
4653effad8 add volume quicksetting with volume slider 2023-01-19 15:13:23 +01:00
Narr the Reg
67c3c65f7b
Merge pull request #9638 from Kelebek1/firmware4
Demote maxwell3d Firmware4 call log to debug
2023-01-18 23:15:22 -06:00
bunnei
413df0811d
Merge pull request #9619 from liamwhite/timing-spaghetti
timing: wait for completion on unregister
2023-01-18 15:13:38 -08:00
german77
db6cb9cc0a input_common: reset sdl motion if data is invalid 2023-01-18 10:05:55 -06:00
Jonas Gutenschwager
887ed5c0e2 fix format 2023-01-18 15:49:47 +01:00
bunnei
82e2ac6026
Merge pull request #9615 from merryhime/upsample-ob1
audio_core: Corrective fixes to upsampler
2023-01-17 23:34:12 -08:00
bunnei
1551f97950
Merge pull request #9608 from liamwhite/fps
nvnflinger: correct swap interval handling
2023-01-17 23:13:47 -08:00
Kelebek1
5a106cf11e Demote maxwell3d Firmware4 call log to debug 2023-01-18 01:59:11 +00:00
Jonas Gutenschwager
83754e4789 allow volume up/down hotkeys to be repeated 2023-01-18 00:39:31 +01:00
Feng Chen
9fc7ca1731 Address feedback 2023-01-16 10:27:57 +08:00
Liam
f1a0ce0e70 memory: fix watchpoint use when fastmem is enabled 2023-01-15 10:24:31 -05:00
Liam
0953cdd271 timing: wait for completion on unregister 2023-01-14 15:48:01 -05:00
Kelebek1
42b16bb33a Be careful of mangled out of bounds read 2023-01-14 19:53:55 +00:00
german77
50c86b3c2a core: hid: Fix stick minimum range 2023-01-14 11:53:43 -06:00
Merry
a0e8e5b22e upsample: Fix coefficient format 2023-01-14 17:09:03 +00:00
Merry
122a8faa38 audio_core: Fix off-by-one error in upsampler 2023-01-14 15:19:11 +00:00
Kelebek1
ce0b8d618d Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
Kelebek1
80a55c1663 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Matías Locatti
d7dbd8e774
Update settings.h 2023-01-13 04:56:25 -03:00
Matías Locatti
4294429a07
CPP 2023-01-13 04:55:26 -03:00
Matías Locatti
bb2aec00a2
UI change 2023-01-13 04:54:29 -03:00
Matías Locatti
3ba53f2511 1.5X resolution scaler option 2023-01-13 02:34:24 -03:00
Liam
e9c3d16f6f debugger: add host fastmem pointer fetch command 2023-01-12 18:35:14 -05:00
Liam
2f2ef5b147 nvnflinger: correct swap interval handling 2023-01-11 22:05:08 -05:00
bunnei
0e8f98a441
Merge pull request #9605 from german77/mouse_mapping
yuzu: Read mouse scroll
2023-01-10 17:32:58 -08:00
Narr the Reg
87b02f78e1 yuzu: Read mouse wheel input 2023-01-10 18:20:58 -06:00
Morph
c277dad25f
Merge pull request #9596 from liamwhite/mvk
MoltenVK: restrict number of vertex attributes/bindings to 16
2023-01-10 18:11:44 -05:00
liamwhite
cbcf210c19
Merge pull request #9582 from yuzu-emu/revert-9518-revert-9504-pg2
Revert "Revert "k_page_group: synchronize""
2023-01-10 15:27:33 -05:00
liamwhite
0eae0b6803
Merge pull request #9601 from liamwhite/it-never-ends
qt: unlock during signal emission
2023-01-10 15:27:12 -05:00
liamwhite
74404261d2
Merge pull request #9598 from liamwhite/indirect
vulkan_common: fix indirect draw with count
2023-01-10 15:27:02 -05:00
liamwhite
e2c68edd35
Merge pull request #9595 from liamwhite/per-game
qt: fix configuration weirdness on turbo
2023-01-10 15:26:49 -05:00
liamwhite
9f974ea818
Merge pull request #9565 from MonsterDruide1/tas-multiplayer-lengths
TAS: Show all script lengths for multiplayer
2023-01-10 15:26:36 -05:00
Liam
385ddef8c3 qt: unlock during signal emission 2023-01-10 12:46:01 -05:00
Liam
fa8581e900 vulkan_common: fix indirect draw with count 2023-01-10 09:43:36 -05:00
TellowKrinkle
eaf425bd32 MoltenVK: restrict number of vertex attributes/bindings to 16 2023-01-09 19:01:09 -05:00
Liam
1caa84e652 qt: fix configuration weirdness on turbo 2023-01-09 17:54:49 -05:00
UltraHDR
fda0e7e989
macOS: Make Yuzu show up in the Launchpad Games folder (#9594)
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the Launchpad Games folder
2023-01-09 16:43:45 -05:00
Morph
6bf1436f5c
Merge pull request #9589 from liamwhite/default
renderer_vulkan: disable turbo by default
2023-01-09 16:23:24 -05:00
Morph
ffb12f4f9f
Merge pull request #9581 from liamwhite/turbo2
renderer_vulkan: pause turbo submissions on inactive queue
2023-01-09 16:23:16 -05:00
Morph
a4cd747122
Merge pull request #9530 from liamwhite/vk-feature-init
vulkan_device: refactor feature testing
2023-01-09 16:23:04 -05:00
Morph
3be8312120
Merge pull request #9569 from liamwhite/shutdown-wars
qt: additional fixes for reentrant shutdown
2023-01-09 16:21:27 -05:00
Liam
279005448a vulkan_device: refactor feature testing 2023-01-09 16:12:16 -05:00
Liam
0df43e4e07 renderer_vulkan: disable turbo by default 2023-01-08 11:38:30 -05:00
Fernando Sahmkow
efbb6fe288 VideoCore: Fix OGL cache invalidation. 2023-01-07 21:56:17 -05:00
bunnei
a5693afa03
Revert "Revert "k_page_group: synchronize"" 2023-01-07 15:32:10 -08:00
bunnei
66e4a48b75
Merge pull request #9563 from german77/crash_not_allowed
input_common: Create an update engine
2023-01-07 13:41:27 -08:00
Liam
505923f0f3 Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit 8804a4eb23.
2023-01-07 15:50:58 -05:00
Liam
57a4388e2d Revert "Vulkan, OpenGL: Hook up storage buffer alignment code"
This reverts commit 9e2997c4b6.
2023-01-07 15:48:50 -05:00
MonsterDruide1
115bf20448 TAS: Show all script lengths for multiplayer 2023-01-07 21:15:37 +01:00
Liam
c19c8ac92c renderer_vulkan: pause turbo submissions on inactive queue 2023-01-07 14:35:11 -05:00
Billy Laws
d34275a260
Avoid OOB array access reading passthrough attr mask
YFC 1.5 extended the size of the varying mask used to hold passthrough attrs without considering this
2023-01-07 18:38:21 +00:00
Narr the Reg
432d48d9c8
Merge pull request #9570 from liamwhite/less-clock-boost
renderer_vulkan: disable clock boost on unvalidated devices
2023-01-07 10:41:37 -06:00
Liam
444b25bae1 vulkan_device: avoid attempt to access empty optional 2023-01-06 21:23:21 -05:00
Liam
2e4dde12c7 renderer_vulkan: disable clock boost on unvalidated devices 2023-01-06 19:07:47 -05:00
Liam
9ed4c13758 qt: additional fixes for reentrant shutdown 2023-01-06 18:50:01 -05:00
Narr the Reg
4bda2b475f opengl: Sanitize antialiasing config 2023-01-06 13:42:20 -06:00
Wollnashorn
457826a83b video_core/vulkan: Fixed loading of Vulkan driver pipeline cache
The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load.
2023-01-06 16:52:41 +01:00
Fernando S
8b251fc3f6
Merge pull request #9535 from bylaws/master
Port over several shader-compiler fixes from skyline
2023-01-06 10:06:45 -05:00
liamwhite
3c05988df2
Merge pull request #9561 from liamwhite/update-dynarmic
externals: update dynarmic, xbyak
2023-01-06 10:00:18 -05:00
liamwhite
6d74490139
Merge pull request #9558 from MonsterDruide1/network-timeout-noerror
net: Silently translate ETIMEDOUT network error
2023-01-06 10:00:09 -05:00
liamwhite
020dbcdbc7
Merge pull request #9552 from liamwhite/turbo
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
Fernando S
5bcbb8de45
Merge pull request #9559 from FernandoS27/cached-writes
VideoCore: Implement Cached Writes, use fastmem for reading GPU memory and eliminate old stuffs
2023-01-06 07:31:39 -05:00
Fernando Sahmkow
f6245dc40a MacroHLE: eliminate 2 rushed macros. 2023-01-05 20:53:31 -05:00
Narr the Reg
8042ce7e19 input_common: Create an update engine 2023-01-05 19:24:29 -06:00
liamwhite
eaca61e073
Merge pull request #9528 from liamwhite/mvk-nulldesc
renderer_vulkan: implement fallback path for null buffer descriptors
2023-01-05 18:31:55 -05:00
liamwhite
3e33a878dc
Merge pull request #9536 from liamwhite/debug-utils
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-05 18:31:45 -05:00
Liam
1ee0540f82 externals: update dynarmic, xbyak 2023-01-05 18:06:06 -05:00
Billy Laws
58fec43768 Run clang-format 2023-01-05 22:18:10 +00:00
Billy Laws
68ed60cee4 shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs
The existing implementation only supports 64 invoc-per-subgroup GPUs, and misbehaves on adreno when invocations need to be split into 4 emulated subgroups.
2023-01-05 22:13:07 +00:00
Billy Laws
6c812a0c84 Vulkan, OpenGL: Hook up geometry shader passthrough emulation 2023-01-05 22:13:07 +00:00
Billy Laws
625a4af73a shader_recompiler: Add support for lowering geometry passthrough
Reuses most of the existing code for generating the gl_Layer passthrough. Fixes geometry in Nier: Automata on GPUs without HW passthrough support.
2023-01-05 22:13:07 +00:00
Billy Laws
9e2997c4b6 Vulkan, OpenGL: Hook up storage buffer alignment code 2023-01-05 22:13:07 +00:00
Billy Laws
8804a4eb23 shader_recompiler: Align SSBO offsets to meet host requirements
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05 22:13:07 +00:00
Billy Laws
3f0985c7b0 shader_recompiler: SPIRV: Only enable int64 feature when supported 2023-01-05 22:13:07 +00:00
Billy Laws
c1cc99584c shader_recompiler: Add comparison operators to descriptor types 2023-01-05 22:13:07 +00:00
Billy Laws
bbfad79c89 Vulkan: Add a workaround for input_position on Adreno drivers
Adreno drivers will crash compiling geometry shaders if the input position is not wrapped in a gl_in struct.
2023-01-05 22:13:07 +00:00
Wollnashorn
e07976a22b video_core/vulkan: Vulkan driver pipelines now contain cache version
So that old cache can get deleted when the cache version changes and does not grow infinitely
2023-01-05 21:03:01 +01:00
Wollnashorn
9c9008ac81 video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache 2023-01-05 21:03:01 +01:00
Wollnashorn
8945fafcc0 config: Set the Vulkan driver pipeline cache option to be global 2023-01-05 21:03:01 +01:00
Wollnashorn
f2aa816679 video_core/vulkan: Added check if Vulkan pipeline path has been set 2023-01-05 21:03:01 +01:00
Wollnashorn
f4626512ff config: Better wording for VK pipeline cache option and enable by default 2023-01-05 21:03:01 +01:00
Wollnashorn
67d4f190f7 yuzu-cmd: Removed use_vulkan_driver_pipeline_cache from default_ini.h
The addition of the use_vulkan_driver_pipeline_cache option into the default ini string literal caused the 16,384-byte limit of the MSVC compiler to be exceeded.
2023-01-05 21:03:01 +01:00
Wollnashorn
16809c1fa7 video_core/vulkan: Added VkPipelineCache to store Vulkan pipelines
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.

These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-05 21:02:44 +01:00
Fernando Sahmkow
b56ad93bbc BufferBase: Don't ignore GPU pages. 2023-01-05 14:00:10 -05:00
Fernando Sahmkow
2d0c4f2b1d Fermi2D: sync cache flushes 2023-01-05 06:43:28 -05:00
Fernando Sahmkow
af5ecb0b15 MemoryManager: use fastmem directly. 2023-01-05 06:06:33 -05:00
MonsterDruide1
688a9fbfa6 net: Silently translate ETIMEDOUT network error 2023-01-05 11:54:36 +01:00
Fernando Sahmkow
6c7eb81f7d video_core: Cache GPU internal writes. 2023-01-05 05:23:39 -05:00
Fernando Sahmkow
4d9af4a9d2 Vulkan: Fix drivers that don't support dynamic_state_2 up 2023-01-05 00:11:16 -05:00
Feng Chen
013b689153 video_core: Implement opengl/vulkan draw_texture 2023-01-05 12:41:33 +08:00
Feng Chen
1e8cee2ddf video_core: Implement maxwell3d draw texture method 2023-01-05 12:41:28 +08:00
Alexandre Bouvier
d0fe27708e tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01:00
Liam
a4269c285a common: add setting for renderer clock workaround 2023-01-04 22:22:01 -05:00
Liam
301e9bbc03 vulkan: implement 'turbo mode' clock booster 2023-01-04 22:22:01 -05:00
Liam
66ae79de13 renderer_vulkan: implement fallback path for null descriptors 2023-01-04 22:14:01 -05:00
liamwhite
b78328f19a
Merge pull request #9501 from FernandoS27/yfc-rel-2
Yuzu Fried Chicken Part 1.5: MacroHLE Rework and Dynamic State
2023-01-04 21:20:00 -05:00
Fernando Sahmkow
3ecc03ec1b yuzu-ui: Add setting for disabling macro HLE 2023-01-04 14:56:52 -05:00
Fernando Sahmkow
a0c697124c Video_core: Address feedback 2023-01-04 14:39:42 -05:00
Fernando Sahmkow
03ccd8bf43 Texture Cache: Implement async texture downloads. 2023-01-03 22:52:15 -05:00
liamwhite
bbeb6e460c
Merge pull request #9518 from gidoly/revert-9504-pg2
Revert "k_page_group: synchronize"
2023-01-03 21:40:57 -05:00
Fernando Sahmkow
ddbf851ef6 Vulkan: Update blacklisting to latest driver versions. 2023-01-03 21:16:43 -05:00
Fernando Sahmkow
a045e860dd ShaderCompiler: Inline driver specific constants. 2023-01-03 16:29:25 -05:00
Fernando Sahmkow
b62ffb612d Vulkan: rework stencil tracking. 2023-01-03 16:29:16 -05:00
MonsterDruide1
04cb05fce0 TAS: Immediately switch stick to TAS on input
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-03 20:08:25 +01:00
Alexandre Bouvier
eceee8c3d9 cmake: move find-modules to root cmake dir 2023-01-02 18:22:07 +01:00
liamwhite
6804a43f49
Merge pull request #9540 from MonsterDruide1/tas-sanitized-record
TAS: Record sanitized instead of raw stick inputs
2023-01-02 09:51:29 -05:00
german77
80bcc18788 service: nifm: Initialize request state 2023-01-01 20:58:08 -06:00
german77
ebd811b535 service: nifm: Match documentation names 2023-01-01 20:58:01 -06:00
Liam
f9c6d39a6c vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1 2023-01-01 16:43:58 -05:00
Liam
4814d87385 video_core: fix build 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d09aa0182f MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
581a7d785b Rasterizer: Setup skeleton for Host Conditional rendering 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
3630bfaef3 RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
2793304117 Vulkan: Allow stagging buffer deferrals. 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
8d694701bc MacroHLE: Add OpenGL Support 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
4c82e47edd Vulkan: Add other additional pipeline specs 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d33251db93 Vulkan: Implement Dynamic State 3 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
f800e485c9 Vulkan Implement Dynamic State 2 LogicOp and PatchVertices 2023-01-01 16:43:58 -05:00
Fernando Sahmkow
c897c55e3c Vulkan: Implement Dynamic States 2 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
cb1497d0d7 DMAPusher: Improve collection of non executing methods 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
ce448ce770 Revert Buffer cache changes and setup additional macros. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
18637766ef MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
aad0cbf024 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
93ac5a6a6d MacroHLE: Add Index Buffer size estimation. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
c541559767 MacroHLE: Refactor MacroHLE system. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
0f89828073 MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. 2023-01-01 16:43:57 -05:00
Fernando Sahmkow
a5a94f52ff MacroHLE: Add MultidrawIndirect HLE Macro. 2023-01-01 16:43:57 -05:00
MonsterDruide1
d46c9c4659 TAS: Record sanitized instead of raw stick inputs
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-01 22:39:18 +01:00
Merry
bee395d2f0 vfs: Replace cstr concat with char concat 2023-01-01 18:52:02 +00:00
Liam
aa13ee5c4a vulkan_common: unify VK_EXT_debug_utils and selection of validation layer 2023-01-01 11:59:47 -05:00
liamwhite
92103d4ff3
Merge pull request #9533 from merryhime/overcommit
host_memory: mmap changes for virtual_base
2023-01-01 10:24:07 -05:00
liamwhite
0b228fde15
Merge pull request #9514 from ColinKinloch/en_gb
settings: warn on invalid regon/language combinations
2023-01-01 10:23:46 -05:00
Merry
fd1831b65b host_memory: Use transparent huge pages where available 2023-01-01 11:40:35 +00:00
Merry
4d7be85e73 host_memory: Allocate virtual_base with MAP_NORESERVE
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
Colin Kinloch
28cfc2146f settings: comment language blocklist columns 2022-12-30 13:51:35 +00:00
bunnei
05c709bebe core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps. 2022-12-30 00:14:53 -08:00
bunnei
c3af6d8372
Merge pull request #9515 from liamwhite/cmake-refactor
CMake: make more features optional
2022-12-29 23:37:25 -05:00
Wollnashorn
1df5d12b19 config: Save multiplayer settings only globally
Saved multiplayer settings like the nickname, remote address, etc. were reset everytime a game was booted up and the game-specific config files were loaded, as these values will never be set.
2022-12-30 02:32:58 +01:00
Colin Kinloch
8594f287b8 settings: added regon/language warning bounds check 2022-12-29 15:55:24 +00:00
gidoly
10eaf31af3
Revert "k_page_group: synchronize" 2022-12-29 17:39:42 +09:00
liamwhite
9fdacb5e3a
Merge pull request #9423 from vonchenplus/vulkan_quad_strip
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
ameerj
b0722591c9 hle_ipc: Use thread_local ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj
a1490d77ac hle_ipc: Rename ReadBufferSpan to ReadBuffer 2022-12-28 18:46:54 -05:00
ameerj
59c0f85407 hle_ipc: Rename ReadBuffer to ReadBufferCopy
Indicates explicitly that a copy is occurring
2022-12-28 18:46:54 -05:00
ameerj
7c1bf68bb4 bsd: Use std::span for read payloads
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:54 -05:00
ameerj
f517f82416 nvdrv: Use std::span for inputs
Allows the use of HLERequestContext::ReadBufferSpan
2022-12-28 18:46:53 -05:00
ameerj
e7032d9e64 hidbus: Use ReadBufferSpan 2022-12-28 18:46:53 -05:00
Liam
c18cf05a06 cmake: make cubeb and SDL2 optional 2022-12-28 17:29:32 -05:00
bunnei
60419dd35e
Merge pull request #9504 from liamwhite/pg2
k_page_group: synchronize
2022-12-28 17:28:31 -05:00
Liam
be43b62d79 cmake: make libusb optional 2022-12-28 17:26:46 -05:00
Liam
106cf27135 cmake: make room server optional 2022-12-28 17:18:27 -05:00
Colin Kinloch
2ccf175324 settings: warn on invalid regon/language combinations 2022-12-28 20:34:28 +00:00
bunnei
c5de54d509
Merge pull request #9490 from ameerj/texture-cache-prealloc
texture_cache: Use pre-allocated heap buffer for texture swizzles
2022-12-27 00:07:35 -05:00
bunnei
343c01b87a
Merge pull request #9495 from german77/no_refresh
yuzu: Automatically refresh device list
2022-12-27 00:07:13 -05:00
Alexandre Bouvier
dce2649daf
tests: add missing header
<cstring> is needed for std::memcpy
2022-12-26 04:26:31 +00:00
FengChen
6a397bc8ed video_core: Implement other missing vulkan topology 2022-12-26 12:20:49 +08:00
FengChen
86d5b4e556 video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
ameerj
32d01a39b0 nvflinger: Split Parcel class into InputParcel and OutputParcel
The usages of the Parcel class were already unique to either Read or Write operations.
Avoids needing a vector of the input payload for the InputParcel use-case, instead it can remain as a span.
2022-12-25 17:19:10 -05:00
ameerj
7ffd624248 service: Use ReadBufferSpan where it is trivial to do so 2022-12-25 17:04:02 -05:00
MonsterDruide1
bc4126acd7 TAS: Increase accuracy of Stick inputs 2022-12-25 21:49:09 +01:00
ameerj
7584d36922 texture_cache: Use Common::ScratchBuffer for swizzle buffers 2022-12-25 15:47:41 -05:00
ameerj
1209d428f1 texture_cache: Use pre-allocated buffer for texture downloads 2022-12-25 15:38:36 -05:00
ameerj
c448b3af2f texture_cache: Use pre-allocated buffer for texture uploads 2022-12-25 15:38:36 -05:00
Liam
28d9c30861 k_page_table: remove HACK_OpenPages/ClosePages 2022-12-25 13:43:49 -05:00
ameerj
fbc375f0de fsp_srv: Use ReadBufferSpan 2022-12-25 13:21:15 -05:00
ameerj
9349f06963 hle_ipc: Add ReadBufferSpan function
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-25 13:20:59 -05:00
Liam
3392fdac9b k_page_group: synchronize 2022-12-25 12:55:21 -05:00
liamwhite
9933121256
Merge pull request #9500 from liamwhite/reentrant-shutdown
qt: prevent reentrant shutdown
2022-12-25 12:51:25 -05:00
liamwhite
c6767704fb
Merge pull request #9496 from liamwhite/shm3
kernel: workaround static shared memory initialization
2022-12-25 12:51:16 -05:00
liamwhite
ea70d9c79e
Merge pull request #9487 from liamwhite/look-at-the-time
time: add LockFreeAtomicType
2022-12-25 12:50:57 -05:00
Fernando S
3e6850f00b
Merge pull request #9453 from ameerj/scratch-vector
common: Add ScratchBuffer Class
2022-12-24 20:26:06 -05:00
Liam
cb7f0c2ec3 qt: prevent reentrant shutdown 2022-12-24 17:31:34 -05:00
liamwhite
c86e21abe4
qt: fix 'Pause' menu item (#9497) 2022-12-23 21:44:53 -05:00
Chris Oboe
201733d1b5
Disable automatically opening the console on windows yuzu-cmd builds (#9485)
* don't automatically open the console on windows build of yuzu-cmd

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

* Testing LTO

* clang

* linux

* Added the rest of Blinkhawk's optimizations

* Unlikely asserts

* Removing LTO from Linux builds - GCC

* Removing LTO from Linux builds - Clang
2022-12-17 17:16:52 -08:00
bunnei
48108a8c9b
Merge pull request #9456 from german77/virtual_gamepad
input_common: Add virtual gamepad
2022-12-17 17:16:13 -08:00
Liam
92ce241d4d qt: use _exit instead of exit on SIGINT 2022-12-17 16:26:25 -05:00
Liam
d3123079e8 EmuThread: refactor 2022-12-17 16:26:24 -05:00
liamwhite
5da72a891f
Merge pull request #7450 from FernandoS27/ndc-vulkan
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Mai
f8a7d6a0ae
Merge pull request #9461 from liamwhite/wanative
qt: avoid setting WA_DontCreateNativeAncestors on all platforms
2022-12-17 21:07:01 +00:00
Mai
da31326c17
Merge pull request #9454 from liamwhite/wayland-egl
qt: handle wayland-egl platform name
2022-12-17 21:05:46 +00:00
Liam
45672d43e3 qt: avoid setting WA_DontCreateNativeAncestors on all platforms 2022-12-17 10:41:20 -05:00
liamwhite
a3bac5550d
Merge pull request #9451 from ameerj/camera-data-array
camera: Use pre-allocated vector for camera data
2022-12-17 10:21:50 -05:00
liamwhite
4faea2bbf4
Merge pull request #9452 from ameerj/hle-read-buffer-resreve
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-17 10:21:30 -05:00
liamwhite
fa10374d39
Merge pull request #9455 from Kelebek1/audio_signal
[audio_core] Signal buffer event on audio in/out system stop
2022-12-17 10:21:19 -05:00
liamwhite
98135dee16
Merge pull request #9457 from Kelebek1/silence_tfb
Remove unimplemented geometry transform feedback log spam
2022-12-17 10:21:05 -05:00
german77
243404bf34 input_common: Add virtual gamepad 2022-12-16 18:26:11 -06:00
ameerj
7bf4bec257 camera: Use pre-allocated vector for camera data
And avoid an unnecessary copy
2022-12-16 18:00:47 -05:00
Kelebek1
f7d95d0a3a Remove unimplemented transform feedback geometry spam, it should be implemented 2022-12-16 22:52:29 +00:00
liamwhite
bbb202ceed
Merge pull request #6354 from ogniK5377/device-name
Set: Allow setting device nickname
2022-12-16 14:05:00 -05:00
liamwhite
789da737af
Merge pull request #9450 from ameerj/hle-ipc-vector-reserve
hle_ipc: Reserve vectors before populating
2022-12-16 11:57:48 -05:00
liamwhite
b541a35e27
Merge pull request #9444 from german77/free_threads
kernel: process: Implement GetFreeThreadCount
2022-12-16 11:57:42 -05:00
liamwhite
6bc1a477bf
Merge pull request #8605 from devsnek/graceful-shutdown
let games gracefully exit
2022-12-16 11:57:33 -05:00
liamwhite
9bfd4d880e
Merge pull request #6769 from lat9nq/create-shortcut-2
yuzu qt, common: Add option to create game shortcuts on Linux
2022-12-16 11:57:16 -05:00
Kelebek1
6a56f42f5d Signal buffer event on audio in/out system stop, and force remove all registered audio buffers 2022-12-16 16:07:24 +00:00
Liam
b81caf1879 qt: handle wayland-egl platform name 2022-12-16 08:47:22 -05:00
ameerj
b1d633532f hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15 23:22:11 -05:00
ameerj
12c0f682e6 hle_ipc: Reserve vectors before populating 2022-12-15 22:30:42 -05:00
Narr the Reg
9ff891ce71
Merge pull request #9431 from liamwhite/sixty-five-oh-two
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
Matías Locatti
82d80869fc
Merge pull request #9430 from liamwhite/capable
spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId
2022-12-15 20:52:05 -03:00
Narr the Reg
20cbf6f3db kernel: svc: Fix duplicated InfoType enum 2022-12-15 14:18:30 -06:00
Narr the Reg
dca4f0687a kernel: process: Implement GetFreeThreadCount
Used by Just Dance® 2023 Edition
2022-12-15 13:44:21 -06:00
liamwhite
3ff7a5de1a
Merge pull request #7410 from Nefsen402/wayland-fixes
Wayland fixes
2022-12-15 12:05:01 -05:00
bunnei
beba9c9b61
Revert "hle: service: audio: Use default service thread." 2022-12-14 14:57:33 -08:00
liamwhite
a222f02c7a
Merge pull request #6688 from yzct12345/valid-intel-max
render_vulkan: Fix validation errors on less compatible Intel GPUs
2022-12-14 15:33:10 -05:00
FernandoS27
0104e28fe4 Vulkan: Add support for VK_EXT_depth_clip_control. 2022-12-13 21:39:18 -05:00
Chloe Marcec
c5f519e1e4 Set: Allow setting device nickname 2022-12-13 19:54:17 -05:00
lat9nq
5a5bb91f40 main: Address review feedback
Moves icon path to ~/.local/share/icons, though I'm opting to avoid
using the game title for the icon and desktop entry name as that would
cause filenames such as
"yuzu-cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda-demo.desktop".
2022-12-13 19:23:54 -05:00
Liam
4fce72c902 vulkan_common: declare storageBuffer8BitAccess 2022-12-13 18:28:50 -05:00
Liam
77b0d01639 spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId 2022-12-13 18:25:53 -05:00
lat9nq
18bdf45868 yuzu qt: Create shortcuts on Linux
This creates a Desktop Entry file and a PNG icon for the entry when the
user right-clicks a game and selects "Create Shortcut -> Create
{Application,Desktop} Shortcut". This uses the current executable's path
to create the shortcut.

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

main: Remove FreeBSD gating for shortcuts

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

main: Move shortcut function to its own function

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

main: Remove image manip references

main: Fix difference in MinGW and native GCC versions

main: Fix negation in creat shortcut

Addresses review comment

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

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

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

Swap out unique for scoped lock and readd comment
2022-12-09 16:39:59 +01:00
Salvage
0e265db873
Fix compilation error 2022-12-09 14:49:15 +01:00
Liam
5b837157bd video_core: Integrate SMAA
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
FengChen
37014e9127 video_core: Add vertex_array_instance_* sbubbed called warning 2022-12-08 23:19:31 +08:00
FengChen
1e64b5e2ec video_core: The draw manager manages whether Clear is required. 2022-12-08 23:10:52 +08:00
FengChen
15d63c3d3d video_core: Adjust topology update logic 2022-12-08 22:40:28 +08:00
Fernando S
41461514d6
Merge pull request #9401 from vonchenplus/draw_manager
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen
bf0b957c05 video_core: Implement maxwell3d draw manager and split draw logic 2022-12-08 10:12:19 +08:00
Morph
bfdd512787
Merge pull request #9365 from liamwhite/val
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Liam
9704acb982 general: improve handling of system startup failure 2022-12-06 16:13:42 -05:00
merry
e1f5f4bdea
Merge pull request #9370 from liamwhite/break-unmapped
core: add option to break on unmapped access
2022-12-06 20:20:20 +00:00
Fernando S
08d4e7c7af
Merge pull request #9393 from liamwhite/more-vulkan
vulkan_common: further initialization tweaks
2022-12-06 17:45:08 +01:00
liamwhite
4b7e73e0a6
Merge pull request #9392 from lioncash/reporter
reporter: Eliminate undefined behavior in SaveErrorReport
2022-12-06 11:27:00 -05:00
liamwhite
d8534ea140
Merge pull request #9390 from lioncash/keyboard
applets: Extract callback types into aliases
2022-12-06 11:26:53 -05:00
liamwhite
bbdb6d391e
Merge pull request #9389 from lioncash/emumove
emulated_console/emulated_controller: std::move ParamPackage instances where applicable
2022-12-06 11:26:46 -05:00
liamwhite
a86af1b776
Merge pull request #9386 from lioncash/init
kernel: Ensure relevant class members are always initialized on construction
2022-12-06 11:26:38 -05:00
liamwhite
a225ba4cda
Merge pull request #9391 from abouvier/cmake-sdl
cmake: use sdl2 imported target
2022-12-06 09:58:48 -05:00
liamwhite
e86e144a7c
Merge pull request #9387 from abouvier/cmake-libusb
cmake: prefer system libusb
2022-12-06 09:58:37 -05:00
Lioncash
dba84458be configure_graphics: Make SPIRV backend string translatable
The parenthetical needs to be translatable, like with GLASM
2022-12-06 00:13:07 -05:00
Alexandre Bouvier
f385175aa2 cmake: prefer system libusb 2022-12-06 05:30:40 +01:00
liamwhite
04779b3d2a
Merge pull request #9369 from german77/mifare
service: nfc: Implement mifare service
2022-12-05 22:17:32 -05:00
liamwhite
90145c424d
Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam
7e7a23363a vulkan_common: further initialization tweaks 2022-12-05 22:06:35 -05:00
Lioncash
eadc1ae1e7 reporter: Pass by const reference where applicable
Same behavior, but without memory churn.
2022-12-05 21:48:42 -05:00
Lioncash
e7f9f58fa4 reporter: Eliminate undefined behavior in SaveErrorReport
The optionals are unconditionally dereferenced when setting the custom
error text, and in a few cases this function is called using the default
value of the optionals.

This means we'd be dereferencing uninitialized storage.

Since they're used unconditionally, we can use value_or to set a default
when storage is uninitialized.
2022-12-05 21:31:34 -05:00
Alexandre Bouvier
e6ae720c33 cmake: use sdl2 imported target 2022-12-06 01:26:30 +01:00
Lioncash
fedd857054 applets/controller: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash
d8da9a2afd applets/error: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash
2b40cdf04f applets/mii_edit: Use aliases for callbacks 2022-12-05 19:06:04 -05:00
Lioncash
a84676c2aa applets/profile_select: Use aliases for callbacks
Deduplicates callback definitions and situates it in one place.
2022-12-05 19:06:04 -05:00
Lioncash
e26c86a6e7 applets/web_browser: Use aliases for callbacks
Deduplicates a lot of long callback declarations
2022-12-05 19:06:04 -05:00
Lioncash
9bbb77637e applets/software_keyboard: Use aliases for callbacks
Deduplicates really long std::function declarations to make the
interface nicer to read.
2022-12-05 19:06:01 -05:00
Lioncash
e4a16f50ef emulated_controller: Remove unused parameter in GetMappedDevices()
This isn't used, so it can be removed to make the function a little
nicer.
2022-12-05 18:27:18 -05:00
Lioncash
87543b9dea emulated_controller: Use std::move() in GetMappedDevices()
Avoids churning allocations in a loop.
2022-12-05 18:27:15 -05:00
Lioncash
7bf4b45349 emulated_console: Amend cast in SetTouch()
id is an int value, not a u32.
2022-12-05 18:15:23 -05:00
Lioncash
4255e30722 emulated_console: std::move() ParamPackages and callbacks where applicable 2022-12-05 18:15:19 -05:00
Lioncash
efa8711bf3 kernel/k_shared_memory: Ensure device_memory is always initialized 2022-12-05 15:27:57 -05:00
Lioncash
c3fd211b43 kernel/k_memory_block: Ensure members are always initialized 2022-12-05 15:27:47 -05:00
Lioncash
dcca650599 kernel/physical_core: Ensure is_interrupted is always initialized 2022-12-05 15:19:37 -05:00
Lioncash
dddc9bb8f1 kernel/thread: Ensure stack_top and argument are always initialized 2022-12-05 15:19:36 -05:00
Lioncash
4769d798f9 kernel/kernel: Ensure shutdown threads are always initialized 2022-12-05 15:19:36 -05:00
liamwhite
3b19f741bd
Merge pull request #6833 from abouvier/unbundle
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Fernando Sahmkow
6352c5dc31 Vulkan: Implement Alpha coverage 2022-12-05 12:33:12 +01:00
Narr the Reg
752236caad input_common: Allow mifare files 2022-12-04 20:02:48 -06:00
Mai
a52d0b82a6
Merge pull request #9381 from liamwhite/uninit
service_thread: fix uninitialized memory usage
2022-12-04 22:30:16 +00:00
Liam
cec3a3cd5a service_thread: fix uninitialized memory usage 2022-12-04 16:02:24 -05:00
liamwhite
3b9db85646
Merge pull request #9232 from bunnei/audio-default-thread
hle: service: audio: Use default service thread.
2022-12-04 15:31:40 -05:00
liamwhite
522e7c5663
Merge pull request #9273 from ameerj/per-game-profile
Configuration: Add per-game input profiles
2022-12-04 13:38:01 -05:00
liamwhite
ec547824f1
Merge pull request #9372 from liamwhite/vk12
vulkan_common: promote extension usages to core when possible
2022-12-04 12:14:06 -05:00
Alexandre Bouvier
8e17b5469f cmake: prefer system libraries 2022-12-04 17:09:25 +01:00
Liam
0cbfdf7ecb yuzu-cmd: link SDL2 correctly 2022-12-04 10:59:58 -05:00
Liam
157981cac5 vulkan_common: add feature test for shaderDrawParameters 2022-12-04 10:55:13 -05:00
Liam
18831e0933 vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
Liam
ea56d8f388 vulkan_common: correct usage of timeline semaphore fallbacks 2022-12-04 10:55:13 -05:00
Liam
f23f875dd8 vulkan_common: ensure all mandatory features are tested in feature report 2022-12-04 10:55:13 -05:00
Liam
06a67d2bbd vulkan_common: unsuffix 16-bit storage feature test structure 2022-12-04 10:55:13 -05:00
Liam
bbc1809951 vulkan_common: unsuffix timeline semaphore feature test structure 2022-12-04 10:55:13 -05:00
Liam
a9633ba8b2 vulkan_common: add logicOp to feature report 2022-12-04 10:55:13 -05:00
Liam
7fc6514be1 vulkan_common: promote host query reset usage to core 2022-12-04 10:55:13 -05:00
Liam
e44a804ec7 vulkan_common: promote descriptor update template usage to core 2022-12-04 10:55:13 -05:00
Liam
a948ab3e48 vulkan_common: promote timeline semaphore usage to core 2022-12-04 10:55:13 -05:00
liamwhite
02b10a6e4d
Merge pull request #9374 from liamwhite/externals
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam
6d2c597371 externals: update dynarmic, SDL2 2022-12-04 10:12:26 -05:00
bunnei
f77cc6c412
Merge pull request #9344 from liamwhite/null
video_core: add null backend
2022-12-03 11:23:25 -08:00