Commit graph

21223 commits

Author SHA1 Message Date
lat9nq 0c0f5b7ccc bootmanager: Clean up includes [IWYU]
bootmanager: Remove system-specific headers

IWYU can be too complete I suppose.
2023-05-02 21:52:43 -04:00
lat9nq a546ecbb12 configure_graphics: Actively find present modes
When Vulkan devices are enumerated, this also determines the available
present modes for each device, maps them to a vector, and gives
those options to the user.
OpenGL options are limited to On/Off.

Required creating a VkSurfaceKHR during device enumeration, which
may or may not be desireable. For the sake of a less confusing UI.

Also fixes a bug where if a graphics device disappears on the host, we
don't try and select the non-existant devices.

configure_graphics: Remove vsync runtime lock for Vulkan

configure_graphics: Recommend Mailbox present mode

configure_graphics: Fix type-limits warning

configure_graphics: Clean up includes

configure_graphics: Add tooltip
2023-05-02 21:52:43 -04:00
lat9nq 952b271092 vk_swapchain: Use certain modes for unlocked
Uses mailbox, then immediate for unlocked framerate depending on
support for either. Also adds support for FIFO_RELAXED.

This function now assumes vsync_mode was originially configured to a value
that the driver supports.

vk_swapchain: ChooseSwapPresentMode determines updates

Simplifies swapchain a bit and allows us to change the present mode
during guest runtime.

vk_swapchain: Fix MSVC error

vk_swapchain: Enforce available present modes

Some frontends don't check the value of vsync_mode before comitting it.
Just as well, since a driver update or misconfiguration could problems
in the swap chain.

vk_swapchain: Silence warnings

Silences GCC warnings implicit-fallthrough and shadow, which apparently
are not enabled on clang.
2023-05-02 21:52:43 -04:00
lat9nq a090a380be bootmanager: Remove inaccurate switch
Those vulkan settings do not correspond 1:1 to the swap intervals that
they set for OpenGL, so remove it.

bootmanager: Add missing include

I didn't add this log why did it break
2023-05-02 21:51:30 -04:00
lat9nq cbd79df233 qt_common: Move window info function out of bootmanager
Function is useful outside of bootmanager, so put it in a common place.

qt_common: Add missing include

qt_common: Add some newlines

qt_common: Add trailing newline

qt_common: Add trainline newline
2023-05-02 21:51:30 -04:00
lat9nq c6c11c1553 vulkan_surface: Pass only window info for surface creation
We don't need the whole EmuWindow when creating a surface,
and it creates onerous requirements outside of typical usage for
creating a surface elsewhere.
2023-05-02 21:51:30 -04:00
lat9nq 2528cf7c54 settings: Enable FIFO relaxed
Not entirely sure if we need this, but there's also no reason not to
support it.

settings: Give VSyncMode values
2023-05-02 21:51:30 -04:00
lat9nq 6b973c5986 configure_graphics: Fix another typo 2023-05-02 21:51:29 -04:00
lat9nq 40f062f749 telemetry_session: Make translate function static
Addresses review feedback

Co-authored-by: Lioncash <mathew1800@gmail.com>
2023-05-02 21:51:29 -04:00
lat9nq 29a56496bf bootmanager: Return value in impossible case
The setting is ranged, so this return statement is unreachable.
But GCC can't tell I guess.
2023-05-02 21:51:29 -04:00
lat9nq 41a103c0fc configure_graphics: Fix typo 2023-05-02 21:51:29 -04:00
lat9nq 66ed1c1872 default_ini: Update V-Sync description
default_ini: Update vsync text

default_ini: Add tooltip from configure_graphics
2023-05-02 21:51:29 -04:00
lat9nq 6f0929df82 configuration: Expose separate swap present modes
Previously, yuzu would try and guess which vsync mode to use given
different scenarios, but apparently we didn't always get it right. This
exposes the separate modes in a drop-down the user can select.

