Commit Graph

21202 Commits

Author SHA1 Message Date
lat9nq bcb8e1491a CMakeLists: Enable checks on Clang
Enables shadow-uncaptured-locals and implicit-fallthrough for Clang.
implicit-fallthrough is not enabled by default in -Wall or -Wextra, and
shadow-uncaptured-local doesn't seem to be enabled by default by
-Wshadow, even though GCC has both of these by their respective cases.
2023-05-02 01:57:22 -04:00
GPUCode d56a40606c vk_present_manager: Add toggle for async presentation 2023-05-01 23:13:24 +03:00
GPUCode f9514cbc51 vk_blit_screen: Recreate FSR when frame is recreated
* Depends on the layout dimentions and thus should be recreated as well
2023-05-01 23:13:24 +03:00
GPUCode 373cfc636c renderer_vulkan: Fix crashing when updating descriptors
* During pipeline configure the function would acquire some payload space from the descriptor update queue,
  write the descriptor data on the GPU thread and give the scheduler a pointer to the beginning of said space to update it later.
  TickFrame resets the payload cursor, used to track acquires, back to the beginning of the buffer.
  This wasn't a problem before since WaitWorker was called at the end of the frame but now it is.
  If a frame writes to a cursor before the scheduler catches up, it will crash

* To fix this the payload buffer has been increased to account for the in flight frames that are allowed to exist now.
  TickFrame will switch between the payload spaces instead of resetting
2023-05-01 23:13:24 +03:00
GPUCode 8eede48a39 renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
Morph 98d1e50fb9 Merge pull request #10084 from FernandoS27/yuzu-goes-broom-broom
Y.F.C Buffer Cache Revamp
2023-05-01 11:08:02 -04:00
liamwhite 5de7095aa9 Merge pull request #10116 from liamwhite/deboost
kernel: remove boost intrusive lists
2023-05-01 09:27:23 -04:00
Fernando Sahmkow bd8abfe654 BufferCache: Fixes and address feedback 2023-05-01 11:43:26 +02:00
Liam 0dcc190ccc qt: warn on inoperable keys 2023-04-30 23:47:42 -04:00
Kelebek1 967e5b2873 Wait for the terminate event before destroying a system instance 2023-05-01 00:27:12 +01:00
Liam bdaf10ec9e settings: rename extended memory layout to unsafe, move from general to system 2023-04-30 14:24:22 -04:00
Kelebek1 dc9546fe26 Define SampleMask as an array 2023-04-30 18:37:37 +01:00
bunnei 4bcb509bbb Merge pull request #10110 from Morph1984/intel-disable-compute
vk_pipeline_cache: Skip compute pipelines on Intel proprietary drivers
2023-04-29 23:02:45 -07:00
Liam 370a0526a5 kernel: remove general boost lists 2023-04-29 22:11:32 -04:00
Liam 7afcc29ac8 kernel: match calls to Register and Unregister 2023-04-29 21:52:26 -04:00
Liam 1458a4cdc3 common: add intrusive list type 2023-04-29 17:46:26 -04:00
Fernando Sahmkow f5d2ae4c5e Texture Cache: Release stagging buffers on tick frame 2023-04-29 15:31:38 +02:00
Fernando Sahmkow 6e18a08510 Buffer Cache: Release stagging buffers on tick frame 2023-04-29 00:46:31 +02:00
Fernando Sahmkow b328059505 Tests: Add memory tracker tests. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow 917a21317f Clang: format and ficx compile errors. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow cd4d4072c7 Implement Async downloads in normal and fix a few issues. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow 139995905e Buffer Cache rework: Setup async downloads. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow 64c9a90c20 Buffer Cache: Fully rework the buffer cache. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow cf34f7c745 Address Feedback & Clang Format 2023-04-29 00:18:21 +02:00
Fernando Sahmkow 3595172637 Maxwell3D: only update parameters on High 2023-04-29 00:18:21 +02:00
Fernando Sahmkow b22e1a2bce Accelerate DMA: Use texture cache async downloads to perform the copies
to host.

