Morph
ec4cba9de8
Merge pull request #8522 from lat9nq/consolidate-settings
...
settings: Consolidate RangedSetting's with regular ones
2022-07-07 01:22:01 -04:00
Marshall Mohror
e71d457af9
guard against div-by-zero
2022-07-06 13:00:00 -05:00
Marshall Mohror
b2ad4dd189
common/x64: Use TSC clock rate from CPUID when available
...
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
2022-07-06 12:42:01 -05:00
Morph
cbef6b1fca
qt_web_browser: Fix button inputs with QtWebEngine
...
Button inputs were broken as button was assumed to be the bit position of NpadButton prior to the input rewrite. Since this was changed to use NpadButton directly, we should count the number of trailing zeros to determine the bit position.
2022-07-05 20:34:10 -04:00
Morph
aec129c1ab
renderer_(gl/vk): Implement ASTC_10x6_UNORM
...
- Used by Monster Hunter Rise Update 10.0.2
2022-07-05 20:33:43 -04:00
Morph
770611fdf3
Merge pull request #8486 from liushuyu/github-actions-verify
...
CI: Use GitHub Actions to validate pull requests
2022-07-05 20:30:38 -04:00
liamwhite
07e3c56f0d
Merge pull request #8532 from liamwhite/fiber-supplements
...
common/fiber: make fibers easier to use
2022-07-05 18:20:39 -04:00
Morph
eb4ce48b65
Merge pull request #8477 from Docteh/less_global
...
tweak API usage in qt_web_browser.cpp
2022-07-05 05:57:26 -04:00
liushuyu
40493231ed
CI: fix caching
2022-07-04 21:21:56 -06:00
Morph
908c79881b
Merge pull request #8521 from lat9nq/gdbstub-in-bounds
...
gdbstub_arch: Directly access SP register
2022-07-04 21:27:12 -04:00
Fernando Sahmkow
d3cb9201f1
Core timing: use only one thread.
2022-07-02 23:02:16 +02:00
Liam
ed0319cfed
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
Fernando S
3f3c2dc20f
Merge pull request #8523 from liamwhite/sc-oopsie
...
cpu_manager: properly check idle on return from preemption
2022-07-01 22:40:02 +02:00
Morph
78ce053b4d
Merge pull request #8490 from liamwhite/read-code-stop
...
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-30 20:57:39 -07:00
Liam
2c1e2c63c3
cpu_manager: properly check idle on return from preemption
2022-06-30 16:54:05 -04:00
lat9nq
7b0affb6e0
gdbstub_arch: Directly access SP register
...
Currently to access the SP register, RegRead and RegWrite rely on a
out-of-bounds array access to reach the next element in a struct. As
of writing only git versions of GCC catch this error.
Specify the SP register when we want to access it in these functions.
2022-06-30 12:47:40 -04:00
lat9nq
ca36722a54
settings: Consolidate RangedSetting's with regular ones
...
The latest git version of GCC has issues with my diamond inheritance
shenanigans. Since that's now two compilers that don't like it I thought
it'd be best to just axe all of it and just have the two templates like
before.
This rolls the features of BasicRangedSetting into BasicSetting, and
likewise RangedSetting into Setting. It also renames them from
BasicSetting and Setting to Setting and SwitchableSetting respectively.
Now longer name corresponds to more complex thing.
2022-06-30 12:39:48 -04:00
Fernando S
603952bc27
Merge pull request #7454 from FernandoS27/new-core-timing
...
Core: Remake Core Timing
2022-06-30 12:38:50 +02:00
Fernando Sahmkow
3196d957b0
Adress Feedback.
2022-06-30 10:18:56 +02:00
lat9nq
d41ffb592c
Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor"
2022-06-29 16:35:06 -04:00
german77
b38509b030
service: nifm: Stub GetInternetConnectionStatus
2022-06-28 19:22:46 -05:00
german77
c0264d2121
service: ptm: Rewrite PSM and add TS
2022-06-28 19:22:46 -05:00
german77
5e7e55b98a
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-06-28 19:22:16 -05:00
Narr the Reg
36148fe7f6
service: hid: Correct some mistakes and add more validations
2022-06-28 19:14:55 -05:00
Morph
01bc0c84f0
Merge pull request #8512 from german77/nnResult
...
Replace multiple names with a better name
2022-06-28 16:59:33 -07:00
Fernando Sahmkow
2575a93dc6
Native clock: Use atomic ops as before.
2022-06-28 22:42:00 +02:00
Fernando Sahmkow
f5c1d7b8c8
Native Clock: remove inaccuracy mask.
2022-06-28 01:47:00 +02:00
Fernando Sahmkow
86ccce3721
Address feedback.
2022-06-28 01:19:30 +02:00
Fernando Sahmkow
38e4a144a1
Core: Protect each event from race conditions within it.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
9cafb0d912
Core: Fix tests.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
00b09de3d9
Core: add missing include.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
a2d29412cb
Core/Common: Corrections to core timing and add critical priority.
2022-06-28 01:10:55 +02:00
Fernando Sahmkow
846c994cc9
Core: Reimplement Core Timing.
2022-06-28 01:10:50 +02:00
Fernando Sahmkow
096366ead5
Common: improve native clock.
2022-06-28 01:06:48 +02:00
bunnei
c78f6d4f20
Merge pull request #8504 from comex/mesosphere-current-process
...
Support `InfoType_MesosphereCurrentProcess`
2022-06-27 13:05:07 -07:00
german77
c34a95fa25
video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueue
2022-06-26 20:21:45 -05:00
german77
b5d6194f6d
video_core: Replace VKSwapchain with Swapchain
2022-06-26 20:21:45 -05:00
german77
a5e419535f
video_core: Replace VKQueryCache with QueryCache
2022-06-26 20:21:45 -05:00
german77
9775fae4eb
video_core: Replace VKScheduler with Scheduler
2022-06-26 20:21:45 -05:00
german77
a262dc02b5
video_core: Replace VKBlitScreen with BlitScreen
2022-06-26 20:21:45 -05:00
german77
fca5752690
video_core: Replace VKFenceManager with FenceManager
2022-06-26 20:21:45 -05:00
german77
7b48e7b363
core: kernel: Replace instances of KPageLinkedList with KPageGroup
2022-06-26 20:21:45 -05:00
german77
a7d9be1384
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
bunnei
abfd690601
Merge pull request #8475 from liamwhite/x18
...
kernel: make current thread pointer thread local
2022-06-26 11:38:48 -07:00
comex
bf7e78795f
Re-add missing case
and braces, and trim whitespace
2022-06-25 18:01:56 -07:00
comex
a14438d013
Update src/core/hle/kernel/svc.cpp
...
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2022-06-25 18:00:29 -07:00
comex
48737a4bb2
Support InfoType_MesosphereCurrentProcess
2022-06-25 16:23:23 -07:00
Liam
075155022e
kernel: clean up waiting implementation
2022-06-25 13:36:14 -04:00
Liam
8f8c0b69dc
core/arm: better support for backtrace generation
2022-06-25 12:54:24 -04:00
Liam
19f475fd70
gdbstub: fix register pokes
2022-06-25 12:07:20 -04:00
Liam
2c56e94702
kernel: make current thread pointer thread local
2022-06-23 00:28:00 -04:00
bunnei
95b844dbae
Merge pull request #8491 from Morph1984/extra-assert
...
KPageTable: Remove extraneous assert
2022-06-22 14:47:07 -07:00
bunnei
9da4e62573
Merge pull request #8483 from liamwhite/fire-emblem-three-semaphores
...
kernel: wait for threads to stop on pause
2022-06-22 14:46:33 -07:00
Morph
1c8f6ba18f
KPageTable: Remove extraneous assert
...
Since start is always 0 and VAddr is unsigned, we can safely remove this assert.
2022-06-21 21:28:54 -04:00
Kyle Kienapfel
31c6ba7ecd
tweak API usage in qt_web_browser.cpp
...
In testing future versions of Qt I forgot to compile with `YUZU_USE_QT_WEB_ENGINE`, so with that flag enabled there are two issues that cropped up.
1. yuzu currently uses setRequestInterceptor, added in Qt 5.6, deprecated in 5.13 with this explaination at https://doc.qt.io/qt-5/qwebengineprofile-obsolete.html
Interceptors installed with this method will call QWebEngineUrlRequestInterceptor::interceptRequest on the I/O thread. Therefore the user has to provide thread-safe interaction with the other user classes. For a duration of this call ui thread is blocked. Use setUrlRequestInterceptor instead.
2. QWebEngineSettings::globalSettings() pointer no longer exists in later versions of Qt
From what I can tell, QtNXWebEngineView doesn't need to set these globally,
when we make changes to settings(), QtWebEngineView::page() creates the page
object if it doesn't exist yet. I don't see the page object being destroyed
or otherwise replaced, except via destroying the QtNXWebEngineView object.
The globalSettings() make sense if Pages or Views objects are being
created outside of yuzu's control.
To test this I've compared what BrowseNX and Odyssey's Action guide do in mainline 1049 and this PR.
For now we're going to go up the chain to QWebEngineProfile::defaultProfile()->settings()
2022-06-21 17:48:17 -07:00
Liam
1fd194141a
dynarmic: Stop ReadCode callbacks to unmapped addresses
2022-06-21 20:01:43 -04:00
bunnei
737c446fc1
Merge pull request #8432 from liamwhite/watchpoint
...
core/debugger: memory breakpoint support
2022-06-21 16:04:57 -07:00
bunnei
73e13aa090
Merge pull request #8468 from liamwhite/dispatch-tracking
...
kernel: fix some uses of disable_count
2022-06-21 15:30:27 -07:00
Narr the Reg
f37b2e6f10
service: am: Stub PerformSystemButtonPressingIfInFocus
...
Used by Ring Fit Adventure
2022-06-20 12:35:58 -05:00
Liam
24d7aaf43c
kernel: wait for threads to stop on pause
2022-06-18 16:54:33 -04:00
Liam
a6371fb69d
core: fix initialization in single core, sync GPU mode
2022-06-16 23:43:35 -04:00
Morph
a33e7c13fa
Merge pull request #8472 from german77/tace
...
common: param_package: Demote DEBUG to TRACE for getters
2022-06-16 16:43:32 -04:00
Nikita Strygin
9e384ed54b
Make yuzu-cmd respect log_filter setting
...
Because logging infrastructure initializes before the loading of the
config, it reads the default setting for log_filter and ignores the one
set in config. To change log_filter after logging initialization some
additional calls need to be made.
2022-06-16 23:39:50 +03:00
Nikita Strygin
cf7e4bda92
Implement ExitProcess svc
...
Currently this just stops all the emulation
This works under assumption that only application will try to use
ExitProcess, with services not touching it
If application exits - it quite makes sense to end the emulation
2022-06-16 21:35:34 +03:00
Liam
208ed712f4
core/debugger: memory breakpoint support
2022-06-16 13:18:07 -04:00
Narr the Reg
d1f2f5f146
common: param_package: Demote DEBUG to TRACE for getters
2022-06-16 10:27:59 -05:00
Liam
744a208763
kernel: fix some uses of disable_count
2022-06-15 20:53:49 -04:00
Fernando S
f86b770ff7
Merge pull request #8457 from liamwhite/kprocess-suspend
...
kernel: implement KProcess suspension
2022-06-16 02:41:12 +02:00
liamwhite
0ae4eae9a6
Merge pull request #8460 from Morph1984/bounded-q
...
bounded_threadsafe_queue: Use constexpr capacity and mask
2022-06-15 19:39:22 -04:00
Morph
25429998e3
bounded_threadsafe_queue: Use constexpr capacity and mask
...
While this is the primary change, we also:
- Remove the mpsc namespace and rename Queue to MPSCQueue
- Make Slot a private struct within MPSCQueue
- Remove the AlignedAllocator template argument, as we use std::allocator
- Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
2022-06-15 16:59:13 -04:00
bunnei
5ace5c1b7a
Merge pull request #8317 from german77/notifa
...
service: notifa: Implement most part of this service
2022-06-15 09:53:50 -07:00
Mai
23514388ed
Merge pull request #8464 from liamwhite/break-debug
...
kernel: notify debugger on break SVC
2022-06-15 11:55:54 -04:00
Morph
4572634a4e
vk_compute_pass: Explicitly cast to VkAccessFlags
...
According to the standard, a narrowing conversion is an implicit conversion from an integer or unscoped enumeration type to an integer type that cannot represent all the values of the original type, except when the value is a literal or constant expression.
MSVC, unlike GCC or Clang, determines this to be a narrowing conversion despite the enumeration exclusively containing values that fit within the range of a 32 bit integer, emitting a warning since designated initializers prohibit narrowing conversions.
To solve this, explicitly cast to the type we are initializing.
2022-06-15 07:12:16 -04:00
Mai
103997ee56
Merge pull request #8383 from Morph1984/shadow-of-the-past
...
yuzu: Make variable shadowing a compile-time error
2022-06-14 21:08:58 -04:00
Liam
a7358ff1d4
kernel: notify debugger on break SVC
2022-06-14 21:06:23 -04:00
Liam
20eab9fed9
core: centralize profile scope for Dynarmic
2022-06-14 18:19:04 -04:00
Morph
0eeee431dc
main: Eliminate variable shadowing
2022-06-14 14:09:51 -04:00
Liam
888f499188
kernel: implement KProcess suspension
2022-06-14 10:04:11 -04:00
Morph
c6e7ca562a
Merge pull request #8461 from Morph1984/msvc-narrow-conv
...
vk_compute_pass: Use VK_ACCESS_NONE
2022-06-14 09:28:45 -04:00
Morph
a9b4dd022c
Merge pull request #8434 from german77/uuid
...
input_common: Replace usage of string guid to common uuid
2022-06-14 09:28:32 -04:00
Morph
5568763a57
vk_compute_pass: Use VK_ACCESS_NONE
...
This enumeration was introduced in Vulkan 1.3, prefer using this instead of defaulting the enum.
Also resolves a narrowing conversion warning on MSVC.
2022-06-14 09:14:13 -04:00
Mai
a3b12e3809
Merge pull request #8439 from liamwhite/monkey-compiler
...
general: fix compilation on GCC 12
2022-06-14 08:34:16 -04:00
Morph
742f021fdf
wait_tree: Eliminate variable shadowing
2022-06-14 08:30:09 -04:00
Morph
95bcf6ac38
configure_ringcon: Eliminate variable shadowing
2022-06-14 08:30:09 -04:00
Morph
e371961219
configure_touch_from_button: Eliminate variable shadowing
2022-06-14 08:30:09 -04:00
Morph
5503338f21
configure_per_game: Eliminate variable shadowing
2022-06-14 08:30:08 -04:00
Morph
fe7184c2a8
configure_input_player: Eliminate variable shadowing
2022-06-14 08:30:08 -04:00
Morph
1c83014526
configure_dialog: Eliminate variable shadowing
2022-06-14 08:30:08 -04:00
Morph
2d903e3ce6
bootmanager: Eliminate variable shadowing
2022-06-14 08:30:08 -04:00
Morph
e29e8eec2f
game_list: Eliminate variable shadowing
2022-06-14 08:30:07 -04:00
Morph
fcfe192e83
vk_compute_pass: Silence Wextra warning
...
Silences a warning about using enumerated and non-enumerated types in a conditional expression.
2022-06-14 05:29:57 -04:00
Liam
bd38aefc57
kernel: fix passthrough of local captures in lambda
2022-06-13 20:09:32 -04:00
Liam
feaf010fa2
common/assert: rework ASSERT handling to avoid std::function usage
2022-06-13 20:09:32 -04:00
Liam
ebecdd3a74
general: fix compilation on MinGW GCC 12
2022-06-13 20:09:32 -04:00
Liam
a29ddcee40
common/assert: add unlikely
2022-06-13 20:09:32 -04:00
Liam
d11547024c
general: fix compilation on GCC 12
2022-06-13 20:09:30 -04:00
Liam
6f59e2676b
kernel: ensure class token lambda exit is unreachable
2022-06-13 20:09:00 -04:00
Liam
8fea7e56e5
kernel: fix inconsistency in AutoObjectTraits macro definitions
2022-06-13 20:09:00 -04:00
Liam
58fea44eb5
common: Don't test ASSERT conditions inline
2022-06-13 20:09:00 -04:00
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00