If a mode isn't available in Vulkan, it defaults to FIFO.
2023-05-02 21:51:29 -04:00
bunnei 8f43b05d6b
Merge pull request #9973 from GPUCode/async-present
Implement asynchronous presentation
2023-05-02 17:54:57 -07:00
Kelebek1 f902cc2a2b Fix code resize to use word size rather than byte size 2023-05-02 23:52:21 +01:00
liamwhite 451b1bba26
Merge pull request #10133 from lat9nq/clang-shadow-and-fallthrough
CMakeLists: Enable more checks on Clang
2023-05-02 18:18:46 -04:00
liamwhite 494cc992eb
Merge pull request #10130 from liamwhite/keys
qt: warn on inoperable keys
2023-05-02 18:17:24 -04:00
liamwhite f603dc9763
Merge pull request #10123 from Kelebek1/sample_mask
Define SampleMask as an array
2023-05-02 18:17:15 -04:00
Liam 4df49631de vulkan: disable turbo when debugging tool is attached 2023-05-02 18:14:57 -04:00
Liam e1c74cea10 video_core: fix build on Apple Clang 2023-05-02 18:05:30 -04:00
lat9nq f7292c776b CMake: Enable type limits on Clang 2023-05-02 02:07:36 -04:00
lat9nq 2007d0e4a0 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 f403d27941 vk_present_manager: Add toggle for async presentation 2023-05-01 23:13:24 +03:00
GPUCode 1d7abac84b 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 50791cb974 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 2ad9acf795 renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
Morph 47938541c2
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 3f4315e4c6
Merge pull request #10116 from liamwhite/deboost
kernel: remove boost intrusive lists
2023-05-01 09:27:23 -04:00
Fernando Sahmkow d6f565e5da BufferCache: Fixes and address feedback 2023-05-01 11:43:26 +02:00
Liam 7ec66db22c qt: warn on inoperable keys 2023-04-30 23:47:42 -04:00
Kelebek1 2feb40f14d Wait for the terminate event before destroying a system instance 2023-05-01 00:27:12 +01:00
Liam 2cd9e1ecb6 settings: rename extended memory layout to unsafe, move from general to system 2023-04-30 14:24:22 -04:00
Kelebek1 b566c98258 Define SampleMask as an array 2023-04-30 18:37:37 +01:00
bunnei 689f9a75a7
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 b143ce8134 kernel: remove general boost lists 2023-04-29 22:11:32 -04:00
Liam 1b5c87ab6a kernel: match calls to Register and Unregister 2023-04-29 21:52:26 -04:00
Liam 2afaa7aed7 common: add intrusive list type 2023-04-29 17:46:26 -04:00
Fernando Sahmkow 4bc5469f52 Texture Cache: Release stagging buffers on tick frame 2023-04-29 15:31:38 +02:00
Fernando Sahmkow f8d31d1ae1 Buffer Cache: Release stagging buffers on tick frame 2023-04-29 00:46:31 +02:00
Fernando Sahmkow fff6155bc3 Tests: Add memory tracker tests. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow 80480fe3f7 Clang: format and ficx compile errors. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow ed4553806a Implement Async downloads in normal and fix a few issues. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow f2d3212de9 Buffer Cache rework: Setup async downloads. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow a16c261131 Buffer Cache: Fully rework the buffer cache. 2023-04-29 00:46:31 +02:00
Fernando Sahmkow 58d1c7c77a Address Feedback & Clang Format 2023-04-29 00:18:21 +02:00
Fernando Sahmkow 56c9730a16 Maxwell3D: only update parameters on High 2023-04-29 00:18:21 +02:00
Fernando Sahmkow e3a2ca96bd Accelerate DMA: Use texture cache async downloads to perform the copies
to host.

