Fernando Sahmkow
4a3a7673b7
Inline2Memory: Flush before writting buffer.
2022-01-29 17:42:28 +01:00
Morph
b7d23543b4
Merge pull request #7791 from german77/wall_clock
...
wall_clock: Use standard wall clock if rtsc frequency is too low
2022-01-28 20:04:24 -05:00
ameerj
c3d768426c
spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics
...
Some drivers do not support 64-bit atomics, and fallback to atomically modifying U32x2 vectors. This change ensures that U32x2 storage vectors are defined in the spir-v shader when 64-bit atomics are used.
Fixes a hang on some devices, notably Intel GPUs, when booting Pokemon Legends Arceus
2022-01-28 19:00:04 -05:00
Morph
5865d6f406
Merge pull request #7784 from german77/ds5
...
input_common: Add DS5 to HD rumble list
2022-01-28 18:36:28 -05:00
Morph
d45b236672
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
Morph
c2e7d819b0
Merge pull request #7788 from ameerj/stream-buffer-begin
...
buffer_cache: Reduce stream buffer allocations when expanding from the left
2022-01-28 18:30:01 -05:00
Morph
693d982a0f
Merge pull request #7786 from ameerj/vmnmx-sel
...
video_minimum_maximum: Implement src operand selectors
2022-01-28 18:24:56 -05:00
ameerj
712b7883be
emit_spirv: Add Xfb execution mode when transform feedback is used
...
Fixes Transform Feedback on Vulkan AMD drivers.
2022-01-28 16:32:48 -05:00
bunnei
584eb04402
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
german77
f0b67c3ebb
hotkeys: Don't translate hotkey buttons
2022-01-27 17:32:48 -06:00
german77
c092488c53
wall_clock: use standard wall clock if rtsc frequency is too low
2022-01-27 17:07:52 -06:00
ameerj
9bffee169b
buffer_cache: Reduce stream buffer allocations when expanding from the left
...
The existing stream buffer optimization accounts for size increases at the end of the allocated buffer.
This adds the same optimization, increasing the size from the beginning of the buffer as well to reduce buffer allocations when expanding the same buffer from the left.
2022-01-27 15:31:43 -05:00
bunnei
1b8ed3a76d
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
ameerj
4ee80ce807
video_minimum_maximum: Implement src operand selectors
...
Used by Pokemon Legends: Arceus
2022-01-27 14:55:08 -05:00
Morph
6c0cc7303f
Merge pull request #7783 from lioncash/abi-cexpr
...
common/xbyak_api: Make BuildRegSet() constexpr
2022-01-27 10:29:34 -05:00
Narr the Reg
9ea465d958
input_common: Add DS5 to HD rumble list
2022-01-26 21:49:32 -06:00
bunnei
f73ced739a
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Lioncash
1d5b635601
common/xbyak_api: Make BuildRegSet() constexpr
...
This allows us to eliminate any static constructors that would have been
emitted due to the function not being constexpr.
2022-01-26 16:29:15 -05:00
bunnei
aac2862552
Merge pull request #7780 from lioncash/macro
...
video_core/macro: Move impl classes into their cpp files
2022-01-26 12:39:59 -08:00
bunnei
e97a229325
Merge pull request #7769 from german77/no-control
...
yuzu: Add setting to disable controller navigation
2022-01-25 20:24:42 -08:00
bunnei
6f447d92e0
Merge pull request #7768 from Moonlacer/fsr-1.0.2
...
Update AMD FidelityFX Super Resolution™ to 1.0.2
2022-01-25 17:32:44 -08:00
Morph
73ce1de0fb
Merge pull request #7777 from lioncash/nodisc
...
shader_recompiler: Remove unnecessary [[nodiscard]] specifier
2022-01-25 16:16:20 -05:00
Morph
5c4f443aea
Merge pull request #7779 from lioncash/gpu-iface
...
gpu: Remove obsoleted CDmaPusher() accessors
2022-01-25 16:16:04 -05:00
Morph
1d2dd3256d
Merge pull request #7778 from lioncash/comma
...
vk_fsr: Replace comma operator with semicolon
2022-01-25 16:15:53 -05:00
Morph
6cf076534e
Merge pull request #7774 from lioncash/mapping
...
input_common/main: Pass MappingData by const reference in callbacks
2022-01-25 16:15:45 -05:00
Morph
af60a8be97
Merge pull request #7773 from lioncash/udp-deprecated
...
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
2022-01-25 16:15:27 -05:00
Morph
c2fd2c56e9
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
ebc41b3af6
video_core/macro: Add missing <cstring> header
...
Necessary since memcpy is used.
2022-01-25 14:10:02 -05:00
Lioncash
e7242491a4
video_core/macro_interpreter: Move impl class to the cpp file
...
Keeps the implementation hidden from the intended API and lessens the
header dependencies on the interpreter's header.
2022-01-25 14:03:48 -05:00
Lioncash
6950d969aa
video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()
...
Same behavior, but less code and header dependencies.
2022-01-25 13:50:14 -05:00
Lioncash
65e617754f
video_core/macro: Remove unused parameter from Execute()
...
Simplifies the function interface.
2022-01-25 13:41:38 -05:00
Lioncash
791b988d07
video_core/macro_jit_x64: Remove unused impl class member
...
Reduces the size of the impl class a tiny bit.
2022-01-25 13:33:09 -05:00
Lioncash
9a802c7a09
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
...
This doesn't depend on class state and can just be a regular function.
2022-01-25 13:31:54 -05:00
Lioncash
0b91a77ccc
video_core/macro_jit_x64: Move impl class into cpp file
...
Keeps the implementation internalized and also reduces API-facing header
dependencies.
Notably, this fully internalizes all of the xbyak externals.
2022-01-25 13:31:46 -05:00
Lioncash
e3025b8fb9
video_core/macro_hle: Move impl class into cpp file
...
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.
2022-01-25 13:15:48 -05:00
Lioncash
4d8010eee3
gpu: Tidy up forward declarations
...
Over time a few forward declarations became unnecessary, so we can
remove these to tidy up the header a little bit.
2022-01-25 13:05:39 -05:00
Lioncash
4c5c860587
gpu: Remove obsoleted CDMAPusher() accessors
...
These were obsoleted in 10cc89bfdf but
were accidentally overlooked.
2022-01-25 12:53:56 -05:00
Lioncash
4272d239b6
vk_fsr: Replace comma operator with semicolon
...
Generally, we should be ending statements with a semicolon not a comma
Resolves a clang diagnostic.
2022-01-25 12:42:27 -05:00
Lioncash
4ea21f074d
shader_recompiler: Remove unnecessary [[nodiscard]]
...
Since ConvertLegacyToGeneric has a void return value, there's nothing
that is actually returned by the function.
2022-01-25 12:16:09 -05:00
bunnei
c0fc95af47
Merge pull request #7765 from bunnei/update-thread-count
...
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
2022-01-24 18:58:48 -08:00
bunnei
387aa20884
Merge pull request #7760 from german77/inverted_keyboard
...
yuzu: Add modifiers for keyboard
2022-01-24 15:41:49 -08:00
Lioncash
18c2bd5c12
input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state
...
The default constructor of a UUID instance doesn't initialize the
underlying array.
2022-01-24 11:57:48 -05:00
Lioncash
f02a9e4d81
input_common/input_mapping: Simplify UUID validity checks
...
Makes the checks a little more intuitive to read and doesn't construct
an extra UUID instance
2022-01-24 11:49:52 -05:00
Lioncash
04a33bc652
input_common/input_mapping: Add missing includes
...
Ensures that the class always sees the types it needs.
2022-01-24 11:49:31 -05:00
Lioncash
cec9e4ec77
input_common/input_mapping: Remove const from return value
...
Top-level const on a return by value can inhibit move semantics, and is
unnecessary.
2022-01-24 11:39:20 -05:00
Lioncash
5f80c764b0
input_common/input_mapping: Default constructor
2022-01-24 11:37:48 -05:00
Lioncash
1bd76dcb77
input_common/main: Pass MappingData by const reference in callbacks
...
Avoids creating unnecessary 168 byte copies per callback invocation.
2022-01-24 11:31:43 -05:00
Lioncash
feb5b56356
input_common/udp_client: Replace deprecated from_string()/to_ulong() functions
...
These are deprecated and make_address variants and to_uint() should be used instead.
2022-01-24 11:14:30 -05:00
Lioncash
de967b3967
input_common/udp_client: Prevent unnecessary string copies
...
We can also remove some redundant const on the return values, since
these don't do anything
2022-01-24 10:58:25 -05:00
Lioncash
1e57fbe71d
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
1fca7203d3
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
german77
47ca44ad1d
yuzu: Add setting to disable controller navigation
2022-01-23 21:08:49 -06:00
Moonlacer
71ae167f3a
Update FSR to 1.0.2
...
Updates yuzu's FSR implementation to 1.0.2
2022-01-23 14:38:48 -06:00
bunnei
a2731424a6
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
912b6b9ef4
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
c46f07a62a
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
4f848b6f68
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
bf904afa0f
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
1b3dd42de4
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
329741aaf6
Merge pull request #7716 from german77/volume
...
yuzu: Add volume hotkeys
2022-01-22 02:25:59 -08:00
bunnei
05918a20c3
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
a8476d9db0
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
8f3c7cb89b
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
24efadee60
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
ebb9ec197e
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
3ac7342b48
Merge pull request #7735 from german77/udp_battery
...
input_common: Report battery for UDP controllers
2022-01-22 01:28:14 -08:00
bunnei
7240568f00
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
Narr the Reg
0a75c32ab8
yuzu: Add modifiers for keyboard
2022-01-21 20:41:50 -06:00
bunnei
606e643378
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
b3f8d2491d
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
46d9dc557c
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
3599c5f7c8
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
50af00640b
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
114ce2ae13
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
41f1cceefe
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
cc5f02e0a5
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
ee4adcada2
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
2495e8d6e1
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
74a98a01de
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
aa0d0e91a0
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
1a50cb9468
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
bunnei
daa1ccd057
Merge pull request #7755 from v1993/someone-in-here-lacks-system-wide-theming
...
Use Default Colorful theme by default outside of Windows
2022-01-21 11:51:29 -08:00
bunnei
0bec1ea476
Merge pull request #7731 from v1993/xfb-varying-check-fix
...
shader_recompiler: fix potential OOB access
2022-01-21 10:45:56 -08:00
v1993
8117685e56
Use Default Colorful theme by default outside of Windows
...
On OSes with system-wide theming this allows yuzu to follow system style, regardless of its exact coloration, working well with both light and dark system themes. Dark /Colorful, on the other hand, forces dark theme regardless of user preferences set in system settings, making for a poor default.
Use Colorful variation to keep in line with icon style of patron-voted Dark Colorful.
2022-01-21 20:57:00 +03:00
Morph
00dc684fb0
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
c6038643e0
Merge pull request #7695 from Morph1984/is-pow2
...
common: bit_util: Add IsPow2 helper function
2022-01-20 18:06:11 -08:00
bunnei
8f2630de0a
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
f2e870d6b6
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
668af26696
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
db3c11506b
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
e885b0ab0d
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
af11abed3f
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting.
- KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20 17:08:00 -08:00
bunnei
247a7e2205
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
f1e06f984d
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
cc4cbff1ca
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
bunnei
015c2dbd68
Merge pull request #7710 from german77/just-shake-it
...
core/hid: Increment shake force
2022-01-20 16:53:22 -08:00
Jan Beich
c2338f2f04
video_core: constify AVCodec for ffmpeg >= 5.0
...
src/video_core/command_classes/codecs/codec.cpp:177:16: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
av_codec = avcodec_find_decoder(codec);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-20 11:09:21 +00:00
Morph
ac59980bd0
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
d678dfda6e
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
Georg Lehmann
feb8a473ed
vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features
2022-01-19 19:48:46 +01:00
bunnei
70b2b91f71
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
fd18ae4979
Merge pull request #7715 from gidoly/patch-4
...
Xbox controller default name nit pick
2022-01-18 21:14:30 -08:00
bunnei
94d7a0de6f
Merge pull request #7725 from german77/mouse_in_motion
...
input_common: Reintroduce motion from mouse and use button names
2022-01-18 18:16:27 -08:00
bunnei
74407b1348
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
bunnei
a361325864
Merge pull request #7724 from ameerj/astc_new_nv
...
astc_decoder: Combine FastReplicate functions to work around new NV driver bug
2022-01-17 16:48:04 -08:00
bunnei
4e3c9cdde6
Merge pull request #7732 from v1993/patch-7
...
kernel: remove no-op code
2022-01-17 15:37:16 -08:00
Narr the Reg
527a74f48b
input_common: Report battery for UDP controllers
2022-01-17 13:30:15 -06:00
v1993
970b362ca1
shader_recompiler: fix potential OOB access
...
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
2022-01-17 21:50:51 +03:00
Mai M
d3066b30ea
Merge pull request #7730 from v1993/patch-6
...
input_common: nitpick about SetHatButton usage
2022-01-17 13:43:34 -05:00
Mai M
624bb8bf26
Merge pull request #7729 from v1993/patch-5
...
input_common: fix copy-paste error
2022-01-17 13:43:21 -05:00
Mai M
2567283d86
Merge pull request #7728 from v1993/patch-4
...
hid: fix std::transform call
2022-01-17 13:43:11 -05:00
Mai M
5d84c5a2a9
Merge pull request #7727 from v1993/patch-3
...
hid: Correct assignment source for rotations
2022-01-17 13:42:57 -05:00
Valeri
01852ee857
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
Valeri
ffc1f4df39
input_common: nitpick about SetHatButton usage
2022-01-17 12:04:38 +03:00
Valeri
e3ee079aa4
input_common: fix copy-paste error
...
Found by static analysis with PVS-Studio.
2022-01-17 11:31:38 +03:00
Valeri
8b3ea1258c
hid: fix std::transform call
...
Found by static analysis with PVS-Studio.
2022-01-17 10:47:38 +03:00
Morph
7721ca7ee7
uisettings: Add enumeration type for themes
...
Eliminates the usage of a magic number to indicate the default index of the themes array,
2022-01-17 02:46:30 -05:00
gidoly
f83f55b337
config: Change default theme to Dark Colorful
2022-01-17 02:41:53 -05:00
Valeri
347574b398
Correct assignment source for rotations
...
Found by static analysis with PVS-Studio
2022-01-17 10:40:41 +03:00
german77
991460cd98
input_common: Reintroduce motion from mouse and use button names
2022-01-16 20:37:34 -06:00
ameerj
09dc136a39
astc_decoder: Combine FastReplicate functions to work around new NV driver bug
...
The new Nvidia drivers have a bug where the FastReplicateTo6 function produces a lookup into the REPLICATE_TO_8 table rather than the REPLICATE_TO_6 table.
This seems to be an optimization gone wrong. Combining the logic of the FastReplicate functions seems to address the bug.
2022-01-16 16:13:20 -05:00
german77
c8364449df
audio/stream: Adjust volume scale factor
2022-01-15 20:28:37 -06:00
german77
a31c663398
yuzu: Add volume up/down hotkeys
2022-01-15 20:28:37 -06:00
gidoly
3465aa5d57
Xbox controller default name nit pick
...
Discord User moon lacer pointed us that official name is 'Xbox' not 'XBox'
2022-01-16 05:59:31 +09:00
german77
c5665f7289
yuzu: Remove speed limit hotkeys
2022-01-15 13:44:45 -06:00
bunnei
0e12a27299
Merge pull request #7713 from gidoly/patch-3
...
Change default name for playstation controllers
2022-01-15 02:39:58 -08:00
bunnei
d3702fe297
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
4148fde355
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
gidoly
ede1976820
Change default name for ps controllers
...
Minor nitpick
Code is from narr
2022-01-15 10:29:42 +09:00
bunnei
d87fc832f4
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
b52516263d
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
18969b5d8e
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
914431487b
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
b6bf119a43
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
b722faaf7a
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
b533a775d2
common: fiber: YieldTo: Avoid hard crash on nullptr previous_fiber.
...
- When the emulator crashes to desktop below, we don't even get this captured in a log, making such issues harder to debug.
2022-01-14 16:17:19 -08:00
bunnei
fbab3dc017
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
Narr the Reg
f217849d21
core/hid: Increment shake force
...
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
2022-01-14 11:11:20 -06:00
Mai M
8fb335ff3f
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
Mai M
0872f9ff89
Merge pull request #7698 from bunnei/mem-code-memory-updates
...
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
2022-01-14 00:41:17 -05:00
bunnei
ef9186172f
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
bunnei
a9c52fed60
Merge pull request #7690 from Morph1984/increase-file-limit-win
...
yuzu: main: Increase the open file limit on Windows to 8192
2022-01-13 21:25:06 -08:00
bunnei
c8933c02cc
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
Narr the Reg
01d886a3ba
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
Narr the Reg
56ac40bfc4
core/hid: Reduce gyro threshold even more
2022-01-11 23:15:39 -06:00
bunnei
c2ac9e90bf
Merge pull request #7697 from abouvier/opt-tests
...
cmake: make tests optional
2022-01-11 20:58:16 -08:00
bunnei
d45b65b4d9
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
7526489b8b
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
84a61db25b
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
0942533d2f
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
e2df1ad6a1
Merge pull request #7684 from bunnei/set-mem-perm-attr
...
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11 16:26:17 -08:00
Alexandre Bouvier
4b791bcad7
cmake: make tests optional
2022-01-12 00:36:20 +01:00
Morph
9ec57a502c
common: bit_util: Add IsPow2 helper function
...
Makes use of std::has_single_bit() to check whether the value is a power of 2.
2022-01-11 16:01:12 -05:00
bunnei
5d1080d2a8
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
Morph
b713400580
yuzu: main: Increase the open file limit on Windows to 8192
...
This is a temporary solution for now to accommodate for mods containing more than 4096 files.
2022-01-09 21:33:58 -05:00
Morph
4b8518f4ce
Merge pull request #7683 from liushuyu/fmt-8.1
...
logging: adapt to changes in fmt 8.1
2022-01-09 18:29:59 -08:00
Morph
45f4600a4e
Merge pull request #7687 from german77/tas_handle
...
input_common: Handle errors on TAS scripts
2022-01-09 16:43:06 -08:00
liushuyu
479d57987c
logging/log.h: move enum class formatter to a separate file ...
...
... to common/logging/formatter.h
2022-01-09 17:35:33 -07:00
liushuyu
52e9cd7743
logging/log: use `underlying_type` instead of hardcoding types
2022-01-08 16:02:49 -07:00
bunnei
7f49c22fc4
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
b227426ae5
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
german77
b6c23d1633
input_common: Handle errors on TAS scripts
2022-01-08 12:27:16 -06:00
bunnei
090f1c400e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
liushuyu
682ea0f431
logging: adapt to changes in fmt 8.1
2022-01-08 01:49:26 -07:00
bunnei
8d5bddc40f
Merge pull request #7680 from german77/accel_mapping
...
input_common: Allow to only have acceleration motion data
2022-01-08 00:06:15 -08:00
german77
a52791af6b
yuzu: Use pad parameter to choose the correct controller
2022-01-07 16:56:36 -06:00
german77
0e1d2581b7
input_common: Fix udp motion not automapping to both sides
2022-01-07 16:56:36 -06:00
german77
353317f31e
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
06d840652f
core/hid: Add home and screenshot button support
2022-01-06 21:11:27 -06:00
german77
f333340a9c
core/hid: Set minimum gyro threshold
2022-01-06 20:05:59 -06:00
german77
10439bbfff
input_common: Use accelerometer data for mapping
2022-01-06 20:05:49 -06:00
Fernando S
6dfbefd29b
Merge pull request #7658 from ameerj/sparse-fixes
...
video_core/memory_manager: Fixes for sparse memory management
2022-01-06 13:50:14 +01:00
bunnei
74485dda2f
Merge pull request #7674 from lat9nq/fix-custom-highlight
...
configure_per_game: Initialize tabs after loading custom configuration
2022-01-05 16:14:15 -08:00
Mai M
2b88e2536c
Merge pull request #7673 from german77/no_return
...
glsl: Remove unreachable return
2022-01-05 06:41:16 -05:00
lat9nq
a8b082c537
configure_per_game: Initialize tabs after loading custom configuration
...
Changes tab initialization to happen after the configuration is loaded,
which means that it no longer happens as member initializers in the
ConfigurePerGame constructor. Removes the cluster of
??_tab->SetConfiguration's that I added earlier to get around this issue
initially.
Fixes a regression in #6774
2022-01-04 23:43:19 -05:00
Narr the Reg
7b752c8f47
video_core: Remove unnecesary maybe_unused flag
2022-01-04 21:25:47 -06:00
Narr the Reg
0646512a9c
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
bunnei
ccfce4da6f
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
Fernando S
978517824a
Merge pull request #7670 from ameerj/vsync-block
...
gpu: Add shut down method to synchronize threads before destruction
2022-01-04 14:16:24 +01:00
bunnei
208d87ec53
Merge pull request #7251 from FernandoS27/shader-dump
...
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-03 17:56:30 -08:00
ameerj
664fcdc64b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
Fernando Sahmkow
65387dd0a0
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01:00
ameerj
8badb6f4a7
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit 5a612e9217 , reversing
changes made to 2e61bc3d51 .
2022-01-03 20:28:54 -05:00
bunnei
5a612e9217
Merge pull request #7668 from ameerj/fence-stop-token
...
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03 16:40:36 -08:00
bunnei
2e61bc3d51
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
bunnei
ac2684af9f
Merge pull request #7662 from german77/uistatus
...
yuzu: Fix UI elements not updating correctly
2022-01-03 13:24:15 -08:00
bunnei
440502c8a9
Merge pull request #7663 from german77/applet
...
controller_applet: Only populate supported controllers
2022-01-03 10:51:51 -08:00
ameerj
0585c60227
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
Fernando S
dd9be795bf
Merge pull request #7648 from bunnei/thread-pinning
...
core: hle: kernel: Implement thread pinning.
2022-01-03 02:01:26 +01:00
Fernando S
97db926f08
Merge pull request #7624 from ameerj/intel-msaa-scale
...
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
2022-01-03 00:40:14 +01:00
Fernando S
8a790b09a7
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
german77
0e9f010ed6
core/hid: Add fallback to fullkey controllers
2022-01-01 22:01:13 -06:00
german77
8b989ac3ae
controller_applet: Only populate supported controllers
2022-01-01 21:42:17 -06:00
german77
4208ac1087
yuzu: Fix UI elements not updating correctly
2022-01-01 17:57:43 -06:00
ameerj
5a7940c1f1
texture_cache/util: Fix s32 overflow when resolving overlaps
2021-12-31 20:03:22 -05:00
ameerj
4c10c0a514
video_core/memory_manager: Fixes for sparse memory management
2021-12-31 17:04:02 -05:00
ameerj
5c644fe97b
video_core/memory_manager: Deduplicate Read/WriteBlock
2021-12-31 02:08:22 -05:00
bunnei
1b4fa1cba3
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
b12695ddc4
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
german77
5dab578691
core/hid: Fix controller type validation
2021-12-29 22:51:53 -06:00
bunnei
74e91d06fa
Merge pull request #7635 from bunnei/set-heap-size
...
core: hle: kernel: Updated implementation of svcSetHeapSize.
2021-12-29 20:30:12 -08:00
ameerj
c5c13369fa
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
ameerj
a57dc3509a
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
0918d673a3
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05:00
ameerj
22a4d26479
shader: Add integer attribute get optimization pass
...
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
bunnei
ecc0a7140c
Merge pull request #7618 from goldenx86/patch-4
...
Increase boost requirement to 1.78.0
2021-12-28 16:25:37 -08:00
Matías Locatti
244dff4e6e
Empty spaces
2021-12-28 18:50:51 -03:00
Matías Locatti
1a30c0a125
Changes to avoid warnings in SSE4.2 optimized SPIR-V
2021-12-28 17:35:55 -03:00
Feng Chen
064470286d
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
5e725163a0
Remove invalid header include
2021-12-28 18:51:11 +08:00
Feng Chen
669cb21687
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
714dcea191
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
ae33a76753
Merge pull request #7622 from ameerj/vk-rescale-invalid-ptr
...
vk_texture_cache: Fix invalidated pointer access
2021-12-28 00:46:37 -08:00
bunnei
5217285536
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
faefe5808b
Merge pull request #7630 from ameerj/glasm-get-int
...
emit_glasm_context_get_set: Fix GetAttribute return value type.
2021-12-27 16:35:11 -08:00
bunnei
0c6edee2ea
Merge pull request #7620 from bunnei/kernel-thread-x18
...
core: hle: kernel: KThread: X18 should be a cryptographically random number.
2021-12-25 00:42:54 -08:00
ameerj
44832be5d2
emit_glasm_context_get_set: Fix GetAttribute return value type.
...
GetAttribute expects an F32 result type at the IR level, this fixes the return value of attributes which were not returning an F32
2021-12-24 20:45:07 -05:00
ameerj
fbb33df96f
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
ameerj
bb108db1de
vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers
...
Fixes a crash when scaling MSAA textures in titles such as Sonic Colors Ultimate.
2021-12-23 22:35:19 -05:00
ameerj
b22cc82f64
blit_image: Remove unused function
2021-12-23 21:06:32 -05:00
ameerj
531d53d6b9
vk_texture_cache: Fix invalidated pointer access
...
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
bunnei
555481005d
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
bc45d0fc1a
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
3a5cfa915c
Merge pull request #7614 from liushuyu/fix-linux-inhibit
...
main: Fix wake lock (prevent sleep) in Flatpak
2021-12-22 16:53:54 -08:00
Fernando S
a11457fd09
Merge pull request #7616 from bunnei/fix-get-idle-ticks
...
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
2021-12-22 17:39:17 +01:00
Fernando S
88a132afcf
Merge pull request #7375 from vonchenplus/convert_legacy
...
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
liushuyu
39d70e9799
main: reword inhibit reason
2021-12-22 02:33:01 -07:00
liushuyu
68901da65f
main: fix wake lock in Flatpak ...
...
... by using the XDP system
2021-12-22 02:27:09 -07:00
bunnei
d3c26baaf1
Merge pull request #7599 from FernandoS27/primrestart-vulkan
...
Vulkan: Fix Primitive Restart and implement Logical Operations
2021-12-22 00:19:23 -08:00
bunnei
ae8c0738dc
Merge pull request #7602 from jbeich/freebsd-vaapi
...
build: enable VA-API on FreeBSD
2021-12-21 22:46:49 -08:00
bunnei
a1f637a6d0
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
feab3f5d6b
Merge pull request #7604 from ameerj/fullscreen-render-window
...
main: Make separate render window fullscreen toggle on the monitor it resides in
2021-12-21 18:05:11 -08:00
bunnei
bfa149aefe
Merge pull request #7608 from Tatsh/scm-ver-override
...
Allow overriding SCM version info
2021-12-21 16:07:27 -08:00
bunnei
d7d066e266
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
Andrew Udvare
31c8b5013c
Allow overriding SCM version info
...
If the build is from a non-repository, these functions will return empty. This
patch allows using defines to CMake to set version info such as
-DGIT_BRANCH=master.
2021-12-20 19:13:07 -05:00
bunnei
3f3eb16bc9
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
95aa9434ce
main: Refactor to reduce code duplication in ShowFullscreen()
2021-12-19 02:09:37 -05:00
ameerj
cd7e6b3250
main: Make render window borderless fullscreen toggle on the monitor it resides in
...
Toggling borderless fullscreen on the separate render window made it fullscreen on the monitor which the main yuzu window resided in.
This change allows the render window to go fullscreen on the monitor it resides in, independent of the main window location.
2021-12-19 02:08:48 -05:00
ameerj
1fff9ea35e
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
Jan Beich
85f65a6995
video_core/codecs: re-enable VAAPI/VDPAU on BSDs after f91cc356fb
2021-12-18 20:57:30 +00:00
Morph
5d73d0b0ae
Merge pull request #7593 from german77/brrr_test
...
core/hid: Cancel any vibration after the test
2021-12-18 15:53:15 -05:00
Morph
c70fb46b04
Merge pull request #7600 from bunnei/fix-kip-loading
...
core: loader: kip: Minimal changes to fix KIP loading.
2021-12-18 15:50:25 -05:00
bunnei
165de9393f
Merge pull request #7587 from liushuyu/fix-linux-decoding
...
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
2021-12-18 02:33:07 -08:00
bunnei
aa1ec63508
Merge pull request #7302 from VPeruS/check-deadlock
...
[input_common] Fixed thread hang
2021-12-17 23:43:19 -08:00
bunnei
acd1fff964
core: loader: kip: Minimal changes to fix KIP loading.
...
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
2021-12-17 23:08:51 -08:00
vonchenplus
8fe519b656
Address format clang
2021-12-18 14:27:07 +08:00
Fernando Sahmkow
15c634806b
Vulkan: Fix the checks for primitive restart extension.
2021-12-18 07:17:08 +01:00
Fernando S
fff375ff89
Merge pull request #7399 from ameerj/art-refactor
...
video_core: Refactoring post A.R.T. merge
2021-12-18 07:09:58 +01:00
vonchenplus
8ea541bc11
Remove spirv handle legacy related code
2021-12-18 14:08:50 +08:00
vonchenplus
ac51211ce4
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00