WIP
2023-04-29 00:18:21 +02:00
Fernando Sahmkow e2bfd9e8c4 TextureCache: refactor DMA downloads to allow multiple buffers. 2023-04-29 00:18:21 +02:00
Morph 79d97d07e2 vk_pipeline_cache: Skip compute pipelines on Intel proprietary drivers
Intel's SPIR-V shader compiler is broken. For now, skip compiling any compute pipelines until they fix this issue.
This is not a perfect workaround, as there are a small subset of non-compute pipelines that still cause it to crash, but this should cover the majority of crashes.
It is unfortunate that even with a test case reported 6 months ago the issue has not been fixed in favor of fixing "the most popular games and apps".
Intel, you can do better than this.
2023-04-28 17:59:36 -04:00
Fernando Sahmkow 0da4b879eb QueryCache: Fix write invalidation. 2023-04-28 23:53:46 +02:00
Fernando Sahmkow ff3cf7c1d9 MemoryManager: Fix race conditions. 2023-04-28 23:53:02 +02:00
german77 7ed3f00c30 core: service: Add FunctionInfoTyped to allow expanding existing interfaces 2023-04-25 23:36:24 -06:00
Fernando Sahmkow f606fa3515 Clang format and ddress feedback 2023-04-24 12:38:47 +02:00
Fernando S f430449ddb Merge pull request #10051 from liamwhite/surface-capabilities
vulkan: pick alpha composite flags based on available values
2023-04-24 12:37:13 +02:00
Fernando S fa3ff7a6d5 Merge pull request #10056 from vonchenplus/audout_u
core: audio: return result when audio_out initialize failed
2023-04-24 12:36:52 +02:00
Fernando S f151023e45 Merge pull request #10069 from liamwhite/log
maxwell_3d: fix out of bounds array access in size estimation
2023-04-24 12:36:24 +02:00
Narr the Reg f8d2ab4660 service: nfc: Create mifare interface 2023-04-23 23:28:09 -06:00
Narr the Reg db242ac13f service: nfc: Create interface 2023-04-23 23:28:09 -06:00
Fernando Sahmkow abe4e83b45 QueryCache: rework async downloads. 2023-04-23 22:04:14 +02:00
Fernando Sahmkow eeffe68b7f Accuracy Normal: reduce accuracy further for perf improvements in Project Lime 2023-04-23 22:03:44 +02:00
Fernando Sahmkow ae99dcd531 Fence Manager: implement async fence management in a sepparate thread. 2023-04-23 04:48:50 +02:00
Liam b84bab419c maxwell_3d: fix out of bounds array access in size estimation 2023-04-22 10:35:26 -04:00
Kelebek1 325a8febfc Silence nifm spam 2023-04-22 14:29:58 +01:00
Kelebek1 477cbd067e Sort overlap_ids by modification tick before copy 2023-04-22 14:02:10 +01:00
Fernando S abcc622dae Merge pull request #10074 from Kelebek1/fermi_blit
Account for a pre-added offset when using Corner sample mode for 2D blits
2023-04-22 12:06:00 +02:00
bunnei afe8b9f018 Merge pull request #10076 from german77/TryPopMyFriend
core: am: Demote TryPopFromFriendInvitationStorageChannel Log level
2023-04-21 23:15:07 -07:00
bunnei a2a174be44 Merge pull request #10068 from twitchax/twitchax/dr_bind_address
Allow passing `--bind-address` to dedicated room.
2023-04-21 23:13:51 -07:00
bunnei e7ce0db272 Merge pull request #10060 from german77/no_dead
core: hid: Remove deadzone of virtual controller
2023-04-21 23:13:21 -07:00
german77 1ec8e38f3f core: am: Demote TryPopFromFriendInvitationStorageChannel Log level 2023-04-21 22:35:45 -06:00
Kelebek1 0397e174ae Account for a pre-added offset when using Corner sample mode for 2D blits 2023-04-21 19:08:21 +01:00
bunnei 09822c0963 Merge pull request #10057 from liamwhite/its-not-in-the-timeline
vulkan: use plain fences when timeline semaphores are not available
2023-04-19 16:50:24 -07:00
Aaron Roney 9b882c3700 Run clang-format to fix all. 2023-04-19 17:52:09 +00:00
bunnei 9ad521a8dd Merge pull request #10053 from german77/nfp_full
service: nfp: Implement all interfaces
2023-04-19 10:36:28 -07:00
Aaron Roney 470fbbfbf9 Fix formatting. 2023-04-19 16:26:49 +00:00
Aaron Roney 7dab022bc5 Allow passing `bind_address` to dedicated room. 2023-04-19 05:37:30 +00:00
FengChen ea68bfba5d core: audio: return result when audio_out initialize failed 2023-04-16 12:31:54 +08:00
german77 18bb76b6a0 core: hid: Remove deadzone of virtual controller 2023-04-15 18:41:09 -06:00
Liam fb2af6a41e vulkan: use plain fences when timeline semaphores are not available 2023-04-14 22:53:37 -04:00
bunnei d1e4bc6202 Merge pull request #10030 from Wollnashorn/botw-amd-fix
shader_recompiler: Fix ImageGather rounding on AMD/Intel
2023-04-14 16:56:34 -07:00
Narr the Reg 5de37e921c service: nfp: Implement debug Interface 2023-04-14 17:03:58 -06:00
Narr the Reg c8ed98bb1c service: nfp: Implement system interface 2023-04-14 17:03:57 -06:00
Valeri d359ae51a3 input_common: minor fix to mouse movement 2023-04-14 21:27:35 +03:00
Narr the Reg 52447e1b58 service: nfp: Use an unique interface 2023-04-13 22:24:27 -06:00
Liam e2b2842929 vulkan: pick alpha composite flags based on available values 2023-04-13 16:38:20 -04:00
Wollnashorn 111c02760b video_core: Enable ImageGather rounding fix on AMD open source drivers 2023-04-12 17:11:02 +02:00
liamwhite 84efa203a7 Merge pull request #10008 from vonchenplus/texture_cache
video_core: update imageinfo implement
2023-04-11 11:59:18 -04:00
liamwhite dfcd61afac Merge pull request #10027 from bylaws/master
Add some explicit latency to sample count reporting
2023-04-10 09:23:48 -04:00
Liam 07d060c2d4 kernel: move more memory to application in 8GB arrangement 2023-04-09 19:50:27 -04:00
Liam bfd120b543 kernel: switch extended memory setting to 8GB arrangement 2023-04-08 17:47:26 -04:00
Billy Laws 6b2510c7c5 Use GetGlobalTimeNs as opposed to clock ticks 2023-04-08 21:54:19 +01:00
Wollnashorn d53aa13a33 shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
Should be more efficient and better readable
2023-04-08 16:13:08 +02:00
Wollnashorn dda107ffa7 video_core: Enable ImageGather with subpixel offset on Intel 2023-04-08 16:12:44 +02:00
Wollnashorn 45fb154f0d shader_recompiler: Add subpixel offset for correct rounding at `ImageGather`
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.

