lat9nq
f22867efc5
yuzu-qt: Attempt to workaround broken Vulkan installations
...
This does a few things in order to make the default setting Vulkan
workable.
- When yuzu boots, it just opens the Vulkan library.
- If it works, all good and we continue with Vulkan as the default.
- If something breaks, a new file in the config directory will be left
behind (this is deleted normally).
- If Vulkan is not working, has_broken_vulkan is set to true.
- The first time this happens, a warning is displayed to notify the
user.
- This forces use of OpenGL, and Vulkan cannot be selected.
- The Shader Backend selector is made accessible for use in custom
configurations.
- To disable has_broken_vulkan, the user needs to press a button in
Graphics Configuration to manually run the Vulkan device
enumeration.
2022-05-30 10:57:59 -04:00
lat9nq
67fa743414
default_ini: Reflect new renderer backend default setting
2022-05-29 21:38:36 -04:00
lat9nq
5799fa4d7d
settings: Set Vulkan to the default renderer backend
2022-05-29 21:38:36 -04:00
Kyle K
499c89790b
motion touch ui: move remaining connection out of .ui file
...
Two reasons for this:
1. Out of 7 connections, 6 are in ConfigureMotionTouch::ConnectEvents,
this is the outlier.
2. Qt6 doesn't moc the connection properly
2022-05-29 18:37:38 -07:00
Kyle K
75bf2c20eb
Update some files with Qt 5.15.2 best practices in mind
...
There was some discussion about updating to Qt6 and I figured I would
work on some smaller parts. For Windows platform the WinMain function has moved
from the Qt5::WinMain to a new one called Qt6::EntryPointPrivate
Also Qt5 supports versionless CMake targets
https://www.qt.io/blog/versionless-cmake-targets-qt-5.15
These other changes in this commit are to support Qt6, but in ways that don't mess with Qt5.
src/yuzu/bootmanager.cpp: Qt6 complains about not being able to know to use QPoint or QPointF, picking QPoint
src/yuzu/bootmanager.h: Qt6 prefers that QStringList.h be included rather than an empty class definition
src/yuzu/configuration/configure_system.cpp: toULongLong intends to return unsigned 64 bit integer, but
Settings::values.rng_seed is only 32 bits wide
src/yuzu/game_list.cpp: Qt6 returns a different datatype for QStringList.length than Qt5,
it used to be int, but in Qt6 its now qsizetype
src/yuzu/loading_screen.cpp: Qt5's for QStyleOption.init say to switch to initFrom.
The QStyleOption.init doesn't exist in Qt6
src/yuzu/main.cpp: Another QPointer and QStringList.size, lets standardize on size()
2022-05-29 09:21:52 -07:00
bunnei
1c8b509441
Merge pull request #8332 from Morph1984/reduce_exec_size
...
general: Use smaller array types where applicable
2022-05-29 02:33:24 -07:00
bunnei
cc289a8ed0
Merge pull request #8339 from Docteh/about_icon
...
about dialog: Fix yuzu icon
2022-05-29 02:32:40 -07:00
Kyle K
017a18f42e
Logging: Report Post Windows 10 2004 versions, like Windows 11
...
Qt5 and Qt6 don't really do a good job of reporting Windows versions past the 2004 version.
Current: Windows 10 Version 2009
This Patch: Windows 10 Version 21H1 (Build 19043.1706)
Also: Windows 11 Version 21H2 (Build 22000.675)
Fixes : #8362
2022-05-28 20:48:19 -07:00
Mai M
8a858c2623
Merge pull request #8385 from lat9nq/just-subsys-win
...
yuzu-qt: Call -Wl,--subsystem,windows directly
2022-05-28 14:30:15 -04:00
lat9nq
6e12eb80a0
yuzu-qt: Call -Wl,--subsystem,windows directly
...
-mwindows doesn't work with Clang. tpoechtrager/wclang resolves this by
just using MinGW-GCC to link the executable, however this prevents us
from using LLVM-exclusive tools when building yuzu.
Solution is to send the linker argument we need from -mwindows directly
to the linker.
From https://gcc-help.gcc.gnu.narkive.com/FogklN5J/gcc-wl-subsystem-windows-mwindows-options
2022-05-28 04:07:46 -04:00
bunnei
d879741ec6
Merge pull request #8374 from german77/asnycvibrations
...
input_common: Make vibration request async
2022-05-28 00:55:53 -07:00
bunnei
439e621674
Merge pull request #8372 from german77/touch
...
input_common: touch: Rewrite touch driver to support multiple touch points
2022-05-27 12:16:03 -07:00
german77
a1f2610522
service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:37 -05:00
german77
240f59a4c8
service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:36 -05:00
german77
c889a5805e
service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabled
...
Needed by Nintendo Switch Sports
2022-05-27 10:21:10 -05:00
german77
762a30d0db
service: hid: Add error handling to sixaxis functions
2022-05-27 10:21:10 -05:00
german77
390d49c5f1
service: hid: Refractor sixaxis functions
2022-05-27 10:21:10 -05:00
german77
3cf15af31e
service: hid: Implement MergeSingleJoyAsDualJoy according to RE
2022-05-27 10:21:09 -05:00
german77
7aa1d10655
service: hid: Add error handling to setNpadAssignment and variants
2022-05-27 10:21:09 -05:00
german77
74d1b9a254
service: hid: Quick RE fixes and comments
2022-05-27 10:21:08 -05:00
lat9nq
0e5a6676c3
path_util: Resolve `-Wpointer-bool-conversion` warning
...
Clang (rightfully) warns that we are checking for the existence of
pointer to something just allocated on the stack, which is always true.
Instead, check whether GetModuleFileNameW failed.
Co-authored-by: Mai M <mathew1800@gmail.com>
2022-05-26 19:01:26 -04:00
bunnei
a9beb4746e
Merge pull request #8379 from lat9nq/amd-push-desc-workaround
...
vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
2022-05-25 13:07:39 -07:00
bunnei
79352ee9d5
Merge pull request #8369 from lat9nq/amd-wmel-workaround
...
vulkan_device: Workaround extension bug
2022-05-25 13:07:28 -07:00
lat9nq
3a8c2ae328
vulkan_device: Workaround extension bug
...
A bug occurs in yuzu when VK_KHR_workgroup_memory_explicit_layout is
available but 16-bit integers are not supported in the host driver.
Disable usage of the extension when this case arises.
2022-05-25 01:22:15 -04:00
lat9nq
7f53cd1e96
vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
...
Recent AMD Vulkan drivers (22.5.2 or 2.0.226 for specifically Vulkan)
have a broken VK_KHR_push_descriptor implementation that causes a crash
in yuzu. Disable it for the time being.
2022-05-25 01:17:48 -04:00
bunnei
4118aad491
Merge pull request #8311 from asLody/fix-stencil-faces
...
vk_rasterizer: fix stencil test when two faces are disabled
2022-05-24 18:37:31 -07:00
Narr the Reg
bf948b5790
input_common: Make vibration request async
2022-05-23 12:25:02 -05:00
german77
c82806f9cb
input_common: touch: Rewrite touch driver to support multiple touch points
2022-05-23 11:01:14 -05:00
liamwhite
4eb7f6c044
Merge pull request #8342 from lat9nq/clang-latest-stdc++
...
general: Use Common::U16StringFromBuffer in place of QString::toStdU16String
2022-05-20 23:35:10 -04:00
Kyle K
669a9a644d
UI: Translate hotkey labels in configuration
...
Another request from GillianMC.
The translated strings have been placed in a separate "Hotkeys" context as an alternative
to having to add the tr function to the Config class, or adding them to ConfigureHotkeys
context which is quite long. The English strings get attached to the items in the Action
column as "data", and are used for RetranslateUI and saving the hotkey configuration.
2022-05-18 22:05:19 -07:00
Alexandre Bouvier
020982508d
video_core: Support new VkResult
2022-05-17 17:37:10 +02:00
lat9nq
5035df27c3
qt_software_keyboard: Address review feedback
...
Use auto and a more descriptive variable name.
Secondly, fix some C++ misconceptions or constructing too many objects.
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-05-16 14:44:01 -04:00
Kyle K
8f3098fc1e
about dialog: Fix the logo in a multiplatform way
...
The Icon was renamed in #8283 for Linux builds, and the fix proposed in #8312 would in turn break
the icon for Windows users.
I've decided to fix the aboutdialog.ui file via qtcreator.
I'm not sure its important to have the yuzu icon inside the About dialog grabbed from the local Qt theme,
but I've reword how the code works for that, and we can just delete those lines.
I've also thrown the yuzu.png through pngcrush to remove this warning
libpng warning: iCCP: known incorrect sRGB profile
Credit to abouvier for bringing bug up.
2022-05-16 05:42:38 -07:00
lat9nq
3ca3254b9f
main: Use Common::U16StringFromBuffer
...
See ffd3afcf2
2022-05-15 18:09:19 -04:00
lat9nq
f7908eebb9
qt_software_keyboard: Use Common::U16StringFromBuffer
...
See ffd3afcf2
2022-05-15 18:08:08 -04:00
lat9nq
ffd3afcf2f
string_util: Add U16StringFromBuffer
...
Qt's QString::toStdU16String doesn't work when compiling against the
latest libstdc++, at least when using Clang. This function effectively
does the same thing as the aforementioned one.
2022-05-15 18:06:33 -04:00
Lioncash
f981e90af3
general: Avoid ambiguous format_to compilation errors
...
Ensures that we're using the fmt version of format_to.
These are also the only three outliers. All of the other formatters we
have are properly qualified.
2022-05-14 16:48:34 -04:00
Morph
36d44bf52f
time_zone_manager: Use s8 for month length tables
...
Using this smaller type saves 512 bytes in the compiled executable.
2022-05-13 00:51:11 -04:00
Morph
370d3fa1e3
video_core/surface: Use u8 for PixelFormat block tables
...
Using this smaller type saves 33280 bytes in the compiled executable.
2022-05-13 00:51:11 -04:00
Morph
b3f8c7ce58
codecs/vp9: Use u8 for norm and map luts
...
Using this smaller type saves 1536 bytes in the compiled executable.
2022-05-13 00:51:05 -04:00
Morph
eea68eae18
command_generator: Use u8 for tap index lut
...
Using this smaller type saves 1024 bytes in the compiled executable.
2022-05-13 00:50:58 -04:00
Morph
0b9ef3c0b8
Merge pull request #8308 from german77/disablesix
...
service: hid: Disable correctly motion input
2022-05-11 17:51:54 -04:00
Morph
2fb6df3fe9
Merge pull request #8314 from liamwhite/gl-flip-2
...
OpenGL: interpret face flips according to GL NDC
2022-05-11 17:51:18 -04:00
Morph
dca63391b6
Merge pull request #8313 from liamwhite/dma-bpp
...
maxwell_dma: fix bytes_per_pixel
2022-05-11 17:51:02 -04:00
Liam
e7ba9fd7e1
maxwell_dma: use fallback if remapping is enabled
2022-05-10 19:26:48 -04:00
Liam
e158951695
video_core/macro: clear code on upload address assignment
2022-05-10 17:07:21 -04:00
german77
cc6a4bedfc
service: notifa: Implement most part of this service
...
Implements partially RegisterAlarmSetting, UpdateAlarmSetting, LoadApplicationParameter, DeleteAlarmSetting.
Needed for Fitness `Boxing 2: Rhythm & Exercise` and `Ring Fit Adventure`.
2022-05-09 10:28:04 -05:00
Fernando Sahmkow
5562ae9cc5
VideoCore: Add option to dump the macros.
...
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2022-05-08 21:37:34 -04:00
Liam
7fe5004f90
video_core/macro_jit_x64: warn on invalid parameter access
2022-05-08 02:48:03 -04:00
Liam
b317f54f22
OpenGL: implement face flips according to NDC
2022-05-06 20:05:21 -04:00
Liam
4f1a2c2562
maxwell_dma: fix bytes per pixel
2022-05-06 18:18:00 -04:00
Narr the Reg
babd580c64
service: hid: Fix motion refresh rate
2022-05-06 11:13:49 -05:00
german77
7eb0992d2c
service: hid: Disable correctly motion input
2022-05-06 11:13:48 -05:00
Lody
535bc61b4c
vk_rasterizer: fix stencil test when two faces are disabled
2022-05-06 14:47:55 +08:00
Morph
4559112651
hle/result: Update std::expected replacement message
...
std::expected is included in C++23
2022-05-03 17:44:30 -04:00
Morph
f3f3f1b7d9
hle/result: Add ResultRange overload in ResultVal
...
Also marks the implicit conversion operator as constexpr instead of consteval as the constructor is not constant evaluated.
2022-05-03 17:44:30 -04:00
bunnei
b06f9f2606
Merge pull request #8272 from german77/stick_range
...
yuzu: config: Improve analog stick mapping
2022-05-03 14:36:39 -07:00
Morph
08bddd7d79
hle/result: Implement ResultRange
...
A ResultRange defines an inclusive range of error descriptions within an error module.
This can be used to check whether the description of a given ResultCode falls within the range.
The conversion function returns a ResultCode with its description set to description_start.
2022-05-02 18:17:39 -04:00
Kyle K
4be00def5c
ui: retranslate the network tab
...
Looks like it was just missed when it was added, as currently the Network Tab only has one item
RetranslateUI is used more commonly throughout the project
2022-05-01 21:39:39 -07:00
Kyle K
bd9f74e6e4
ui: let system locale control format of Custom RTC
...
The Custom RTC widget is under the influence of the computers System Locale.
The format strings are not necessarily related. As a small example, setting the Windows Language to Dansk, and then trying to use yuzu in English the requested AM/PM indicator is simply not shown
The display format for the Custom RTC field needs to be removed from src/yuzu/configuration/configure_system.ui
modifying the display format needs to be moved to src/yuzu/configuration/configure_system.cpp
2022-04-30 17:29:49 -07:00
Morph
b50e1596cc
Merge pull request #8274 from german77/firmware
...
service: hid: Stub IsFirmwareUpdateNeededForNotification
2022-04-29 04:08:34 -04:00
Mai M
ca28b447ac
Merge pull request #8280 from Tachi107/spdx-fixup
...
chore: add missing SPDX tags
2022-04-28 23:28:42 -04:00
Mai M
5687bc6e10
Merge pull request #8282 from liamwhite/gcc-12
...
GCC 12 fixes
2022-04-28 23:28:07 -04:00
Liam
709d7fd92c
GCC 12 fixes
2022-04-28 16:50:34 -04:00
Andrea Pappacoda
01cf05bc75
chore: add missing SPDX tags
...
Follow-up to 99ceb03a1c
2022-04-28 18:24:11 +02:00
bunnei
f3128fe915
Merge pull request #8267 from Morph1984/swapbuffers
...
renderer_vulkan: Update screen info if the framebuffer size has changed
2022-04-27 22:21:15 -07:00
Mai M
794cfb4271
Merge pull request #8236 from Docteh/sort_translations
...
Changes to language order in General -> UI -> Interface Language
2022-04-27 21:47:39 -04:00
bunnei
9ed0b5c5f9
Merge pull request #8229 from german77/reinterpret2
...
service: hid: Access shared memory directly
2022-04-27 12:31:27 -07:00
Kyle K
99b425e0e2
Changes to language order in General -> UI -> Interface Language
...
Language List is from Dolphin, specifically https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/DolphinQt/Settings/InterfacePane.cpp#L30
Any languages that are compiled in, but not in the list will be at the end.
2022-04-27 02:33:16 -07:00
german77
173d849b8f
service: hid: Stub IsFirmwareUpdateNeededForNotification
...
Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
2022-04-27 00:06:30 -05:00
Narr the Reg
17ce54d7f2
yuzu: Config allow to delete single axis directions when buttons are mapped to a stick
2022-04-26 19:03:54 -05:00
Narr the Reg
d2388a2ca8
yuzu: config: Set default range to 95%
2022-04-26 19:03:54 -05:00
Morph
213120a98b
renderer_vulkan: Update screen info if the framebuffer size has changed
2022-04-26 02:48:40 -04:00
Mai M
8304b14a90
Merge pull request #8261 from liamwhite/jit-cleanup
...
service: jit: document and clean up
2022-04-24 22:03:39 -04:00
Liam
64e93dc959
service: jit: document and clean up
2022-04-24 20:25:42 -04:00
Mai M
a7f7279d9d
Merge pull request #8260 from Morph1984/c4146
...
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
2022-04-24 18:25:00 -04:00
Morph
8eabdc058b
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
...
Resolves the C4146 compiler warning on MSVC.
2022-04-24 17:40:47 -04:00
Merry
91a6df0361
Remove unused PrepareReschedule function
2022-04-24 12:10:16 +01:00
Narr the Reg
0f3ad939a8
service: hid: Ensure all structs are initialized
2022-04-23 17:11:43 -05:00
Narr the Reg
61582efeb9
service: hid: Access shared memory directly
2022-04-23 15:41:42 -05:00
Morph
7f77aafe41
Merge pull request #8249 from german77/queued
...
hotkeys: Trigger actions on a separate thread
2022-04-23 16:21:23 -04:00
Narr the Reg
4de43e4d4a
hotkeys: Trigger actions on a separate thread
2022-04-23 14:24:28 -05:00
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
bunnei
04afcfe115
Merge pull request #7976 from BytesGalore/master
...
loader: log the type of mismatching file-extension
2022-04-22 23:55:07 -07:00
bunnei
764e5c7fe5
Merge pull request #7978 from german77/sideway
...
input_common: Map sticks correctly when mapped sideways
2022-04-21 22:21:59 -07:00
bunnei
a1ee9799bc
Merge pull request #8222 from german77/sixaxis_test
...
service: hid: Improve accuracy of sixaxis functions
2022-04-21 21:25:47 -07:00
Mai M
b087886305
Merge pull request #8192 from german77/screenshot
...
bootmanager: Don't create another screenshot request if previous one is not done yet
2022-04-21 04:20:57 -04:00
Mai M
fd409a9247
Merge pull request #8232 from liamwhite/backtrace
...
core/arm: separate backtrace collection
2022-04-21 02:51:03 -04:00
Liam
0ca4dff62c
core/arm: separate backtrace collection
2022-04-20 21:39:42 -04:00
Mai M
ea07e61d3d
Merge pull request #8231 from german77/warning
...
input_common: Ignore boost uninitialized local variable
2022-04-20 20:48:40 -04:00
Narr the Reg
17bff6bf57
input_common: Ignore boost uninitialized local variable
2022-04-20 18:28:24 -05:00
bunnei
cc866ab7e4
Merge pull request #8224 from Docteh/hihi1
...
ui: translate hat directions
2022-04-20 12:32:22 -07:00
Purple
9dfadc8b30
Prevent the mouse cursor from leaving the window when mouse panning is enabled
2022-04-19 16:22:51 -04:00
Kyle K
c99712ea7d
ui: translate hat directions
...
QObject ends up being its own translation context. But this works in our
favor. GetButtonName and GetDirectionName will share one translation the
directions such as "Left" "Right" and the ConfigureInputPlayer context
will contain translations that show up in the form, in places that aren't
those buttons.
2022-04-19 04:24:39 -07:00
Narr the Reg
1d26fabaa7
service: hid: Improve accuracy of sixaxis functions
2022-04-18 15:02:47 -05:00
Andrea Pappacoda
24d7a027dc
yuzu: mention GPLv3.0+ in about dialog
...
Follow-up to 284934ebfd
Fixes #8218
2022-04-18 20:23:57 +02:00
german77
3e77466b86
bootmanager: Don't create another screenshot request if previous one is not done yet
2022-04-18 01:00:48 -05:00
Mai M
637f7e6928
Merge pull request #8204 from Docteh/translate_gameslist
...
ui: Fix Game Compatibility list translations
2022-04-17 05:45:30 -04:00
Kyle K
42b8148aca
ui: Fix Game Compatibility list translations
...
Reported by GillianMC on Discord. Looks to be a small quirk in the QT API.
setText(QObject::tr(status.text));
bringing up QObject breaks the link with the GameListItemCompat
2022-04-16 16:30:45 -07:00
Fernando S
fd49b186fa
Merge pull request #6558 from german77/ringcon2
...
hidbus: Implement hidbus and ringcon
2022-04-16 15:51:14 +02:00
bunnei
a29a8c6f78
Merge pull request #8188 from merryhime/jit-race-page-table-changed
...
dynarmic: Fix race when switching page tables
2022-04-16 00:24:53 -07:00
Narr the Reg
46e1c5bc37
yuzu: Call ignore event after ensuring it's initialized
2022-04-16 00:49:26 -05:00
german77
d2f9412cf1
yuzu: Add custom ringcon configuration
2022-04-16 00:49:26 -05:00
german77
b2359f1527
hidbus: Implement hidbus and ringcon
2022-04-16 00:49:21 -05:00
Fernando S
856a841c72
Merge pull request #8205 from liamwhite/n64-misc
...
Fixes for Mario 64
2022-04-16 00:05:49 +02:00
Fernando S
34710065e8
Merge pull request #8172 from bunnei/kernel-mutex
...
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-16 00:05:04 +02:00
Fernando Sahmkow
f783883bf8
video_core: implement formats for N64 emulation
2022-04-14 11:06:27 -04:00
Liam
d4571b123d
buffer_cache: cap vertex buffer sizes
2022-04-14 10:46:48 -04:00
Liam
a24e7ba61b
maxwell3d: add small_index_2 register
2022-04-14 09:57:06 -04:00
bunnei
8ae43a1be9
Merge pull request #8190 from Docteh/palswap
...
ui: Set Link Color when setting theme
2022-04-13 22:15:31 -07:00
bunnei
46da380b57
Merge pull request #8027 from lat9nq/cmd-fullscreen-size
...
emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen
2022-04-13 18:43:47 -07:00
Fernando S
072b3e6e26
Merge pull request #8202 from merryhime/fix-single-core
...
dynarmic: Fix single core mode
2022-04-13 23:21:11 +02:00
merry
ba08f63ec4
dynarmic: Fix single core mode
...
Regression introduced in a5d040df3d
. Closes #8201 .
2022-04-13 20:40:12 +01:00
Liam
f17aaeccf9
service: jit: Implement the JIT service
2022-04-13 08:41:27 -04:00
bunnei
ca2accfb25
Merge pull request #8165 from bunnei/ensure-session-port-cleanup
...
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12 14:01:40 -07:00
Kyle K
f6695814be
ui: Touching QPalette::Text broke dark -> light UI. don't do
2022-04-12 12:50:56 -07:00
bunnei
dc2dd5d5a6
Merge pull request #8178 from tech-ticks/skyline-icache-fix
...
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174 )
2022-04-12 11:23:20 -07:00
bunnei
3f0b93925f
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
bunnei
965c05b43d
core: hle: service: Allocate a service thread.
2022-04-11 21:13:40 -07:00
bunnei
ae38b8bf5e
hle: kernel: k_spin_lock: Remove unused ThreadPause.
2022-04-11 21:13:40 -07:00
bunnei
8deaac8bd1
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
bunnei
fd5e1e80da
Merge pull request #8157 from lat9nq/kernel-races
...
kernel: Fix some data races
2022-04-11 21:13:01 -07:00
Jan Beich
d13e48e002
service: sfdnsres: add missing includes for some BSDs after 82d46a974a
...
src/core/hle/service/sockets/sfdnsres.cpp: In function 'Service::Sockets::NetDbError Service::Sockets::AddrInfoErrorToNetDbError(s32)':
src/core/hle/service/sockets/sfdnsres.cpp:66:10: error: 'EAI_NODATA' was not declared in this scope; did you mean 'EAI_NONAME'?
66 | case EAI_NODATA:
| ^~~~~~~~~~
| EAI_NONAME
src/core/hle/service/sockets/sfdnsres.cpp: In function 'std::vector<unsigned char> Service::Sockets::SerializeAddrInfo(const addrinfo*, s32, std::string_view)':
src/core/hle/service/sockets/sfdnsres.cpp:127:53: error: 'sockaddr_in' does not name a type; did you mean 'SockAddrIn'?
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^~~~~~~~~~~
| SockAddrIn
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '>' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '(' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:127:65: error: expected primary-expression before '>' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:84: error: expected ')' before ';' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| )
src/core/hle/service/sockets/sfdnsres.cpp:148:53: error: 'sockaddr_in6' does not name a type; did you mean 'SockAddrIn6'?
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^~~~~~~~~~~~
| SockAddrIn6
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '>' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '(' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:148:66: error: expected primary-expression before '>' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:85: error: expected ')' before ';' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| )
2022-04-11 22:26:37 +00:00
Fernando S
b86cfe159f
Merge pull request #8180 from liamwhite/symbols
...
core: extract symbol reading
2022-04-11 18:40:34 +02:00
Kyle K
38dd6dc190
ui: Set Link Color when setting theme
...
Long story short, QT doesn't allow the link colors to be set via their stylesheets.
There are two ways to work with this, specify the color manually for every link (See the About dialog) The other way is to change the default palette.
IsDarkTheme is copy/pasted from src/yuzu/debugger/wait_tree.cpp
2022-04-11 00:00:29 -07:00
Fernando S
4ad6bca31c
Merge pull request #8171 from tech-ticks/skyline-improvements
...
Improvements for game modding with Skyline, DNS resolution
2022-04-10 23:40:54 +02:00
merry
59cbeb3e1b
dynarmic: Fix race when switching page tables
2022-04-10 15:46:29 +01:00
tech-ticks
3b91d213b1
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
2022-04-09 13:29:19 +02:00
bunnei
bf3c6f8812
Merge pull request #8149 from liamwhite/front-face
...
OpenGL: flip front faces if Z scale is inverted
2022-04-09 01:39:39 -07:00
Liam
b29242862b
core: extract symbol reading
2022-04-09 02:16:34 -04:00
bunnei
32e2fb5d33
Merge pull request #8138 from german77/data-no-race
...
core: hid: Reduce the amount of data races
2022-04-08 14:14:53 -07:00
bunnei
a7f73d606f
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
...
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08 14:13:22 -07:00
bunnei
b44a564792
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
2022-04-08 14:11:40 -07:00
bunnei
788bebb160
hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.
...
- Destructor is no longer invoked, so our object counting was off.
2022-04-08 14:11:40 -07:00
bunnei
d737652d08
hle: service: sm: Remove manual tracking of KServerPorts.
2022-04-08 14:11:39 -07:00
bunnei
f55fc850a2
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
2022-04-08 14:11:39 -07:00
bunnei
04efd729d6
Merge pull request #8169 from merryhime/scoped_lock
...
Replace lock_guard with scoped_lock
2022-04-08 14:01:42 -07:00
tech-ticks
82d46a974a
service: sfdnsres: Implement DNS address resolution
2022-04-08 21:28:03 +02:00
Morph
be95b5a954
CMakeLists: Enforce C4505 and C5245
...
These are similar to Wunused-function on gcc/clang
2022-04-07 23:00:04 -04:00
Narr the Reg
bbaa08d7f0
core: hid: Fix double lock on softlock and forced updates
2022-04-07 17:08:01 -05:00
merry
50b10c4bac
Merge pull request #8167 from Tachi107/patch-1
...
fix: remove #pragma once in .cpp file
2022-04-07 22:47:43 +01:00
tech-ticks
1c3983c12e
service: bsd: Add keepalive socket option
2022-04-07 23:30:23 +02:00
tech-ticks
f05e87402a
patch_manager: Apply layered exefs patches from 'atmosphere' SD directory
2022-04-07 23:02:44 +02:00
Narr the Reg
9c85cb354a
core: hid: Replace lock_guard with scoped_lock
2022-04-07 13:52:51 -05:00
Merry
d79274a5d9
core/hle: Standardize scoped_lock initializers
2022-04-07 19:44:07 +01:00
Merry
4778656110
yuzu/util: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
3cf6593342
web_service: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
bbc585881a
video_core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
159ae5e47c
input_common: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
6a071c42d2
core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
1f275eb077
core/hle: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
c589db6add
common: Replace lock_guard with scoped_lock
2022-04-07 19:30:55 +01:00
german77
fa5277ecdb
core: hid: Reduce the amount of dataraces
2022-04-07 13:18:03 -05:00
Fernando S
4265372099
Merge pull request #8161 from liamwhite/gl-s8d24
...
OpenGL: fix S8D24 to ABGR8 conversions
2022-04-07 16:59:41 +02:00
Fernando S
03d5794183
Merge pull request #8152 from liamwhite/gl-crop
...
OpenGL: fix cropping
2022-04-07 16:58:59 +02:00
Fernando S
827a901153
Merge pull request #8150 from liamwhite/vk-crop
...
Vulkan: crop to screen dimensions if crop not explicitly requested
2022-04-07 16:58:29 +02:00
Fernando S
50192eb4ad
Merge pull request #8148 from merryhime/interrupts
...
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
Fernando S
a02fd4cddd
Merge pull request #8143 from merryhime/rdtsc
...
native_clock: Use lfence with rdtsc
2022-04-07 16:17:45 +02:00
Fernando S
4d5900aaa1
Merge pull request #8133 from liamwhite/gl-spv-cbuf
...
shader_recompiler: support const buffer indirect addressing on OpenGL
2022-04-07 12:40:59 +02:00
Andrea Pappacoda
5ca67332ee
fix: remove #pragma once in .cpp file
2022-04-07 12:03:47 +02:00
bunnei
172137f1a0
Merge pull request #8164 from liamwhite/jit-stub
...
service: jit: stub JIT service
2022-04-06 18:34:45 -07:00
Liam
0cfcee95c7
service: jit: stub JIT service
2022-04-06 20:07:01 -04:00
Liam
52ebdd42c6
OpenGL: fix S8D24 to ABGR8 conversions
2022-04-06 19:44:33 -04:00
bunnei
eb8c8db899
Merge pull request #8122 from bunnei/improve-thread-usage
...
Improve usage of service host threads
2022-04-06 12:25:25 -07:00
german77
8c089f4e2a
service: hid: Partially revert #8123
2022-04-05 22:35:38 -05:00
bunnei
12dc4d0527
Merge pull request #8137 from bunnei/improve-nvflinger-2
...
Follow-up fixes for NVFlinger rewrite (Part 2)
2022-04-05 19:11:28 -07:00
bunnei
0c1b954e07
Merge pull request #8100 from Morph1984/registered-crash
...
registered_cache: Prevent nullptr dereference when accumulating files
2022-04-05 18:18:41 -07:00
lat9nq
b976cac49d
k_system_control: Fix data race
...
`return distribution(gen)` is a data race between a read and a write in
two threads, reported by TSan. Remove static random number generators so
they aren't using the same generator.
2022-04-05 19:55:56 -04:00
Mai M
e4c3565ebe
Merge pull request #8159 from merryhime/pst
...
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 17:18:31 -04:00
merry
7f11710e0a
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 20:40:20 +01:00
Andrea Pappacoda
ce859cf526
build: remove -fconcepts
...
It was needed on GCC versions not supporting `-std=c++20`, but GCC 10 and newer (required to compile yuzu) don't need it anymore
2022-04-05 20:52:11 +02:00
bunnei
02473ea7d5
Revert "texture_cache/util: Remove unneeded ReadBlockUnsafe"
2022-04-04 16:26:53 -07:00
Liam
1ab771c3ad
shader_recompiler: Decrease indirect cbuf limit to match hardware
2022-04-04 16:44:01 -04:00
ameerj
494c41dd5a
texture_cache/util: Remove unneeded ReadBlockUnsafe
...
This call was reading GPU memory into the dst buffer, which is then overwritten by the SwizzleTexture call.
2022-04-04 15:57:54 -04:00
bunnei
f114436120
Merge pull request #8089 from merryhime/paranoia
...
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
Liam
b7be6a4316
OpenGL: fix cropping
2022-04-04 12:51:09 -04:00
Liam
c59c035d74
Vulkan: crop to screen dimensions if crop not explicitly requested
2022-04-04 11:45:15 -04:00
Liam
a57531854e
OpenGL: propagate face flip condition
2022-04-04 10:32:14 -04:00
Liam
cb913e5c02
OpenGL: flip front faces if Z scale is inverted
2022-04-04 10:19:40 -04:00
lat9nq
983916e919
k_auto_object: Fix data race
...
Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
2022-04-03 21:47:58 -04:00
lat9nq
6bcbbb29e7
k_thread: Fix data race
...
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 -04:00
lat9nq
d6a0666268
k_process: Fix data race
...
TSan reported a race between thread 36 and thread 34, a read at :225 and
a write at :225 respectively. Make total_proces_running_time_ticks
atomic to avoid this race.
2022-04-03 21:47:57 -04:00
lat9nq
5b5a1b7fa7
kernel: Fix current_process race
...
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 -04:00
lat9nq
83b86d915a
k_scheduler_lock: Fix data race
...
TSan reports a race between the main thread and T37 during
IsLockedByCurrentThread and when it's set at the end of Lock(),
respectively. Set owner_thread to an atomic pointer to fix it.
Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03 21:47:57 -04:00
Merry
4052bfb4ad
native_clock: Internal linkage for FencedRDTSC
...
__forceinline required on MSVC for function to be inlined
2022-04-03 22:38:12 +01:00
merry
fdd4d019ef
native_clock: Use lfence with rdtsc
2022-04-03 22:38:10 +01:00
bunnei
e9cf2d43f1
Merge pull request #8105 from merryhime/atomicload128
...
native_clock: Use AtomicLoad128
2022-04-03 14:26:28 -07:00
merry
a5d040df3d
arm_dynarmic: Use HaltReason for svc calls and reschedules
2022-04-03 18:20:11 +01:00
merry
f8b8af47ad
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
bunnei
2d1af6beee
Merge pull request #8135 from Morph1984/websession-hack
...
applets/web: Keep foreground (websession) web applet open
2022-04-02 20:49:51 -07:00
bunnei
b5910ad0ba
Merge pull request #8123 from german77/bombslinger
...
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 -07:00
german77
3e5469a974
service: npad: Default initialize shared memory
2022-04-02 19:43:49 -06:00
merry
979e53b87b
native_clock: Use writeback from CAS to avoid double-loading
2022-04-02 22:22:48 +01:00
merry
084bd225dc
atomic_ops: Implement AtomicCompareAndSwap with writeback
2022-04-02 22:22:48 +01:00
Merry
c562c1d6be
native_clock: Use AtomicLoad128
2022-04-02 20:55:36 +01:00
Merry
b4746529e1
atomic_ops: Implement AtomicLoad128
2022-04-02 20:55:36 +01:00
merry
7f1e66e94b
Merge pull request #8134 from Tachi107/remove-time-stretcher
...
audio_core: remove time stretcher
2022-04-02 20:49:21 +01:00
Morph
1e47252214
Merge pull request #8141 from merryhime/configure-hotkeys-columns
...
configure_hotkeys: Make first column stretch and not last column
2022-04-02 15:35:31 -04:00
Morph
0bcbe3a703
Merge pull request #8140 from merryhime/per-game-addon-columns
...
configure_per_game_addons: Stretch first column and not last
2022-04-02 15:35:26 -04:00
merry
f4004b1271
configure_per_game_addons: Set tree view minimum section size to 150px
2022-04-02 17:19:25 +01:00
merry
8c57de1605
configure_hotkeys: Make first column stretch and not last column
...
Also configure minimum width of columns to be 150px.
2022-04-02 17:17:13 +01:00
Andrea Pappacoda
0c214cb5b9
fix: typos
2022-04-02 16:34:07 +02:00
merry
8dc1913db8
configure_per_game_addons: Stretch first column and not last
...
This provides more sensible column widths.
2022-04-02 13:46:16 +01:00
bunnei
fdf4909f97
hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes.
2022-04-01 22:59:35 -07:00
bunnei
4036e37bbe
hle: service: nvflinger: consumer_base: Cleanup & fixes.
2022-04-01 22:58:40 -07:00
bunnei
30b07878ba
hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers.
2022-04-01 22:58:02 -07:00
bunnei
7610554b1e
hle: service: nvflinger: buffer_queue_core: Cleanup & fixes.
2022-04-01 22:56:32 -07:00
bunnei
f9371f36a4
hle: service: nvflinger: Use correct logger namespace.
2022-04-01 22:55:44 -07:00
Morph
93f010c988
hle: service: nvdrv: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
d02bf6dab1
hle: service: vi: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
99770653bb
hle: service: bsd: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
2afef2b609
hle: service: filesystem: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
11120b5b1e
hle: service: audio: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04:00
bunnei
864523327f
hle: kernel: Create a default thread for services that do not need their own host thread.
2022-04-02 01:24:30 -04:00
Morph
1166c3910d
applets/web: Keep foreground (websession) web applet open
...
This is a hack to keep the foreground (websession) web applet open in games using these such as Super Mario 3D All-Stars.
2022-04-01 22:50:01 -04:00
Liam
7d5a38ea6c
shader_compiler: support const buffer indirect addressing in GLSL
2022-04-01 17:08:40 -04:00
Andrea Pappacoda
faf6a9876c
audio_core: remove time stretcher
...
Also drop the SoundTouch dependency
2022-04-01 19:54:58 +02:00
Fernando S
550844e5e8
Merge pull request #8128 from FernandoS27/gc-fixes
...
GPU Garbage Collection: Fix regressions.
2022-04-01 17:19:55 +02:00
Liam
a45baa0e78
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
2022-04-01 11:17:54 -04:00
Mai M
d061dc4342
Merge pull request #8079 from lat9nq/applet-typo
...
configure_debug: Fix typo
2022-04-01 11:15:15 -04:00
Mai M
4e4dbb6821
Merge pull request #8097 from Tachi107/build-cleanup-install
...
build: cleanup installation of yuzu and yuzu-cmd
2022-04-01 11:14:39 -04:00
Fernando S
b1fdc02465
Merge pull request #8066 from ameerj/gpu-decode-fixes
...
codec: Fix GPU decoder detection on Windows and a memory leak
2022-04-01 01:37:22 +02:00
Fernando Sahmkow
e9e671d101
GPU Garbage Collection: Fix regressions.
2022-04-01 01:36:24 +02:00
Fernando S
078a6cb0cb
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
...
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +02:00
german77
9346f0b33d
service: hid: Remove inaccurate behavior on initialization
2022-03-31 12:35:57 -06:00
bunnei
9b52ee4558
Merge pull request #8076 from ameerj/nv-vk-msaa-scale
...
Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+
2022-03-30 23:00:44 -07:00
bunnei
c6aa4ec687
Merge pull request #8120 from german77/signal
...
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 -07:00
bunnei
365c6ad753
Merge pull request #8090 from bunnei/fix-skyline
...
Kernel Memory Updates (Part 7): Various fixes to code memory (Skyline support)
2022-03-30 18:23:37 -07:00
Narr the Reg
c04e65c254
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 17:09:28 -06:00
bunnei
8e9d253687
Merge pull request #8107 from german77/fullscreen
...
yuzu: Only override fullscreen setting if gamepath or argument is provided
2022-03-29 17:43:10 -07:00
ameerj
69807dd208
nvhost_ctrl: Only mark EventState::Busy as BadParameter
...
Fixes an svc break in Kirby and the Forgotten Land with async GPU enabled.
2022-03-29 15:13:30 -04:00
Morph
6552968df4
Merge pull request #8109 from lat9nq/god-why
...
yuzu_cmd: Start the logging backend
2022-03-29 03:52:50 -04:00
lat9nq
0d7a0c0817
yuzu_cmd: Start the logging backend
2022-03-28 23:14:42 -04:00
german77
90c846d1ad
yuzu: Only override fullscreen setting if gamepath or argument is provided
2022-03-28 18:52:27 -06:00
ameerj
3e489782e1
gl_rasterizer: Avoid scenario locking already owned mutex
...
gpu.TickWork() may lock the texture_cache and buffer_cache mutexes, which are owned by the thread prior to invoking TickWork().
Defer invoking gpu.TickWork() until the scope ends, where the owned mutexes are released.
2022-03-28 20:35:15 -04:00
bunnei
642913b0d1
Merge pull request #8098 from merryhime/ic-ivau
...
dynarmic: Invalidate CPU cache on all cores
2022-03-28 15:45:52 -07:00
Morph
ea7a0d4652
registered_cache: Prevent nullptr dereference when accumulating files
...
For whatever reason, nca_file/dir can be nullptr in the list of files/dirs. I have not determined the cause of this yet, so add a nullptr check for these prior to dereferencing them.
2022-03-27 17:06:27 -04:00
Mai M
7382e7a5c8
Merge pull request #8095 from bylaws/master
...
shader_recompiler: Include <bit> header when std::count{r,l}_zero is used
2022-03-27 12:36:19 -04:00
merry
1383441b15
arm_dynarmic_64: Invalidate on all cores
2022-03-27 15:37:19 +01:00
Andrea Pappacoda
af94bf4a59
build: cleanup installation of yuzu and yuzu-cmd
...
Explicitly specifying an install destination is not needed anymore since
CMake 3.14.
By removing the hardcoded ${CMAKE_INSTALL_PREFIX}/bin it is also now
possible to override the install destination via the command line. For
example, you can now install yuzu to /usr/games with
-DCMAKE_INSTALL_BINDIR=games
2022-03-27 15:10:24 +02:00
Fernando S
99654721eb
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02:00
bunnei
af04f8b8e9
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."
2022-03-26 12:38:30 -07:00
merry
94967e0f6d
configure_cpu: More descriptive text for Paranoid option
2022-03-26 08:56:23 +00:00
bunnei
9408100a80
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
2022-03-26 01:49:34 -07:00
bunnei
0c75913bf2
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
2022-03-26 01:46:41 -07:00
merry
3c8547160d
configuration: Add Paranoid CPU accuracy level
...
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
1b3dba329a
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:35:37 -07:00
bunnei
3bc0c2a625
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
...
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 -07:00
bunnei
94543f129e
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:33:16 -07:00