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
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
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
Merry
2ddecb9631
externals: Update dynarmic to 6.4.6
2023-04-01 12:40:20 +01: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
liamwhite
fbf0a9c976
Merge pull request #10010 from maxdunbar/typo
...
Fix: 'Continous' typo
2023-03-30 10:14:11 -04: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
liamwhite
40efd2ab56
Merge pull request #9982 from Morph1984/tpause
...
x64: Make use of waitpkg instructions for power efficient sleeps
2023-03-28 09:09:35 -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
liamwhite
8da1a4ea22
Merge pull request #9994 from liamwhite/integer-constant
...
tests: mark integer literals as unsigned
2023-03-26 17:22:00 -04: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
Morph
568d523746
Merge pull request #9992 from liamwhite/climits
...
container_hash: use climits
2023-03-26 14:46:21 -04:00
Liam
7017f04ee8
container_hash: use climits
2023-03-26 10:24:33 -04:00
Morph
4b508655a4
Merge pull request #9989 from Morph1984/boost-1.79-exact
...
CMakeLists: Use boost 1.79.0 instead
2023-03-26 03:46:43 -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
Morph
c4f5615c6b
CMakeLists: Require a minimum of boost 1.79.0
2023-03-25 23:03:28 -04:00