This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956).
2023-04-08 16:12:30 +02:00
bunnei 9ff6310097 Merge pull request #10022 from liamwhite/gcc-13
general: fixes for gcc 13
2023-04-08 00:09:06 -07:00
Billy Laws 5dbfd7861a Add some explicit latency to sample count reporting
Some games have very tight scheduling requirements for their audio which can't really be matched on the host, adding a constant to the reported value helps to provide some leeway.
2023-04-03 23:11:36 +01:00
liamwhite db979803fd Merge pull request #10024 from german77/crysis
service: hid: Fix handle validation
2023-04-03 13:06:07 -04:00
liamwhite fa846222da Merge pull request #10004 from Kelebek1/cubemap
[texture_cache] Only upload GPU-modified overlaps
2023-04-03 13:05:52 -04:00
Liam bbc9f0d3e9 general: fixes for gcc 13 2023-04-02 19:02:04 -04:00
german77 4c562a2c8c service: hid: Fix handle validation 2023-04-02 02:21:54 -06:00
bunnei 3eb8207e08 Merge pull request #10020 from merryhime/update-dynarmic
externals: Update dynarmic to 6.4.6
2023-04-01 21:57:45 -07:00
bunnei a09fcccb72 core: arm_dynarmic_32: Update SaveContext/LoadContext. 2023-04-01 17:03:08 -07:00
bunnei 831a0614ea Merge pull request #9969 from bylaws/master
Audio synchronisation improvements
2023-04-01 14:34:59 -07:00
liamwhite 27f8a0af68 Merge pull request #10006 from german77/profile_select
service: am: Improve profile select applet
2023-04-01 09:49:22 -04:00
liamwhite 7aaa8bf6cd Merge pull request #9997 from german77/cancel_controller
applet: controller: Implement cancel button
2023-04-01 09:49:08 -04:00
liamwhite 1ab4527a5e Merge pull request #9999 from german77/new_hid_hurra
service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
2023-04-01 09:48:53 -04:00
liamwhite 94a0820664 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 6f649f250f 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 604f887377 externals: update Vulkan-Headers to v1.3.246 2023-04-01 05:38:54 +00:00
Feng Chen c7675caf71 video_core: Keep the definition of DimensionControl consistent with nvidia open doc 2023-03-31 12:33:07 +08:00
german77 a1b66df775 applet: controller: Implement cancel button 2023-03-30 07:49:44 -06:00
german77 9ffeb00747 service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination
Used by Let's Get Fit
2023-03-29 22:03:49 -06:00
Max Dunbar 8b5becf71b Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
Narr the Reg 0585865c9f service: am: Improve profile select applet 2023-03-29 08:53:19 -06:00
liamwhite 3b139a811e Merge pull request #9505 from liamwhite/request-exit
applets: implement RequestExit
2023-03-29 09:11:34 -04:00
Liam 7121903f4a kernel: fix unbounded stack usage in atomics 2023-03-28 22:28:27 -04:00
liamwhite da0b368e12 Merge pull request #10003 from german77/disconnect
service: hid: Silence warning on MergeSingleJoyAsDualJoy
2023-03-28 09:09:47 -04:00
Kelebek1 de4fc71536 Only upload GPU-modified overlaps 2023-03-28 11:07:39 +01:00
Morph 164d930c8d telemetry: Add waitpkg instruction 2023-03-27 17:45:22 -04:00
Morph fa3904acd9 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 e67edd4bb7 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 d260571440 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 95adf299e4 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 1794a33c52 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 91d14c0022 Run clang-format 2023-03-27 22:01:41 +01:00
Billy Laws d3f0149af2 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 59c91dfd4a Merge pull request #10002 from german77/log
qt: Fix log softlock
2023-03-27 15:37:44 -04:00
Narr the Reg c1e8a0a3e6 service: hid: Silence warning on MergeSingleJoyAsDualJoy 2023-03-27 13:25:15 -06:00
Narr the Reg 209e4fc6c5 qt: Fix log softlock 2023-03-27 12:18:46 -06:00
liamwhite c0e0237b21 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 5bb907c74f Merge pull request #9995 from german77/plain
service: nfp: Add plain amiibo support
2023-03-27 12:16:24 -04:00
Billy Laws 7e7ad78aaf 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 a7965dbc95 service: nfp: Add plain amiibo support 2023-03-26 14:26:36 -06:00
Liam e135d0448e tests: mark integer literals as unsigned 2023-03-26 15:39:07 -04:00
Liam 52c885cd03 container_hash: use climits 2023-03-26 10:24:33 -04:00
Morph 9308213232 video_core/macro: Make use of Common::HashValue 2023-03-25 23:52:26 -04:00
Morph ac1a23fc51 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 b203f9d714 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 eb8abae7eb qt: implement RequestExit for applets 2023-03-25 14:49:43 -04:00
Liam 46f5e0a276 applets: implement RequestExit 2023-03-25 12:44:26 -04:00
bunnei 82155e4000 Merge pull request #9985 from liamwhite/funny-meme
vulkan: fix scheduler chunk reserve
2023-03-24 23:40:17 -07:00
Ross Schlaikjer ee8f63ac65 Pass GPU page table by reference 2023-03-25 00:25:02 -04:00
liamwhite 74a24ab5d5 Merge pull request #9983 from Morph1984/boost
CMakeLists: Update boost to 1.81.0
2023-03-24 10:53:30 -04:00
liamwhite f0b7390ae3 Merge pull request #9981 from german77/nfp_connect
nfc: Initialize device when controller is connected
2023-03-24 10:53:05 -04:00
Liam aea009216e vulkan: fix scheduler chunk reserve 2023-03-24 09:09:01 -04:00
Morph 1242e360bd Merge pull request #9975 from liamwhite/more-waiting
vulkan: fix more excessive waiting in scheduler
2023-03-24 00:19:43 -04:00
Morph 79aa81015f zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize 2023-03-23 22:16:20 -04:00
Liam 6eaef51cf2 memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
liamwhite c8963299fa 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 2b74ab00aa Merge pull request #9964 from liamwhite/typed-address
kernel: use KTypedAddress for addresses
2023-03-23 10:00:19 -04:00
Morph f33cddc400 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 156516e399 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Morph 05ba40b98e 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 70b1c2e8e0 bounded_threadsafe_queue: Add producer cv to avoid busy waiting 2023-03-21 22:33:57 -04:00
Narr the Reg 9704f1bc7e nfc: Initialize device when controller is connected 2023-03-21 20:09:36 -06:00
bunnei 95fdc371bb Merge pull request #9965 from german77/thankYouEpicBoy
config: Fix controller config from resetting
2023-03-21 17:52:25 -07:00
Morph 62fd55e5fe 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 281e99f09d bounded_threadsafe_queue: Add TryPush 2023-03-21 19:17:38 -04:00
Morph 623cbd908e logging: Make use of bounded queue 2023-03-21 19:17:38 -04:00
Morph c4314b231f 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 c6e6763836 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 af8ce05caa vulkan: fix more excessive waiting in scheduler 2023-03-19 13:40:33 -04:00
Liam 48f1221b35 kernel: fix LOG_TRACE in ipc 2023-03-19 10:02:20 -04:00
bunnei a59583c7ab common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W. 2023-03-18 22:42:25 -07:00
bunnei b9533c81f7 common: bounded_threadsafe_queue: Use polyfill_thread. 2023-03-17 23:42:17 -07:00
bunnei 4471e9effe Merge pull request #9778 from behunin/my-box-chevy
gpu_thread: Use bounded queue
2023-03-17 22:14:29 -07:00
bunnei 61aa2be4f3 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 74cd79b687 config: Fix controller config from resetting 2023-03-17 22:08:16 -06:00
Kelebek1 0a90adff87 Disable SRGB border color conversion for now, to fix shadows in Xenoblade. 2023-03-17 04:46:38 +00:00
Narr the Reg 8a1c405ce3 service: nfp: Replace crc function with boost equivalent 2023-03-16 17:47:32 -06:00
liamwhite f47a6b3c8d Merge pull request #9955 from liamwhite/color-blend-equation
vulkan: disable extendedDynamicState3ColorBlendEquation on radv
2023-03-15 20:19:45 -04:00
liamwhite f3dfe9e5e1 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 ab37f2bda3 service: nfp: Close app area and recreate crc 2023-03-15 17:01:06 -06:00
Narr the Reg d7f58e6ecb service: nfp: Convert mii colors to v3 2023-03-15 17:01:05 -06:00
Liam 09a866fe79 vulkan: disable extendedDynamicState3ColorBlendEquation on radv 2023-03-15 15:55:07 -04:00
Narr the Reg aeb65824a7 service: nfp: Actually write correct crc 2023-03-14 23:42:41 -06:00
liamwhite fc39bb0ef9 Merge pull request #9933 from vonchenplus/texture_format
video_core: Update texture format
2023-03-14 11:35:37 -04:00
FengChen 0f336df1ea video_core: Better defined ImageInfo parameters 2023-03-14 22:36:34 +08:00
Morph 8d0d61dfd1 configure_audio: Fix output mode setting not saving 2023-03-13 17:41:30 -04:00
liamwhite eceb8e509e Merge pull request #9939 from german77/vibration
input_common: sdl: Only send last vibration command
2023-03-13 13:45:40 -04:00
liamwhite 27dc0f49aa Merge pull request #9941 from german77/settings
yuzu: Move audio settings to audio section
2023-03-13 13:45:29 -04:00
liamwhite 853e5576e6 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 59f50daf74 input_common: sdl: Only send last vibration command 2023-03-12 21:30:02 -06:00
Liam 9d5747fb71 kernel: additional style fixes to KThread, KProcess 2023-03-12 22:10:27 -04:00
Liam 6828f66b42 kernel: fix clang build 2023-03-12 22:10:27 -04:00
Liam a0867d72ed kernel: remove unnecessary finalize calls 2023-03-12 22:10:27 -04:00
Liam b8da5b73b2 kernel: convert KProcess to new style 2023-03-12 22:09:27 -04:00
Liam 46d09ae364 kernel: convert KThread to new style 2023-03-12 22:09:09 -04:00
Liam d0e11c27d9 kernel: prefer std::addressof 2023-03-12 22:09:09 -04:00
Liam 24077ea160 kernel: convert KResourceLimit 2023-03-12 22:09:09 -04:00
Liam cf0b407daa kernel: remove kernel_ 2023-03-12 22:09:09 -04:00
Liam 3280ebac7e kernel: remove gratitutous attribute usage 2023-03-12 22:09:09 -04:00
Liam 0c6375446c kernel/svc: convert to new style 2023-03-12 22:09:08 -04:00
Liam 767059b620 kernel: convert miscellaneous 2023-03-12 22:06:53 -04:00
Liam 7893136e74 kernel: conver KScopedLock, KScopedResourceReservation, KSessionRequest, KSharedMemory, KSpinLock 2023-03-12 22:06:53 -04:00
Liam d41368663b kernel: convert KAbstractSchedulerLock 2023-03-12 22:06:53 -04:00
Liam 8c137e234f kernel: convert KMemoryLayout, KMemoryRegion*, KPageTableSlabHeap, KPriorityQueue 2023-03-12 22:06:53 -04:00
Liam c72afbd1db kernel: move KMemoryLayout for NX board 2023-03-12 22:06:53 -04:00
Liam 842f5a4ced kernel: remove KLinkedList 2023-03-12 22:06:53 -04:00
Liam 01e79d9399 kernel: convert KConditionVariable, KLightConditionVariable, KLightLock 2023-03-12 22:06:53 -04:00
Liam 3c93638acf kernel: convert KPort, KSession 2023-03-12 22:06:53 -04:00
Liam 6b0b94dc27 kernel: convert GlobalSchedulerContext, KAddressArbiter, KScopedSchedulerLockAndSleep, KThreadQueue to new style 2023-03-12 22:06:53 -04:00
Liam 11814a4991 vk_scheduler: split work queue waits and execution waits 2023-03-12 17:19:44 -04:00
Liam 5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
FengChen e067d314ba video_core: Fix ogl status error when draw_texture 2023-03-12 13:33:31 +08:00
FengChen 5a1d6233b2 video_core: Invalid index_buffer flag when inline_index draw 2023-03-12 13:21:26 +08:00
german77 875958163b yuzu: Move audio settings to audio section 2023-03-11 20:04:36 -06:00
german77 d4ce7b7ad6 yuzu: Remove console id setting 2023-03-11 19:33:31 -06:00
Fernando S 0edffb460d 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 e70d580897 Merge pull request #9923 from liamwhite/kht
kernel: add timer pointer to KThreadQueue
2023-03-10 16:19:41 -05:00
liamwhite a15a1c3856 Merge pull request #9928 from german77/super_nfp
service: nfp: Improve implementation
2023-03-10 13:55:28 -05:00
liamwhite 68e1996e52 Merge pull request #9925 from ameerj/gl-sync-signal
OpenGL: Prefer glClientWaitSync for OGLSync objects
2023-03-10 13:55:22 -05:00
liamwhite 2b8955aaa4 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 63a0d2661c video_core: Update texture format 2023-03-10 21:48:50 +08:00
Narr the Reg 3c1865f1a1 service: nfp: Improve implementation 2023-03-09 19:29:28 -06:00
liamwhite fc5226669b Merge pull request #9916 from liamwhite/fpu
kernel: clone fpu status on CreateThread
2023-03-09 09:19:15 -05:00
liamwhite 89c9a9e145 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 625d716f56 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 4f1ca556e9 Merge pull request #9906 from german77/metroid2
input_common: Increase mouse sensitivity range
2023-03-08 10:43:38 -08:00
liamwhite aaeb3f2cb9 Merge pull request #9912 from liamwhite/err
hle: rename legacy errors to Results
2023-03-08 09:16:27 -05:00
liamwhite dfc84b6a8b Merge pull request #9904 from liamwhite/ws
kernel: fix WaitSynchronization
2023-03-08 09:16:17 -05:00
liamwhite a9fc59a998 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 95585fe46b 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 ba31646b5f Merge pull request #9921 from liamwhite/override
general: fix type inconsistencies
2023-03-07 22:42:40 -05:00
Morph d45dd36dc1 Merge pull request #9918 from liamwhite/fwrapv
kernel: avoid signed overflow UB on MSVC
2023-03-07 22:42:32 -05:00
Morph db0b86aef6 Merge pull request #9920 from liamwhite/constexpr-bit-cast
common: make BitCast constexpr
2023-03-07 22:42:19 -05:00
Morph 5a46ea4b4e hid: Use nanosecond timestamps instead of ticks 2023-03-07 21:17:47 -05:00
Morph ddb330121a 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 e27dced550 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 d766e783ea native_clock: Use RealTimeClock instead of SteadyClock
We want to synchronize RDTSC to real time.
2023-03-07 21:17:46 -05:00
Morph c3855de299 steady_clock: Introduce a real time clock 2023-03-07 21:17:46 -05:00
Morph afa678be3a 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 822a967bca input_common: Minor typo issues (#9922) 2023-03-08 03:15:46 +01:00
Liam 46a6277709 kernel: add timer pointer to KThreadQueue 2023-03-07 20:51:29 -05:00
german77 db3f4f7515 input_common: Increase mouse sensitivity range 2023-03-07 19:31:52 -06:00
Liam 242691d871 common: make BitCast constexpr 2023-03-07 20:26:56 -05:00
Liam d55cc3b004 general: fix type inconsistencies 2023-03-07 20:05:19 -05:00
Liam 2e637e5519 kernel: avoid signed overflow UB on MSVC 2023-03-07 19:46:48 -05:00
Liam 1484a6536d kernel: clone fpu status on CreateThread 2023-03-07 19:18:06 -05:00
liamwhite 4bdcafda58 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 bc5a8c664b gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy 2023-03-06 22:57:52 -05:00
ameerj e901a7f029 Refactor AccelerateDMA code 2023-03-06 22:57:45 -05:00
Liam ea36f70e02 hle: rename legacy errors to Results 2023-03-06 20:58:42 -05:00
liamwhite 0c4bb90be2 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 a4d237bb70 Merge pull request #9910 from jbeich/libc++
kernel: add missing header for libc++
2023-03-06 11:21:51 -05:00
liamwhite 60dcfd3960 Merge pull request #9905 from german77/usbssl
Service: USB, SSL, PSC: Update
2023-03-06 11:21:37 -05:00
liamwhite cc76c0655f 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 92498929a9 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 98f8e82b60 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 538c3df844 fix typo in settings.h
Intial -> Initial
2023-03-06 20:28:47 +09:00
Narr the Reg d8848c1f7f service: acc: Replace default image with a 32x32 image 2023-03-05 16:36:19 -06:00
german77 b1913d2db3 input_common: joycon: Add stick input from passive reports 2023-03-05 12:50:15 -06:00
Narr the Reg 9eaa964d82 service: psc: Update names 2023-03-05 12:02:10 -06:00
Narr the Reg 96bf71b888 service: ssl: Add missing properties and update names 2023-03-05 12:02:04 -06:00
Narr the Reg 9d8b2139b6 service: usb: Update names 2023-03-05 10:45:24 -06:00
Liam 1d9ac8a979 kernel: fix WaitSynchronization 2023-03-05 10:29:10 -05:00
Fernando Sahmkow 82f37192ec Engines: Implement Accelerate DMA Texture. 2023-03-05 12:18:00 +01:00
Morph 38db5c2026 native_clock: Round RDTSC frequency to the nearest 1000 2023-03-05 02:36:31 -05:00
Morph 56547b9b88 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 7f079bf6c8 hardware_properties: Update BASE_CLOCK_RATE to exactly 1020 MHz 2023-03-05 02:36:31 -05:00
Morph e25334b8b3 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 feea72a15e 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 22d58e43dc wall_clock: Make use of SteadyClock 2023-03-05 02:36:31 -05:00
Morph 59b8488e90 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 f869dabc4a 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 7f06f21046 Merge pull request #9884 from liamwhite/service-cleanup
service: miscellaneous cleanups
2023-03-03 22:51:17 -05:00
Kelebek1 2f525864a8 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 43c3c6e3dc gpu_thread: Use bounded queue 2023-03-03 18:20:56 -07:00
bunnei 437cc6eb63 Merge pull request #9855 from liamwhite/kern-16-support
kernel: support for 16.0.0
2023-03-03 14:42:00 -08:00
Kelebek1 ed68646fa7 Fix a bug with the Reverb command in reading from the pre_delay line. 2023-03-02 06:00:55 +00:00
Liam cd7e0b03b7 vulkan_common: disable vertexInputDynamicState on unsupported driver 2023-03-01 22:48:12 -05:00
Liam 63414faea4 kernel: be more careful about kernel address keys 2023-03-01 10:42:45 -05:00
Liam f4e795193b kernel: refactor priority inheritance to represent locks as C++ objects 2023-03-01 10:42:45 -05:00
Liam a269b9b8e5 kernel: simplify AddressSpaceInfo, update values 2023-03-01 10:42:45 -05:00
Liam 7f1ef3060c kernel: barrier memory before condition variable write 2023-03-01 10:42:45 -05:00
Liam dd0f9ff950 kernel: document previous location of interrupt disables in arbiter/condvar 2023-03-01 10:42:45 -05:00
Liam 1fd1d90c2d kernel: adjust pool allocations 2023-03-01 10:42:45 -05:00
Liam 7c2041afbc kernel: simplify KAbstractSchedulerLock::Lock 2023-03-01 10:42:45 -05:00
Liam 1cba79d852 kernel: add InfoType::IoRegionHint 2023-03-01 10:42:45 -05:00
Liam c191cf75bb nvnflinger: fix name 2023-03-01 10:39:49 -05:00
Liam d7e9461b71 service: move hle_ipc from kernel 2023-03-01 10:39:49 -05:00
Liam 6ac62cfbe1 sm:: remove unused member 2023-03-01 10:39:36 -05:00
liamwhite 7b8304614c Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
2023-03-01 10:38:20 -05:00
Alexandre Bouvier e9ec2e4cf0 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
liamwhite 6825d636b1 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 537c46a639 Merge pull request #9874 from german77/violet
service: btm: Fix handle functions
2023-02-27 19:46:01 -05:00
Matías Locatti 075a842858 Merge pull request #9872 from goldenx86/partialLTO
Partial LTO
2023-02-27 19:38:36 -03:00
Matías Locatti 7cc539e8b8 Partially apply LTO to only core and video_core projects. 2023-02-27 18:44:14 -03:00
Narr the Reg 0017139a65 service: btm: Fix handle functions 2023-02-27 12:40:47 -06:00
Narr the Reg 2e388209d7 Revert "yuzu: config: Remove player 8 and 9 from config file" 2023-02-26 14:39:13 -06:00
liamwhite b385fc2cd1 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 f6531fb17c yuzu: config: Remove player 8 and 9 from config file 2023-02-25 22:20:32 -06:00
ameerj 0194f25eb9 buffer_cache: Add logic for non-NVN storage buffer tracking 2023-02-25 16:24:21 -05:00
liamwhite 361dd62847 Merge pull request #9848 from german77/metroid_motion
input_common: Implement dedicated motion from mouse
2023-02-25 12:44:13 -05:00
liamwhite ac484666fc 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 91aca8e8b5 Merge pull request #9861 from german77/bustype
core: hidbus: Fix BusType size
2023-02-25 12:44:00 -05:00
german77 2120dd02d6 config: Fix per game Force max clock 2023-02-25 10:12:07 -06:00
Narr the Reg 4b240b6393 core: hidbus: Fix BusType size 2023-02-24 21:22:27 -06:00
Narr the Reg 932cf55052 core: Update service function tables to 16.0.0+ 2023-02-24 18:17:36 -06:00
Liam b88b27fdf5 am: avoid direct pointer access of transfer memory objects 2023-02-24 12:50:54 -05:00
Liam 434d182020 hid: avoid direct pointer access of transfer memory objects 2023-02-24 12:48:07 -05:00
ameerj c5386e2179 configuration: Add async ASTC decode setting 2023-02-22 18:21:09 -05:00
ameerj 08c1dc9587 texture_cache: Add async texture decoding 2023-02-22 00:26:07 -05:00
Narr the Reg 86a9ed6ef1 core: hid: Restore motion state on refresh and clamp motion values 2023-02-21 21:55:23 -06:00
Narr the Reg 76462f79db input_common: Implement dedicated motion from mouse 2023-02-21 21:55:22 -06:00
Narr the Reg 1156e6ae8f settings: Add more input settings to the log 2023-02-21 19:48:38 -06:00
Narr the Reg a146b27325 core: hid: Fix native mouse mappings 2023-02-21 19:48:38 -06:00
liamwhite fe97d2e70d 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 22ecd01434 yuzu: Set a lower timeout for discord presence 2023-02-21 18:23:58 -06:00
liamwhite 9fc17e8fdb Merge pull request #9846 from merryhime/type-const
svc: Fix type consistency (exposed on macOS)
2023-02-21 18:58:04 -05:00
liamwhite ce4064d15d Merge pull request #9841 from abouvier/httplib-update
externals: Update cpp-httplib to latest
2023-02-21 18:57:55 -05:00
Merry 38f528134f svc: Fix type consistency (exposed on macOS) 2023-02-21 21:39:17 +00:00
Alexandre Bouvier a6a501bfe8 externals: Update cpp-httplib to latest 2023-02-21 20:55:37 +01:00
MonsterDruide1 fe662086c0 net: translate ECONNRESET network error 2023-02-21 20:47:59 +01:00
Liam 91c597e869 sm:: fix lingering session initialization issues 2023-02-21 12:19:25 -05:00
Liam 165ba6a98b cheat_engine: add check for hid initialization 2023-02-21 12:19:25 -05:00
Liam 893a54f2bd sm:: support service registration deferral 2023-02-21 12:19:25 -05:00
Liam 1c3a93e7c4 service: refactor server architecture
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam 5175ea2ae1 core: defer cpu shutdown 2023-02-21 12:19:25 -05:00
german77 22874a20d9 Qt: Reintroduce scaling for touch input 2023-02-19 17:52:44 -06:00
liamwhite 0af0887f01 Merge pull request #9771 from ameerj/host-thread-id
kernel: Refactor thread_local variable usage
2023-02-19 13:12:43 -05:00
liamwhite 694f67e2d5 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 d5a2a03687 Merge pull request #9815 from german77/qt-mouse
Qt: Fix mouse scalling
2023-02-18 16:25:48 -05:00
Morph 2043bd1938 Merge pull request #9825 from liamwhite/object-name
kernel: add KObjectName
2023-02-18 16:22:50 -05:00
bunnei d58636445f 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 edda4ad9ae kernel: add KObjectName 2023-02-17 09:16:05 -05:00
Mai 8df7d3eab7 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 790033039a yuzu: Shutdown game on restart to reload per game config 2023-02-16 21:17:30 -06:00
Narr the Reg 19ef4a0ee2 yuzu: Write to config file on important config changes 2023-02-16 21:17:01 -06:00
bunnei 59199a3db3 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 bba16a8016 Merge pull request #9769 from Kelebek1/audio_oob
[audio_core] Fix depop prepare
2023-02-16 12:26:23 -08:00
Narr the Reg 8a7dfb2439 input_common: Split mouse input into individual devices 2023-02-16 14:22:13 -06:00
german77 6932c0ed2a Qt: Fix mouse scalling 2023-02-15 20:57:45 -06:00
liamwhite 207fdfe57d Merge pull request #9796 from liamwhite/current
general: rename CurrentProcess to ApplicationProcess
2023-02-15 17:42:45 -05:00
liamwhite 9b97895d3c 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 2297571b26 Merge pull request #9809 from liamwhite/unused-service
service: remove deleted services
2023-02-15 12:33:59 -08:00
arades79 b4b47c9f4a remove constexpr from virtual function
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 19:14:29 -05:00
liamwhite 0ffd5f7565 Revert "main: Fix borderless fullscreen for high dpi scaled displays" 2023-02-14 16:29:35 -05:00
Kelebek1 2d86d111fa Reimplement the invalidate_texture_data_cache register 2023-02-14 19:34:10 +00:00
Kelebek1 6afc4a2134 Allow >1 cpu threads on video decoding, disable multi-frame decoding 2023-02-14 18:55:46 +00:00
Liam c415339beb service: remove deleted services 2023-02-14 12:38:21 -05:00
arades79 b34e09b574 use a string view to skip allocation
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:40 -05:00
arades79 60a68839ee 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 3e078dbb07 apply clang-format
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:35:39 -05:00
arades79 e342fecde6 don't use static inside constexpr function
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14 12:33:11 -05:00
arades79 adcef452e0 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 ba774d82c7 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 e17f996ba5 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 c68577384a general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
Kelebek1 4aee835d49 Fix biquad filter command's state buffer offset 2023-02-13 16:21:29 +00:00
Liam 832e1e2ca4 kernel: use GetCurrentProcess 2023-02-13 11:05:14 -05:00
bunnei e24cd10a63 Merge pull request #9784 from m-HD/master
settings: added missing graphical settings to RestoreGlobalState()
2023-02-12 21:49:45 -08:00
Morph 3da39e4969 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 ccd667ae40 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 5cf07bebee 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 fa7436638c Update settings.cpp
added missing graphical settings to RestoreGlobalState()
2023-02-12 02:58:39 +01:00
ameerj b60e0b5360 texture_cache: OpenGL: Implement MSAA uploads and copies 2023-02-11 15:43:07 -05:00
Colin Kinloch d0ca9973a7 kernel/svc: Fix undefined info_id 2023-02-11 18:00:34 +00:00
liamwhite 116140b8a4 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 b5421d05cd Add fallback for memory read/write in case the address goes over a 4K page 2023-02-11 16:27:43 +00:00
liamwhite 3434c23625 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 82c83dbbd9 Merge pull request #9768 from merryhime/biquad-rounding
biquad_filter: Fix rounding in ApplyBiquadFilterInt
2023-02-11 10:28:42 -05:00
liamwhite 287638f621 Merge pull request #9744 from behunin/quick-release
gpu_thread: Remove OnCommandListEndCommand
2023-02-11 10:28:30 -05:00
FengChen b2395ce048 video_core: Speed up video frame data copy 2023-02-11 22:18:54 +08:00
Kelebek1 5c8140092f 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 37faa1acc8 Merge pull request #9742 from liamwhite/svc-wrap-only
kernel/svc: switch to generated wrappers
2023-02-10 21:41:22 -08:00
bunnei 0fea8b78c3 Merge pull request #9759 from german77/pro_controller
input_common: Reintroduce custom pro controller support
2023-02-10 21:14:40 -08:00
bunnei 86a1aa0fcc core: kernel: k_process: Use application system resource. 2023-02-10 21:03:39 -08:00
ameerj 8467bf5224 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 46ce21d3e2 biquad_filter: Clamp f64 in ApplyBiquadFilterFloat 2023-02-10 20:43:34 +00:00
Merry f35302d4bf biquad_filter: Fix rounding in ApplyBiquadFilterInt 2023-02-10 20:34:52 +00:00
liamwhite caaad4fd5f Merge pull request #9761 from Morph1984/oops
main: Re-add QtWebEngine zoom factor
2023-02-10 10:54:10 -05:00
Liam f68b3dcb29 kernel: avoid usage of bit_cast 2023-02-10 09:13:58 -05:00
Morph 030b6f5a5b main: Re-add QtWebEngine zoom factor
For some reason, I had removed this in 2a75968ff4

This should fix any improperly scaled web applets.
2023-02-09 22:57:37 -05:00
liamwhite 5e8beb000b 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 d3355f0fe0 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 75039440f3 input_common: Reintroduce custom pro controller support 2023-02-09 20:08:54 -06:00
Narr the Reg 326d8c0905 audio: cubeb: Fix yuzu crashing when it test for latency 2023-02-09 19:38:03 -06:00
Narr the Reg 420560f4d3 core: hid: Use gyro thresholds modes set by the game 2023-02-09 19:07:50 -06:00
ameerj c5f3db8235 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 a6405c4890 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 8fd7978bd7 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 3d2f7c4170 service: hid: Return error if arguments of SetSupportedNpadIdType is invalid 2023-02-07 21:11:39 -06:00
Mai aa4422e8b8 Merge pull request #9739 from liamwhite/old-gcc-fix
kernel: fix compilation with older gcc
2023-02-07 22:10:35 -05:00
Behunin 09f64e648a Remove OnCommandListEndCommand
Call rasterizer->ReleaseFences() directly
2023-02-07 17:21:17 -07:00
Liam b91913334e kernel/svc: switch to generated wrappers 2023-02-06 23:57:44 -05:00
liamwhite 5bfb5c5283 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 0281ba316f Merge pull request #9644 from SaiKai/volume_quicksetting
add volume quicksetting with volume slider
2023-02-06 17:10:44 -08:00
Liam 43131451c3 kernel: fix compilation with older gcc 2023-02-06 13:14:27 -05:00
Matías Locatti 9bc808f872 Update yuzu_cmd's default_ini.h
Rename FSR, add missing resolution multipliers, and SMAA
2023-02-06 06:01:51 -03:00
Kelebek1 b2a024c42a Remove fake vertex bindings when dynamic state is enabled 2023-02-05 22:28:03 +00:00
Liam 2d0892da7f kernel/svc: Split implementations into separate files 2023-02-04 22:37:43 -05:00
bunnei 498483fbaf Merge pull request #9720 from SoRadGaming/discordPresenceUpdate
Game Image with Discord RPC
2023-02-04 18:37:21 -08:00
Sorab 5f5c185e3b Add Game Icon for Discord RPC
Connected to Yuzu Compatibility Page
2023-02-05 12:40:57 +11:00
liamwhite 34fb5bf337 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 50d3f0b674 Merge pull request #9729 from german77/sdl_input
yuzu_cmd: Fix touch and controller input
2023-02-04 15:01:07 -05:00
german77 60b2683cc1 yuzu_cmd: Order arguments alphabetically and port arguments from Qt 2023-02-04 11:33:29 -06:00
german77 c657c3cade yuzu_cmd: Fix mismatching controller input 2023-02-04 11:05:57 -06:00
german77 64ae3aeeb9 yuzu_cmd: Fix touch input 2023-02-04 10:31:12 -06:00
ameerj 97e9f40a52 shader_recompiler/value.h: Remove lingering references to S32 2023-02-04 00:13:47 -05:00
bunnei 94e1359ad6 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 2b805dde46 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 0b2e3ecc19 fsp_srv: Copy HLE Read Buffer for OutputAccessLogToSdCard 2023-02-03 00:12:16 -05:00
ameerj 7cc5da4a9f Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 153fa289d2, reversing
changes made to 20676b3b5a.
2023-02-03 00:08:45 -05:00
Mai f14352a7e1 Merge pull request #9713 from unfamiliarplace/master
Added 'Hide empty rooms' toggle to lobby
2023-02-02 23:54:48 -05:00
bunnei 153fa289d2 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 20676b3b5a Merge pull request #9704 from liamwhite/das
kernel: add KDeviceAddressSpace
2023-02-02 19:00:23 -08:00
Luke Sawczak 479a4b297b added 'Hide empty rooms' toggle to lobby
fixed typo

fixed typo

fixed typo

clang
2023-02-02 18:46:28 -06:00
liamwhite f74a95b6fb 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 c98ef11cfe input_common: Simplify stick from button 2023-02-02 10:13:27 -06:00
liamwhite f4d17a1428 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 101ed75739 Merge pull request #9703 from ameerj/txq-ms
shaders: Fix TXQ with MSAA textures
2023-02-01 22:38:00 -05:00
Liam 1f14d5ebce kernel: add KDeviceAddressSpace 2023-02-01 17:18:21 -05:00
bunnei b781b8621f 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 817d7c302a yuzu: config: Draw turbo buttons with a different color 2023-02-01 12:42:06 -06:00
german77 db99ab5431 input_common: Implement turbo buttons 2023-02-01 12:42:05 -06:00
bunnei b383cea866 Merge pull request #9697 from liamwhite/kcap
kernel: add KCapabilities
2023-01-31 10:51:10 -08:00
bunnei 8d052680ee 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 19c174e9cb 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 c3424d3da3 Merge pull request #9631 from vonchenplus/vulkan_clear
video_core: Implement vulkan clear specified channel
2023-01-30 09:01:55 -05:00
Liam 943f0bf0c3 kernel: add KCapabilities 2023-01-29 22:08:28 -05:00
ameerj 8e0a70ddcf gl_compute_pipeline: Force context flush when loading shader cache 2023-01-29 21:32:12 -05:00
Narr the Reg 3fcf573751 input_common: joycon: Remove Magic numbers from common protocol 2023-01-29 20:12:58 -06:00
ameerj 175244e92e gl_graphics_pipeline: Force context flush when loading shader cache 2023-01-29 20:26:49 -05:00
Narr the Reg 954f7206a6 input_common: joycon: Fill missing enum data 2023-01-29 19:11:46 -06:00
Levi Behunin 2ff6c44168 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 bbb60f60d2 spirv: Fix TXQ with MSAA textures 2023-01-29 13:47:30 -05:00
ameerj 13b0feaede emit_glasm_image: Fix TXQ with MSAA textures 2023-01-29 13:42:34 -05:00
ameerj 2a98e88a3a 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 e472e66c2f Merge pull request #9699 from ameerj/texture-pass-desc
texture_pass: Fix texture descriptors comparisons
2023-01-29 12:27:41 -05:00
liamwhite 8224292145 Merge pull request #9698 from ameerj/texture-pass-handle
texture_pass: Refactor texture handle retrieval
2023-01-29 12:27:33 -05:00
liamwhite a5bc2444d2 Merge pull request #9694 from ameerj/txq-mips
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
liamwhite 4d775a9329 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 be27d89a18 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 f0539b70d5 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 eb21897c5f Merge pull request #9690 from german77/whoops
yuzu: config: Avoid reading deleted object
2023-01-28 22:28:38 -05:00
ameerj 6e5f3d43f2 texture_pass: Fix texture descriptors comparisons 2023-01-28 21:23:52 -05:00
ameerj be397f57ad texture_pass: Refactor texture handle retrieval 2023-01-28 21:11:38 -05:00
bunnei 6fd5d0c3b5 Merge pull request #9687 from ameerj/ogl-shader-ms
glasm, glsl: Implement multisampled Image Fetch
2023-01-28 16:32:11 -08:00
bunnei da76935b7d Merge pull request #9682 from ameerj/shader-s32
shader_recompiler: Remove S32 IR type
2023-01-28 14:00:11 -08:00
ameerj 2d2558797c shader_recompiler: TXQ: Skip QueryLevels when possible 2023-01-28 16:25:18 -05:00
ameerj f68ef5b15a emit_glsl_image: Fix ImageFetch for MSAA textures 2023-01-28 14:39:27 -05:00
Narr the Reg 56cf32f245 yuzu: config: Avoid reading deleted object 2023-01-28 12:50:27 -06:00
liamwhite 4dd6d9689b Merge pull request #9661 from SoRadGaming/LDNhostnameSupport
LDN hostname support in direct connect
2023-01-28 12:09:57 -05:00
SoRadGaming f274064268 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 ee53f833e7 texture_cache: Adjust image view sizes by MSAA samples 2023-01-28 00:15:29 -05:00
FengChen 667f2331d1 video_core: Implement vulkan clear specified channel 2023-01-28 12:53:05 +08:00
Liam 6237e8d92f polyfill_thread: satisfy execution ordering requirements of stop_callback 2023-01-27 21:34:49 -05:00
bunnei 5a53999a74 Merge pull request #9677 from Morph1984/sleep-one
polyfill_thread: Implement StoppableTimedWait
2023-01-27 18:28:03 -08:00
Narr the Reg e700634d3c input_common: joycon: Replace ReadSPI vector with span 2023-01-27 18:45:25 -06:00
liamwhite f81bd5bc15 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 f20ec6f69b input_common: joycon: Remove magic numbers from calibration protocol 2023-01-27 17:12:04 -06:00
bunnei ea38bd85e1 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 9f64e023df glasm: Add MS sampler types 2023-01-27 02:09:18 -05:00
ameerj 6967e3edb9 glsl: Add MS sampler types 2023-01-27 02:09:17 -05:00
Liam 86c6735bd0 kernel: unbreak min/max template deduction on Apple Clang 2023-01-26 17:43:37 -05:00
Wollnashorn 6b840142b3 video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
bunnei bfe5129779 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 8666d84926 input_common: Implement SetLowPowerMode and TriggersElapsed for the joycon driver 2023-01-26 11:21:04 -06:00
bunnei 7c607953e5 Merge pull request #9670 from merryhime/revert-7f18e3bb898911343e3909f676dc96f3a34b1e95
Revert "MemoryManager: use fastmem directly."
2023-01-25 22:28:55 -08:00
bunnei e34c349e27 Merge pull request #9652 from liamwhite/ms
spirv: fix multisampled image fetch
2023-01-25 22:28:18 -08:00
bunnei 284ce233dc Merge pull request #9604 from liamwhite/pt
kernel: KPageTable: update
2023-01-25 22:27:48 -08:00
ameerj 382717743a 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 2a75968ff4 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 3c27ddd604 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 6cd0467543 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 79d9982c66 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 216e4e6b7f 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 3fddcdf939 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 430263f84e 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 8be6571a38 input_common: Make use of StoppableTimedWait 2023-01-25 16:43:04 -05:00
Morph 337f943c97 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