WIP
2023-04-29 00:18:21 +02:00
Fernando Sahmkow 3fbee093b2 TextureCache: refactor DMA downloads to allow multiple buffers. 2023-04-29 00:18:21 +02:00
Morph cb092af3f0 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 2f15876524 QueryCache: Fix write invalidation. 2023-04-28 23:53:46 +02:00
Fernando Sahmkow 9a7c172f76 MemoryManager: Fix race conditions. 2023-04-28 23:53:02 +02:00
german77 5e16fe4579 core: service: Add FunctionInfoTyped to allow expanding existing interfaces 2023-04-25 23:36:24 -06:00
Fernando Sahmkow e4dc73f61e Clang format and ddress feedback 2023-04-24 12:38:47 +02:00
Fernando S 9bf19b04f6
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 47cd0586ee
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 2311fa7c84
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 00d76fc5f5 service: nfc: Create mifare interface 2023-04-23 23:28:09 -06:00
Narr the Reg a3fa64fcc4 service: nfc: Create interface 2023-04-23 23:28:09 -06:00
Fernando Sahmkow e29ced29fa QueryCache: rework async downloads. 2023-04-23 22:04:14 +02:00
Fernando Sahmkow 7e76c1642c Accuracy Normal: reduce accuracy further for perf improvements in Project Lime 2023-04-23 22:03:44 +02:00
Fernando Sahmkow fca72beb2d Fence Manager: implement async fence management in a sepparate thread. 2023-04-23 04:48:50 +02:00
Liam eb7c2314f6 maxwell_3d: fix out of bounds array access in size estimation 2023-04-22 10:35:26 -04:00
Kelebek1 4da4ecb1ff Silence nifm spam 2023-04-22 14:29:58 +01:00
Kelebek1 3346de365a Sort overlap_ids by modification tick before copy 2023-04-22 14:02:10 +01:00
Fernando S d600183583
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 0f1ff5f34e
Merge pull request #10076 from german77/TryPopMyFriend
core: am: Demote TryPopFromFriendInvitationStorageChannel Log level
2023-04-21 23:15:07 -07:00
bunnei d0e6eafe23
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 74d203fbe3
Merge pull request #10060 from german77/no_dead
core: hid: Remove deadzone of virtual controller
2023-04-21 23:13:21 -07:00
german77 7ffc42c397 core: am: Demote TryPopFromFriendInvitationStorageChannel Log level 2023-04-21 22:35:45 -06:00
Kelebek1 4e14b64bfc Account for a pre-added offset when using Corner sample mode for 2D blits 2023-04-21 19:08:21 +01:00
bunnei 0cfeb2e8d7
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 79e32127b3 Run clang-format to fix all. 2023-04-19 17:52:09 +00:00
bunnei 799579c8d2
Merge pull request #10053 from german77/nfp_full
service: nfp: Implement all interfaces
2023-04-19 10:36:28 -07:00
Aaron Roney 3e7af5fbd7 Fix formatting. 2023-04-19 16:26:49 +00:00
Aaron Roney 34d0d94df0 Allow passing bind_address to dedicated room. 2023-04-19 05:37:30 +00:00
FengChen 55a33342cc core: audio: return result when audio_out initialize failed 2023-04-16 12:31:54 +08:00
german77 70a97fb5c7 core: hid: Remove deadzone of virtual controller 2023-04-15 18:41:09 -06:00
Liam e3fb9b5e00 vulkan: use plain fences when timeline semaphores are not available 2023-04-14 22:53:37 -04:00
bunnei e0895a8581
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 307371e01d service: nfp: Implement debug Interface 2023-04-14 17:03:58 -06:00
Narr the Reg 00800d5289 service: nfp: Implement system interface 2023-04-14 17:03:57 -06:00
Valeri 60c4032b68
input_common: minor fix to mouse movement 2023-04-14 21:27:35 +03:00
Narr the Reg 101c0df79c service: nfp: Use an unique interface 2023-04-13 22:24:27 -06:00
Liam e37e1d24f9 vulkan: pick alpha composite flags based on available values 2023-04-13 16:38:20 -04:00
Wollnashorn c0e5ecc399 video_core: Enable ImageGather rounding fix on AMD open source drivers 2023-04-12 17:11:02 +02:00
liamwhite 54b4c84ab6
Merge pull request #10008 from vonchenplus/texture_cache
video_core: update imageinfo implement
2023-04-11 11:59:18 -04:00
liamwhite 4f77275cd5
Merge pull request #10027 from bylaws/master
Add some explicit latency to sample count reporting
2023-04-10 09:23:48 -04:00
Liam baf4d1c22e kernel: move more memory to application in 8GB arrangement 2023-04-09 19:50:27 -04:00
Liam abb785f269 kernel: switch extended memory setting to 8GB arrangement 2023-04-08 17:47:26 -04:00
Billy Laws 8908663f12 Use GetGlobalTimeNs as opposed to clock ticks 2023-04-08 21:54:19 +01:00
Wollnashorn 82b78cde73 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 fe91066f46 video_core: Enable ImageGather with subpixel offset on Intel 2023-04-08 16:12:44 +02:00
Wollnashorn 780240e697 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 25c4ae6e11
Merge pull request #10022 from liamwhite/gcc-13
general: fixes for gcc 13
2023-04-08 00:09:06 -07:00
Billy Laws 0afb9631b5 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 bbdfe1fab1
Merge pull request #10024 from german77/crysis
service: hid: Fix handle validation
2023-04-03 13:06:07 -04:00
liamwhite ff386e794b
Merge pull request #10004 from Kelebek1/cubemap
[texture_cache] Only upload GPU-modified overlaps
2023-04-03 13:05:52 -04:00
Liam a9623d5f55 general: fixes for gcc 13 2023-04-02 19:02:04 -04:00
german77 d2ae39bf4b service: hid: Fix handle validation 2023-04-02 02:21:54 -06:00
bunnei 756f013d8a
Merge pull request #10020 from merryhime/update-dynarmic
externals: Update dynarmic to 6.4.6
2023-04-01 21:57:45 -07:00
bunnei 9c94faaa2b core: arm_dynarmic_32: Update SaveContext/LoadContext. 2023-04-01 17:03:08 -07:00
bunnei 6775a6ee02
Merge pull request #9969 from bylaws/master
Audio synchronisation improvements
2023-04-01 14:34:59 -07:00
liamwhite 1ab052952d
Merge pull request #10006 from german77/profile_select
service: am: Improve profile select applet
2023-04-01 09:49:22 -04:00
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