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
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
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