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