Fernando Sahmkow
2298508465
Update dynarmic and add new unsafe CPU option.
2021-06-20 20:40:02 +02:00
Fernando Sahmkow
569a1962c0
Reaper: Guarantee correct deletion.
2021-06-20 19:11:41 +02:00
Fernando Sahmkow
865dd615ca
Reaper: Upgrade label from unsafe to experimental as no regressions are known now.
2021-06-20 12:35:19 +02:00
ameerj
851c76233d
util_shaders: Specify ASTC decoder memory barrier bits
2021-06-19 11:16:25 -04:00
ameerj
ace20ba4a4
astc_decoder.comp: Remove unnecessary LUT SSBOs
...
We can move them to instead be compile time constants within the shader.
2021-06-19 10:56:13 -04:00
ameerj
31b125ef57
astc: Various robustness enhancements for the gpu decoder
...
These changes should help in reducing crashes/drivers panics that may
occur due to synchronization issues between the shader completion and
later access of the decoded texture.
2021-06-19 09:00:33 -04:00
lat9nq
9a06b85b24
host_memory: Correct MEM_RESERVE_PLACEHOLDER
...
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
2021-06-19 04:38:33 -04:00
Vortex
e704da9192
externals: httplib: replace custom httplib header with upstream as submodule.
...
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2021-06-19 02:18:58 +05:30
Morph
fd5ef1970c
service: time: Use GetFileRelative to get files within subdirectories
...
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18 11:25:26 -04:00
Morph
1a5eceeb9c
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
0b172d12c0
vulkan_debug_callback: Skip logging known false-positive validation errors
...
Avoids overwhelming the log with validation errors that are not applicable
2021-06-17 22:16:32 -04:00
Fernando Sahmkow
719a6dd5a1
Reaper: Correct size calculation on Vulkan.
2021-06-17 08:48:41 +02:00
ameerj
36250a4730
config: Add frame limiter toggle hotkey
2021-06-17 01:41:57 -04:00
ameerj
3522fc019c
nvflinger: Add toggle to disable buffer swap interval limits
...
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
2021-06-17 01:41:56 -04:00
bunnei
abb0124b84
Merge pull request #6418 from clementgallet/sdl-audio-backend
...
Audio: SDL2 audio backend
2021-06-16 21:38:20 -07:00
Ameer J
c5b517aa5f
Merge pull request #6469 from ReinUsesLisp/blit-view-compat
...
texture_cache/util: Avoid relaxed image views on different bytes per block
2021-06-16 21:08:07 -04:00
Fernando Sahmkow
ca6f47c686
Reaper: Change memory restrictions on TC depending on host memory on VK.
2021-06-17 00:29:48 +02:00
Fernando Sahmkow
0dd98842bf
Reaper: Address Feedback.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
954ad2a61e
Reaper: Setup settings and final tuning.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
d8ad6aa187
Reaper: Tune it up to be an smart GC.
2021-06-16 21:35:02 +02:00
ReinUsesLisp
a11bc4a382
Initial Reaper Setup
...
WIP
2021-06-16 21:35:02 +02:00
ReinUsesLisp
5b1efe522e
vulkan_memory_allocator: Release allocations with no commits
2021-06-16 21:35:01 +02:00
bunnei
973bf306ed
Merge pull request #6464 from ameerj/disable-astc
...
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
92942fe01b
Merge pull request #6460 from Morph1984/fs-access-log-fix
...
fsp_srv: Fix filesystem access logging
2021-06-16 14:03:01 -04:00
Morph
4a4e304319
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
8ba83c4c2a
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
e4318a1914
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
ded36b8688
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
faf11fe46d
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
95f203b7c7
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
74790e4f33
common: fs: file: Remove redundant call to WriteStringToFile
...
The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
2021-06-16 00:06:02 -04:00
Morph
0f48292de1
fsp_srv: Fix filesystem access logging
...
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt
If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.
Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-16 00:06:02 -04:00
bunnei
78651b5476
Merge pull request #6462 from Morph1984/proper-flush
...
common: fs: file: Flush the file to the disk when Flush() is called
2021-06-15 19:03:19 -07:00
ameerj
5fc8393125
astc_decoder: Fix LDR CEM1 endpoint calculation
...
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum.
Huge thanks to wwylele for finding this.
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-15 20:19:01 -04:00
ameerj
f9bfeaa2bc
yuzu_cmd/config: Add Accelerate ASTC and missing NVDEC emulation settings
2021-06-15 20:19:00 -04:00
ameerj
b2955479e5
configure_graphics: Add Accelerate ASTC decoding setting
2021-06-15 20:19:00 -04:00
ameerj
c4ff7ecf51
textures: Reintroduce CPU ASTC decoder
...
Users may want to fall back to the CPU ASTC texture decoder due to hangs
and crashes that may be caused by keeping the GPU under compute heavy
loads for extended periods of time. This is especially the case in games
such as Astral Chain which make extensive use of ASTC textures.
2021-06-15 20:19:00 -04:00
ameerj
422a15ee75
lm: Demote guest logs to LOG_DEBUG
...
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-14 22:23:27 -04:00
ReinUsesLisp
3d89398b84
texture_cache/util: Avoid relaxed image views on different bytes per pixel
...
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-14 21:03:57 -03:00
bunnei
c8f86edee6
Merge pull request #6456 from Morph1984/very-important-changes
...
configure_cpu_debug: Clarify settings behavior
2021-06-14 15:05:44 -07:00
Fernando Sahmkow
8d4dfc98ec
Merge pull request #6448 from Morph1984/recursive-dir-iterator
...
common: fs: Use the normal directory iterator in *Recursively functions
2021-06-14 15:47:04 +02:00
Morph
a4454329c1
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
Morph
391e823c79
common: logging: Restructure backend code
2021-06-13 11:05:58 -04:00
Morph
8150c65c07
common: logging: backend: Wrap IOFile in a unique_ptr
...
Allows us to forward declare Common::FS::IOFile.
2021-06-13 11:05:58 -04:00
Morph
a98b6c8f07
common: fs: file: Flush the file to the disk when Flush() is called
...
std::fflush does not guarantee that file buffers are flushed to the disk.
Use _commit on Windows and fsync on all other OSes to ensure that the file is flushed to the disk.
2021-06-13 07:47:57 -04:00
Morph
56afd4ab4b
Merge pull request #6452 from german77/sixaxis_firmware_stub
...
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
lat9nq
932c0184a7
cmake: Fix find_program usage for 3.15
...
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is
only available on 3.18 and later. Instead, we check for
"<VAR>-NOTFOUND".
In addition, check for additional requirements before building libusb or
FFmpeg with autotools. Otherwise, CMake configuration will pass yet
compilation will fail.
2021-06-13 01:15:54 -04:00
Morph
c11b4c45e1
configure_cpu_debug: Clarify settings behavior
...
This makes it clear that the disabled settings only take effect when CPU Accuracy is set to Debug Mode.
2021-06-13 00:27:33 -04:00
Morph
c978f3144c
common: fs: Use the normal directory iterator in *Recursively functions
...
MSVC's implementation of recursive_directory_iterator throws an exception on an error despite a std::error_code being passed into its constructor. This is most likely a bug in MSVC's implementation since directory_iterator does not throw an exception on an error.
We can replace the usage of recursive_directory_iterator for now until MSVC fixes their implementation of it.
2021-06-12 01:39:07 -04:00
bunnei
58180f9fa8
Merge pull request #6451 from Morph1984/check-disk-space-dump
...
yuzu: main: Ensure enough space is available for RomFS dumping
2021-06-11 13:23:23 -07:00
german77
827483409b
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Mai M
9951322e5a
Merge pull request #6422 from FernandoS27/i-am-the-senate
...
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
Morph
fa2aac1bf5
yuzu: main: Ensure enough space is available for RomFS dumping
...
This warns the user if there isn't enough free space to dump the entire RomFS to disk. It requires at least the size of the extracted RomFS + 1 GiB as a buffer of free space.
2021-06-11 14:04:11 -04:00
bunnei
0c0c1a039e
Merge pull request #6443 from Morph1984/k-light-condition-variable
...
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
Markus Wick
7f85abb281
common/host_memory: Implement a fallback if fastmem fails.
...
This falls back to the old approach of using a virtual buffer.
Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
f332d4a9b5
common/host_shader: Load Windows 10 functions dynamically
...
Workaround old headers and libraries shipped on MinGW.
2021-06-11 17:27:17 +02:00
Fernando Sahmkow
588ab44470
GPUTHread: Remove async reads from Normal Accuracy.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
7b0d8bd1fb
rasterizer: Update pages in batches
2021-06-11 17:27:17 +02:00
ReinUsesLisp
ee67460ff0
host_memory: Support staged VirtualProtect calls
2021-06-11 17:27:17 +02:00
FernandoS27
5ba28325b2
General: Add settings for fastmem and disabling adress space check.
2021-06-11 17:27:17 +02:00
Markus Wick
c4609c92ee
common/host_memory: Optimize for huge tables.
...
In theory, if we have 2 MB continously mapped, this should save one layer of TLB.
Let's make it at least more likely by aligning the memory.
2021-06-11 17:27:06 +02:00
Markus Wick
621f3f5f47
core: Make use of fastmem
2021-06-11 17:27:06 +02:00
ReinUsesLisp
740edacc8d
tests: Add tests for host memory
2021-06-11 17:27:06 +02:00
Markus Wick
5105318bbc
common/host_memory: Add Linux implementation
2021-06-11 17:27:06 +02:00
ReinUsesLisp
a7837a3791
common/host_memory: Add interface and Windows implementation
2021-06-11 17:27:06 +02:00
bunnei
c1b8e59ea0
Merge pull request #6407 from lat9nq/fix-libusb-2
...
cmake: Use autotools for libusb linking generally on GNU, and cleanup
2021-06-10 23:35:30 -07:00
bunnei
46ec0ee55b
Merge pull request #6445 from degasus/fix_ubsn
...
Fix GCC undefined behavior sanitizer.
2021-06-10 22:17:33 -07:00
Morph
ebd38d66db
kernel: Unconditionally set thread state when appropriate
2021-06-11 00:58:04 -04:00
Morph
aa79ca7a7a
kernel: KLightConditionVariable: Update implementation to 12.x
...
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-11 00:58:04 -04:00
Markus Wick
6755025310
Fix GCC undefined behavior sanitizer.
...
* Wrong alignment in u64 LOG_DEBUG -> memcpy.
* Huge shift exponent in stride calculation for linear buffer, unused result -> skipped.
* Large shift in buffer cache if word = 0, skip checking for set bits.
Non of those were critical, so this should not change any behavior.
At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-10 21:07:27 +02:00
bunnei
781c85b951
hle: service: sm: Remove redundant session reservation, etc.
...
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
2021-06-10 11:34:41 -07:00
bunnei
fa8a0065ca
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-10 00:08:09 -07:00
bunnei
b259e95c09
hle: kernel: KClientPort: Add an assert for session count.
...
- Prevents us from over decrementing num_sessions.
2021-06-09 22:36:42 -07:00
bunnei
ec5674a6ad
hle: service: sm: Fix GetService setup of session & port.
2021-06-09 22:29:18 -07:00
bunnei
2aa6a8d889
hle: service: Use correct size for ServerSessionCountMax.
2021-06-09 22:04:36 -07:00
bunnei
b2971b48ed
hle: kernel: KServerSession: Fix client disconnected.
...
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-09 21:37:11 -07:00
bunnei
c63ea608aa
kernel: svc: Add missing error check to CancelSynchronization.
...
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
2021-06-09 15:24:46 -07:00
Mai M
5857067a18
Merge pull request #6436 from liushuyu/master
...
src/common/CMakeLists.txt: fix variable escaping
2021-06-09 15:38:56 -04:00
bunnei
2d32fc2318
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-09 11:59:34 -07:00
bunnei
75a4ac12c6
Merge pull request #6413 from Kewlan/limitable_input_dialog_limit
...
limitable_input_dialog: Implement character limiter
2021-06-09 11:55:36 -07:00
liushuyu
eb9deffab6
src/common/CMakeLists.txt: fix variable escaping
2021-06-09 02:20:55 -06:00
Morph
15483c07c6
Merge pull request #6435 from lioncash/nodisc2
...
common/fs/path_util: Remove [[nodiscard]] from function with void return
2021-06-09 02:44:41 -04:00
bunnei
f9c3e2e872
Merge pull request #6434 from lioncash/tcontext
...
configure_ui: Add translation context for file-scope strings
2021-06-08 19:36:44 -07:00
bunnei
3c621d37f0
Merge pull request #6428 from bunnei/service-thread-crash-fix
...
hle: kernel: Remove service thread manager and use weak_ptr.
2021-06-08 16:43:55 -07:00
Lioncash
dd8577e91d
common/fs/path_util: Remove [[nodiscard]] from function with void return
...
We can't make use of the return value here, since we don't a return
value to work with.
2021-06-08 19:36:09 -04:00
Lioncash
b3eb08254b
configure_ui: Add translation context for file-scope strings
...
Allows for these strings to show up in the translation files.
2021-06-08 19:33:23 -04:00
Mai M
f09c9b5fcc
Merge pull request #6426 from lat9nq/context-menu-start
...
yuzu qt: Start games from context menu
2021-06-08 17:09:25 -04:00
bunnei
b8fb9b3f11
hle: kernel: KServerSession: Work-around scenario where session is closed too early.
2021-06-08 13:39:20 -07:00
bunnei
08d798b6fe
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
2021-06-07 21:55:37 -07:00
bunnei
3b5673daca
Merge pull request #6412 from clementgallet/yuzu-cmd-window-gl
...
yuzu-cmd: Fix OpenGL rendering
2021-06-07 21:12:17 -07:00
bunnei
a493ab2678
hle: kernel: Remove service thread manager and use weak_ptr.
...
- We no longer need to queue up service threads to be destroyed.
- Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
2021-06-07 21:10:51 -07:00
lat9nq
5ac018d1df
yuzu qt: Start games from context menu
...
This connects the BootGame function to the context menu. In addition,
there is an option to boot without using the custom configuration.
2021-06-07 20:27:51 -04:00
bunnei
df91c9f5e6
Merge pull request #6410 from lat9nq/avoid-oob
...
decoders: Avoid out-of-bounds access
2021-06-07 10:51:17 -07:00
Clément Gallet
f611506dca
Various suggestions by v1993 and lioncash
2021-06-07 12:51:59 +02:00
bunnei
28eb8c83d4
Merge pull request #6414 from bunnei/fix-service-threads
...
hle: kernel: Refactor to allocate a ServiceThread per service handler.
2021-06-06 22:52:07 -07:00
bunnei
9db569b2d9
hle: kernel: KServerSession: Use ASSERT_MSG where appropriate.
2021-06-06 22:09:25 -07:00
bunnei
ada4242c01
hle: kernel: k_server_session: Return service thread by strong pointer.
2021-06-06 17:54:06 -07:00
bunnei
93f93cb8bc
hle: kernel: k_server_session: Ensure service thread is valid before dereference.
2021-06-06 17:03:36 -07:00
bunnei
afd0e2eb0b
Merge pull request #6400 from ameerj/disable-uniform-simplify
...
buffer_cache: Simplify uniform disabling logic
2021-06-06 15:42:20 -07:00
bunnei
384cbe3829
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
2021-06-06 15:41:16 -07:00
bunnei
6119836795
hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.
...
- Fixes some crashes introduced by our common intrusive red/black tree impl.
2021-06-06 15:39:11 -07:00
Clément Gallet
df8a2e3ad8
Add sdl2 audio description in the yuzu-cmd config file
2021-06-06 11:29:02 +02:00
Clément Gallet
c7c99905f4
Add SDL2 audio backend
2021-06-06 11:28:38 +02:00
Kewlan
058196a089
limitable_input_dialog: Implement character limiter
...
When using GetText() you can now choose what set of characters the user can't enter.
2021-06-06 09:07:55 +02:00
Clément Gallet
2e1c58b905
Avoid -Wshadow warning
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-06-05 18:43:10 +02:00
Lioncash
25b73e135f
result: Add [[nodiscard]] specifiers where applicable
...
The result code classes are used quite extensively throughout both the
kernel and service HLE code. We can mark these member functions as
[[nodiscard]] to prevent a few logic bugs from slipping through.
2021-06-05 06:09:07 -04:00
bunnei
fefc76e5da
Merge pull request #6362 from lat9nq/reset-to-defaults
...
yuzu qt: Add settings reset button to general configuration
2021-06-04 21:07:39 -07:00
Mai M
07f6646f7f
Merge pull request #6411 from clementgallet/yuzu-cmd-touch-button
...
yuzu-cmd: Add touch_from_button in config file
2021-06-04 23:21:29 -04:00
bunnei
27ce97fd42
hle: kernel: Refactor to allocate a ServiceThread per service handler.
...
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347 .
2021-06-04 19:26:48 -07:00
Clément Gallet
9ff8504452
yuzu-cmd: Fix OpenGL rendering
2021-06-04 11:39:04 +02:00
lat9nq
287a0f72a5
decoders: Break instead of continue
...
continue causes a memory leak in A Hat in Time.
2021-06-04 05:12:14 -04:00
lat9nq
1feefabeba
decoders: Avoid out-of-bounds access
...
This is not a real fix, so assert here and continue before crashing.
2021-06-04 05:03:54 -04:00
bunnei
c8b3d92836
Merge pull request #6392 from german77/controller-widget
...
settings: Disable controller preview if controller is not active
2021-06-04 00:40:04 -07:00
bunnei
1d1f616063
Merge pull request #6389 from german77/Analog_button_fix
...
input_common: Analog button, use time based position
2021-06-03 21:06:38 -07:00
Maide
cb5fe12ee1
[game_list] Correct light theme loading ( #6408 )
...
Correct light theme loading
The setLayout call in game list instantiation will call resizing signals with default values in light theme, which was then being erroneously saved. setLayout doesn't seem to call resizing for any other theme, so I'm not sure why that happens.
2021-06-03 19:07:38 -04:00
Clément Gallet
166f5d1612
yuzu-cmd: Add touch_from_button in config file
2021-06-04 00:58:35 +02:00
lat9nq
ddc47e6df8
cmake: General improvements to libusb linking
...
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
2021-06-03 03:49:35 -04:00
bunnei
e4fed17f59
Merge pull request #6402 from Kelebek1/UI
...
game_list: Stop the columns resizing on NAND install
2021-06-03 00:24:45 -07:00
bunnei
5a6d002bf0
Merge pull request #6404 from lat9nq/revert_views
...
yuzu qt: Revert some usages of string_view
2021-06-02 22:11:35 -07:00
Morph
b840dd9af8
fsp-srv: Replace one last instance of RESULT_SUCCESS
2021-06-02 21:40:14 -04:00
Chloe
c4c256f56a
fspsrv: Implement DisableAutoSaveDataCreation ( #6355 )
...
- Used by Mii Edit
2021-06-02 17:46:29 -07:00
lat9nq
c41451af75
yuzu qt: Revert some usages of string_view
...
Causes a heap-use-after free reported by AddressSanitizer. This makes
use of std::filesystem::path, but due to that we have to use their
string() function which may not work for all characters.
2021-06-02 19:50:20 -04:00
bunnei
4ea171fa5e
Merge pull request #6308 from Morph1984/result
...
general: Replace RESULT_NAME with ResultName
2021-06-02 15:29:09 -07:00
bunnei
d6006e9a3f
Merge pull request #6403 from Kewlan/game-list-for-loop-optimization
...
game_list: Minor for loop optimizations
2021-06-02 15:27:54 -07:00
Kewlan
65d42a428f
game_list: Minor for loop optimizations
...
There's no need to check the first and last rows since they'll always be the Favorites and AddDir rows.
Also change the name of the clear_all variable for consistency.
2021-06-02 16:19:55 +02:00
Kelebek1
04e52ffed0
Stop the columns resizing on NAND install
2021-06-02 06:27:08 +01:00
Morph
a0e4c2e1fc
general: Replace RESULT_UNKNOWN with ResultUnknown
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
377cd301b3
Merge pull request #6395 from lioncash/result-move
...
common_funcs: Move R_ macros to result.h
2021-06-02 00:34:48 -04:00
Morph
dba7bcd489
common: fs: fs_util: Move PathToUTF8String to fs_util
2021-06-02 00:26:26 -04:00
Morph
a1eeb9908d
common: fs: fs_util: Add more string conversion functions
2021-06-02 00:26:26 -04:00
bunnei
91f559a71f
Merge pull request #6361 from lat9nq/per-hb-cfg
...
yuzu qt: Handle per-game configs for title id 0
2021-06-01 17:24:08 -07:00
lat9nq
c17e1bd7a8
yuzu qt: Use lambda and std::function for reset callback
...
Also makes use of std::move, and performs a clang-format cleanup.
This addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-06-01 17:22:06 -04:00
lat9nq
4a3d57e469
yuzu: Add settings reset button to general configuration
...
Builds on german77's work to reset all settings back to their defaults.
This include UISettings and Settings values structs, but does not affect
save profiles, input profiles, and game directories.
This works from a button input in configure_general. When activated, it
calls a callback to close the whole configure dialog, then GMainWindow
deletes the old configuration, both on disk and in memory, and
reinitalizes a new one. It also resets a portion of the UI and calls the
telemetry window prompt.
2021-06-01 17:22:04 -04:00
fearlessTobi
8aeb425669
configuration: Initial work to reset all settings
...
This commit does not compile.
Initial work to add and connect a Reset to Defaults button to the
configure_general tab.
Co-authored-by: german77 <juangerman-13@hotmail.com>
2021-06-01 17:09:33 -04:00
ameerj
859ba21f6d
buffer_cache: Simplify uniform disabling logic
2021-06-01 13:26:58 -04:00
bunnei
348ca07e0d
Merge pull request #6318 from german77/dualJoycon
...
input_common: Add dual joycon support
2021-06-01 00:51:00 -07:00
bunnei
0a6f685ad0
Merge pull request #6367 from ReinUsesLisp/vma-host
...
vulkan_memory_allocator: Allow textures to be allocated in host memory
2021-05-31 23:35:11 -07:00
Lioncash
3aed797466
common_funcs: Move R_ macros to result.h
...
These macros all interact with the result code type, so they should
ideally be within this file as well, so all the common_funcs machinery
doesn't need to be pulled in just to use them.
2021-05-31 16:41:00 -04:00
bunnei
f34176996e
Merge pull request #6385 from degasus/save_memory_access
...
core/memory: Check our memory fallbacks for out-of-bound behavior.
2021-05-30 23:21:39 -07:00
german77
ac48e059bc
settings: Disable controller preview if controller is not active
2021-05-30 10:57:20 -05:00
bunnei
a5ebba7e36
Merge pull request #6377 from lioncash/point
...
common: Extract Point struct into common
2021-05-30 01:35:26 -07:00
bunnei
a6cfc73cb2
Merge pull request #6387 from lioncash/class-token
...
k_class_token: Use variable templates where applicable
2021-05-29 23:55:17 -07:00
bunnei
90c3dd300f
Merge pull request #6386 from bunnei/shutdown-fix
...
video_core: gpu: WaitFence: Do not block threads during shutdown.
2021-05-29 23:52:52 -07:00
german77
a323bc5af8
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
Mai M
2069430baa
Merge pull request #6374 from Morph1984/swkbd-textcheck-encoding
...
applets/swkbd: Only read the text check message on Failure/Confirm
2021-05-29 23:34:40 -04:00
Mai M
fc708b396b
Merge pull request #6364 from german77/stub-lp2p
...
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
Mario Kart Live: Home Circuit needs lp2p:sys lp2p:app INetworkServiceMonitor INetworkService to be able to progress.
Note: The game still fails to boot from unimplemented LDN and BSD services.
2021-05-29 23:33:57 -04:00
bunnei
e41c8b6780
Merge pull request #6379 from degasus/update_dynarmic
...
externals: Update dynarmic.
2021-05-29 03:15:13 -07:00
Lioncash
646622ccd4
k_class_token: Use variable templates where applicable
...
Same behavior, less code.
2021-05-29 05:25:34 -04:00
bunnei
c7c4ef9d43
Merge pull request #6384 from lioncash/virtual
...
kernel: Add missing override specifiers
2021-05-29 02:11:40 -07:00
bunnei
cdabc9064b
Merge pull request #6382 from lioncash/null
...
k_thread: Move dereference after null check in Initialize()
2021-05-29 01:17:28 -07:00
bunnei
8592f8a2b4
video_core: gpu: WaitFence: Do not block threads during shutdown.
...
- Fixes a hang on shutdown when NVFlinger thread is waiting on a syncpoint that will never occur.
- Commonly observed when stopping emulation in Super Mario Odyssey.
2021-05-29 01:06:04 -07:00
Markus Wick
42a7c5d017
core/memory: Check our memory fallbacks for out-of-bound behavior.
...
This makes it by far harder to crash yuzu.
Also implement the 48bit masking of AARCH64 while touching this code.
2021-05-29 09:28:26 +02:00
bunnei
5388e6db84
Merge pull request #6373 from bunnei/use-slabheap-tls
...
hle: kernel: KSlabHeap: Allow host or guest allocations.
2021-05-29 00:17:24 -07:00
Markus Wick
ddb186e61d
core/arm_interface: Improve the performance of memory fallbacks.
...
We just create one memory subsystem. This is a constant all the time.
So there is no need to call the non-inlined parent.Memory() helper on every callback.
2021-05-29 09:02:19 +02:00
Lioncash
7b2917b4e1
kernel: Add missing override specifiers
...
Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.
While we're at it, we can remove redundant virtual keywords where
applicable as well.
2021-05-29 02:58:32 -04:00
Markus Wick
5a8cd1b118
Fix two GCC 11 warnings: Unneeded copies.
...
std::move created an unneeded copy.
iterating without reference also created copies.
2021-05-29 08:57:44 +02:00
Markus Wick
d2d7a5060f
externals: Update dynarmic.
...
The new version supports fastmem on a64.
2021-05-29 08:53:01 +02:00
Lioncash
16ff0161b3
k_thread: Move dereference after null check in Initialize()
...
Prevents a -Wnonnull warning on GCC.
2021-05-29 00:31:38 -04:00
bunnei
420b1f89d3
Merge pull request #6371 from degasus/drop_ExceptionalExit
...
core/arm_interface: Call SVC after end of dynarmic block.
2021-05-28 17:45:05 -07:00
bunnei
ee099b2697
hle: kernel: KSlabHeap: Allow host or guest allocations.
...
- Use host allocations for kernel memory, as this is not properly emulated yet.
- Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
2021-05-28 17:42:41 -07:00
bunnei
945effcc75
Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicy
...
hid: ApplyNpadSystemCommonPolicy
2021-05-28 10:05:20 -07:00
Lioncash
5554de3933
touchscreen: Make use of common point struct
2021-05-28 08:15:22 -04:00
Lioncash
8171ad65cd
common: Extract point into a common struct
...
This is generic enough that it can be moved into the Common class for
reuse.
2021-05-28 08:12:49 -04:00
Lioncash
210c2c9a56
common/fs/file: Explicitly delete copy constructors
...
Relocates them to the same place the move equivalents are at for
consistent viewing.
2021-05-28 01:49:40 -04:00
Lioncash
6806a893bd
common/fs/file: Devirtualize destructor
...
IOFile is a final class, so there's no need for a virtual destructor.
2021-05-28 01:47:52 -04:00
Lioncash
019bc9f6b2
common/fs/file: Default initialize IOFile members
...
Prevents a potential uninitialized read vector in the move constructor.
2021-05-28 01:46:30 -04:00
Morph
c68255f70f
applets/swkbd: Make use of std::move where applicable
...
Avoids redundant string copies
2021-05-27 23:45:56 -04:00
Morph
247cd92216
applets/swkbd: Only read the text check message on Failure/Confirm
...
Applications may leave this region of memory uninitialized when the text check result is not either Failure or Confirm.
Attempting to read uninitialized memory may cause an exception within the UTF16 to UTF8 string converter.
Fix this by only reading the text check message on Failure or Confirm.
2021-05-27 23:45:56 -04:00
bunnei
4b95b0df97
video_core: rasterizer_cache: Use u16 for cached page count.
...
- Greatly reduces the risk of overflow, at the cost of doubling the size of this array.
2021-05-27 14:47:24 -07:00
Markus Wick
3d2e80daed
core/arm_interface: Call SVC after end of dynarmic block.
...
So we can modify all of dynarmic states within SVC without ExceptionalExit.
Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
2021-05-27 23:23:23 +02:00
Ameer J
9110cfdefb
Merge pull request #6346 from lat9nq/apply-config-pgc
...
yuzu qt: Add an Apply button to configuration dialogs
2021-05-27 13:07:53 -04:00
ReinUsesLisp
19454e71d8
vulkan_memory_allocator: Allow textures to be allocated in host memory
...
Allow Vulkan's allocator to use host memory when there's no more device
local memory. This delays OOM, but it will eventually still happen.
2021-05-27 05:50:48 -03:00
Mai M
116989be8e
Merge pull request #6366 from lat9nq/bundled-qt-linux
...
cmake: Download Qt binaries on Linux if needed
2021-05-26 18:19:02 -04:00
lat9nq
52cc25ccbf
cmake: Download Qt binaries on Linux if needed
...
If the local version of Qt is older than the minimum version required by
yuzu, download a pre-built binary package from yuzu-emu/ext-linux-bin
and build yuzu with it, instead.
This also requires linking yuzu to the correct libraries after building
it, and copying over the required binaries when building yuzu.
This sets the Qt requirement to 5.12, which is intentionally behind the
versions used by our toolchains since they are not all updated yet to
5.15.
2021-05-26 15:29:45 -04:00
Markus Wick
993dbe49fc
core/arm: Drop ChangeProcessorID.
...
This code was used to switch the CPU ID on thread switches.
However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant.
This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it.
2021-05-26 19:48:24 +02:00
german77
65e20f424a
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
2021-05-26 10:06:00 -05:00
Morph
02169406be
Merge pull request #6331 from lioncash/gesture
...
hid/gesture: Simplify point related code
2021-05-26 09:19:00 -04:00
lat9nq
bc38d4c81b
yuzu qt: Restore const qualifiers
...
This addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-05-25 21:39:57 -04:00
bunnei
3394f24728
Merge pull request #6339 from Morph1984/swkbd-queuedconnection
...
applets/swkbd: Make use of QueuedConnection in returnPressed signal
2021-05-25 18:23:08 -07:00
lat9nq
cfb9bcbe42
yuzu qt: Handle per-game configs for title id 0
...
Currently with programs that have a 0 title id, yuzu loads the custom
configuration 0000000000000000.ini for per-game configs. This is not
ideal since many homebrews share this id. Instead for these programs, we
load a config that is simply the file name and `.ini` appended to it.
2021-05-25 20:10:41 -04:00
Morph
065867e2c2
common: fs: Rework the Common Filesystem interface to make use of std::filesystem ( #6270 )
...
* common: fs: fs_types: Create filesystem types
Contains various filesystem types used by the Common::FS library
* common: fs: fs_util: Add std::string to std::u8string conversion utility
* common: fs: path_util: Add utlity functions for paths
Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library
* common: fs: file: Rewrite the IOFile implementation
* common: fs: Reimplement Common::FS library using std::filesystem
* common: fs: fs_paths: Add fs_paths to replace common_paths
* common: fs: path_util: Add the rest of the path functions
* common: Remove the previous Common::FS implementation
* general: Remove unused fs includes
* string_util: Remove unused function and include
* nvidia_flags: Migrate to the new Common::FS library
* settings: Migrate to the new Common::FS library
* logging: backend: Migrate to the new Common::FS library
* core: Migrate to the new Common::FS library
* perf_stats: Migrate to the new Common::FS library
* reporter: Migrate to the new Common::FS library
* telemetry_session: Migrate to the new Common::FS library
* key_manager: Migrate to the new Common::FS library
* bis_factory: Migrate to the new Common::FS library
* registered_cache: Migrate to the new Common::FS library
* xts_archive: Migrate to the new Common::FS library
* service: acc: Migrate to the new Common::FS library
* applets/profile: Migrate to the new Common::FS library
* applets/web: Migrate to the new Common::FS library
* service: filesystem: Migrate to the new Common::FS library
* loader: Migrate to the new Common::FS library
* gl_shader_disk_cache: Migrate to the new Common::FS library
* nsight_aftermath_tracker: Migrate to the new Common::FS library
* vulkan_library: Migrate to the new Common::FS library
* configure_debug: Migrate to the new Common::FS library
* game_list_worker: Migrate to the new Common::FS library
* config: Migrate to the new Common::FS library
* configure_filesystem: Migrate to the new Common::FS library
* configure_per_game_addons: Migrate to the new Common::FS library
* configure_profile_manager: Migrate to the new Common::FS library
* configure_ui: Migrate to the new Common::FS library
* input_profiles: Migrate to the new Common::FS library
* yuzu_cmd: config: Migrate to the new Common::FS library
* yuzu_cmd: Migrate to the new Common::FS library
* vfs_real: Migrate to the new Common::FS library
* vfs: Migrate to the new Common::FS library
* vfs_libzip: Migrate to the new Common::FS library
* service: bcat: Migrate to the new Common::FS library
* yuzu: main: Migrate to the new Common::FS library
* vfs_real: Delete the contents of an existing file in CreateFile
Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now.
* input_profiles: Don't iterate the input profile dir if it does not exist
Silences an error produced in the log if the directory does not exist.
* game_list_worker: Skip parsing file if the returned VfsFile is nullptr
Prevents crashes in GetLoader when the virtual file is nullptr
* common: fs: Validate paths for path length
* service: filesystem: Open the mod load directory as read only
2021-05-25 19:32:56 -04:00
bunnei
08a5cf0b5b
Merge pull request #6349 from german77/suppress_config_warning
...
settings: Suppress duplicate label name warning
2021-05-25 15:51:51 -07:00
bunnei
4bf53eb935
Merge pull request #6353 from german77/handheld_docked
...
settings: Forbid docked mode on handheld
2021-05-25 13:02:20 -07:00
lat9nq
c1bad4357a
yuzu qt: Add an Apply button to configuration dialogs
...
Most of the code already exists to do this, but the Apply button itself
was never added. This adds a button and boolean that tells yuzu to save
the configuration after applying settings, even if close/Cancel is
pressed on the dialog. Changes after applying will not be saved when
Cancel is pressed, though.
2021-05-25 02:25:39 -04:00
Morph
ec28d3c439
kernel: process_capability: Add MapRegion capability
...
- Used by nx-hbloader
2021-05-25 01:44:46 -04:00
bunnei
d84a93c987
Merge pull request #6357 from lioncash/compression
...
common/compression: Make use of std::span
2021-05-24 18:50:26 -07:00
bunnei
aee3b57c44
Merge pull request #6312 from german77/analogMapping
...
input_common: Rewrite sdl analog mapping and fix controller disconnection crash
2021-05-24 12:02:37 -07:00
Lioncash
49bfd0c461
zstd_compression: Make use of std::span
...
Allows for the incoming data stream to be non-allocating.
2021-05-24 15:01:04 -04:00
Lioncash
00213377b1
lz4_compression: Make use of std::span
...
Allows making the incoming data stream non-allocating.
2021-05-24 15:00:59 -04:00
Chloe Marcec
db7abfecdd
hid: ApplyNpadSystemCommonPolicy
...
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-24 15:07:47 +10:00
german77
7f445a59fa
settings: Forbid docked mode on handheld
2021-05-23 20:34:46 -05:00
bunnei
3ead4a3494
Merge pull request #6347 from bunnei/ipc-improvements-next-2
...
Various improvements to IPC and session management (Part 2)
2021-05-23 16:28:40 -07:00
german77
ea4b7226a6
input_common: Add dual joycon support
2021-05-22 18:40:53 -05:00
german77
bb22d6d8f7
settings: Suppress duplicate label name warning
2021-05-22 18:32:35 -05:00
Morph
ecacb002be
applets/swkbd: Make use of QueuedConnection in returnPressed signal
...
Some users have reported rare crashes when pressing the Enter key on the keyboard to confirm input in the normal software keyboard, particularly in Super Smash Bros. Ultimate while entering the name of a ruleset or controller layout.
It is suspected that the QLineEdit::returnPressed signal is causing a race condition as confirming input through other means does not produce the crash. Since Qt::QueuedConnection posts an event to the event queue of the callee's thread instead of executing it directly on the caller's thread, this eliminates any potential race conditions from occurring in this scenario.
2021-05-22 03:28:54 -04:00
bunnei
5068279f23
Merge pull request #6248 from A-w-x/intelmesa
...
gl_device: Intel: Disable texture view formats workaround on mesa
2021-05-20 23:47:14 -07:00
bunnei
136e8e829f
Merge pull request #6333 from Morph1984/swkbd-confirm-text
...
applets/swkbd: Send the correct text string on TextCheck::Confirm
2021-05-20 22:42:54 -07:00
bunnei
6418a42884
hle: kernel: service_thread: Take reference to KServerSession on service request.
2021-05-20 22:39:44 -07:00
bunnei
e33ffdc555
hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.
...
- Fixes a use-after-free, work-around until we fixup session/port management.
2021-05-20 21:41:52 -07:00
bunnei
b4fc2e52a2
hle: kernel: Use host memory allocations for KSlabMemory.
...
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-20 21:41:52 -07:00
bunnei
7331bb9d8d
Revert "WORKAROUND: Do not use slab heap while we track down issues with resource management."
...
This reverts commit f2c26443f8
.
2021-05-20 21:41:52 -07:00
bunnei
f4fe71c1c9
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
2021-05-20 21:41:52 -07:00
bunnei
342170fcd3
common: tree: Avoid a crash on nullptr dereference.
2021-05-20 21:41:51 -07:00
bunnei
7361eac10f
hle: kernel: Implement CloneCurrentObject and improve session management.
2021-05-20 21:41:49 -07:00
bunnei
c40e7593f5
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
...
This reverts commit fc086f93b2
.
2021-05-20 21:40:30 -07:00
bunnei
ea4e4b05e4
Merge pull request #6320 from Morph1984/get-pid
...
hle_ipc: Add a getter for PID
2021-05-20 21:40:03 -07:00
bunnei
7626ca3343
Merge pull request #6321 from lat9nq/per-game-cpu
...
configuration: Add CPU tab to game properties and slight per-game settings rework
2021-05-20 20:10:56 -07:00
lat9nq
5153d5387a
configure_cpu: Simplify UpdateGroup
...
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-20 01:11:56 -04:00
bunnei
b5d21cc1b1
Merge pull request #6297 from lioncash/common-conv
...
parent_of_member: Make sign conversion explicit in OffsetOfImpl()
2021-05-19 18:43:47 -07:00
bunnei
41b1f8d616
Merge pull request #6310 from german77/nanMotion
...
input_common: Sanitize motion data
2021-05-19 15:47:48 -07:00
lat9nq
12ef74456c
configuration_shared: Drop unused function and template another
...
Drops an unused variant of ApplyPerGameSetting, and turns the QComboBox
variants of SetPerGameSetting into a template.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-19 16:00:48 -04:00
Morph
5396593b55
applets/swkbd: Send the correct text string on TextCheck::Confirm
...
Previously the text string for the inline software keyboard was being sent instead of the normal software keyboard, leading to empty text being sent all the time.
2021-05-19 00:26:32 -04:00
bunnei
7d86a6ff02
Merge pull request #6317 from ameerj/fps-fix
...
perf_stats: Rework FPS counter to be more accurate
2021-05-18 19:56:29 -07:00
Morph
7f78b17e20
KTransferMemory: Return size instead of size * PageSize in GetSize()
...
size is already the size in bytes. We do not need to multiply it by the page size
2021-05-18 13:14:28 -04:00
Lioncash
44556dc21a
hid/gesture: Factor out last gesture retrieval into its own function
...
Deduplicates a commonly repeated expression.
2021-05-18 03:59:44 -04:00
Lioncash
a9d8e24e47
hid/gesture: Ensure all ID arrays are initialized
...
Makes for deterministic initial state.
2021-05-18 03:39:21 -04:00
Lioncash
74f30c0223
hid/gesture: Make Point a template
...
We can now use this in a generic context to reuse it with the finger
position.
2021-05-18 03:39:18 -04:00
Lioncash
20699e90fa
hid/gesture: Replace x,y members of GestureState with a Point
...
Simplifies assignments.
2021-05-18 03:32:42 -04:00
Lioncash
2f1ef3910b
hid/gesture: Add default comparators to Point
...
Simplifies some comparisons.
2021-05-18 03:32:42 -04:00
Lioncash
60831eabd9
hid/gesture: Rename Points to Point
...
This only represents a single point
2021-05-18 03:32:38 -04:00
bunnei
93bc59b62d
Merge pull request #6322 from ameerj/fast-null-buffer
...
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
2021-05-17 15:45:36 -07:00
lat9nq
339dc4f806
general: Demote custom_rtc to regular setting
2021-05-17 15:54:30 -04:00
Mat M
b462618ed7
Merge pull request #6328 from Morph1984/enforce-c4715
...
CMakeLists: Enforce C4715 on MSVC
2021-05-17 13:20:58 -04:00
Morph
d001687ca6
CMakeLists: Enforce C4715 on MSVC
...
This is similar to -Werror=return-type
2021-05-17 03:48:58 -04:00
Morph
cd6dcef5aa
configure_debug: FIx duplicate labels
...
Duplicate labels were unintentionally introduced due to copy-paste. This silences the compilation warning produced by the presence of these duplicates.
2021-05-16 23:32:51 -04:00
Morph
af69b48390
yuzu/main: Fix version info in logging and about dialog
2021-05-16 22:17:17 -04:00
bunnei
440eb840ea
Merge pull request #6319 from Morph1984/no-install-base
...
main: Prevent installing base titles into NAND
2021-05-16 16:33:33 -07:00
ameerj
acf22336ec
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
...
Fixes a crash in New Pokemon Snap
2021-05-16 07:43:40 -04:00
bunnei
d5131805ce
Merge pull request #6284 from ameerj/shantae-fix
...
nvflinger: Create layers when they are queried but not found
2021-05-16 01:45:14 -07:00
bunnei
ad6e20cfde
Merge pull request #6296 from lioncash/shadow-error
...
core: Make variable shadowing a compile-time error
2021-05-16 01:35:46 -07:00
bunnei
e8d2de1f99
Merge pull request #6307 from Morph1984/fix-response-push-size
...
nifm, ssl: Fix incorrect response sizes
2021-05-16 01:32:04 -07:00
Morph
a170aa16b6
main: Prevent installing base titles into NAND
...
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
2021-05-16 04:13:57 -04:00
Morph
049769a0c9
hle_ipc: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-05-16 04:11:00 -04:00
Morph
81a5ecdb18
hle_ipc: Add a getter for PID
2021-05-16 04:10:42 -04:00
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
06c410ee88
Merge pull request #6316 from ameerj/title-fix
...
main: Add running title's version to window name on EA/mainline
2021-05-15 22:40:35 -07:00
lat9nq
ab2677f0a1
configuration: Add CPU tab to game properties
...
Allows setting CPU accuracy to Accurate or Unsafe per-game, as well as
the accuracy options for Unsafe. Debug is not allowed here as a per-game
CPU accuracy.
2021-05-16 01:31:42 -04:00
bunnei
5a2b15bf75
Merge pull request #6299 from bunnei/ipc-improvements
...
Various improvements to IPC and session management
2021-05-15 22:30:21 -07:00
bunnei
a1138028a8
Merge pull request #6289 from ameerj/oob-blit
...
texture_cache: Handle out of bound texture blits
2021-05-15 21:32:37 -07:00
Morph
faaea00069
nifm, ssl: Fix incorrect response sizes
2021-05-16 00:20:48 -04:00
lat9nq
4aac1ae4b1
configuration: Simplify applying per-game settings
...
Originally, every time we add a per-game setting, we'd have to guard for
it when setting it on the global config, and use a specific function to
do it for the per-game config.
This moves the global check into the ApplyPerGameSetting function so
that we can use it for changing both the global and per-game states.
Less work for the programmer.
2021-05-15 22:59:38 -04:00
lat9nq
59236b7d0f
configuration_shared: Add some comments
...
Monke brain can't remember what all of these does a year later.
2021-05-15 22:07:20 -04:00
lat9nq
e169fdad4f
general: Make CPU accuracy and related a Settings::Setting
...
Required to make CPU accuracy and unsafe settings available to use as a
per-game setting.
2021-05-15 20:46:48 -04:00
ameerj
5bef54618a
perf_stats: Rework FPS counter to be more accurate
...
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
ameerj
a3e68dce56
main: Add title's version to window name on EA/mainline
...
Fixes the missing title version number on EA/mainline builds which override the title bar string.
2021-05-15 16:55:30 -04:00
german77
f20f4587e6
input_common: Implement SDL motion
2021-05-15 08:56:58 -05:00
german77
edd498f6e0
input_common: Fix crash when controller disconnects
2021-05-15 08:27:19 -05:00
german77
85eeae7aad
input_common: Rewrite sdl analog mapping
2021-05-14 21:17:08 -05:00
german77
fd7c273fab
input_common: Sanitize motion data
2021-05-13 13:41:32 -05:00
bunnei
e12ee020e7
Merge pull request #6301 from Morph1984/ssl-ImportClientPki
...
ssl: Stub Import(Client/Server)Pki
2021-05-12 22:11:19 -07:00
Morph
c8707628f6
Merge pull request #6298 from Kewlan/toggled-show-add-on-refresh
...
configure_ui: Call RequestGameListUpdate when toggling "Show Add-Ons Column"
2021-05-12 21:06:04 -04:00
Morph
271f2e2d78
ssl: Stub Import(Client/Server)Pki
...
- Used in JUMP FORCE Deluxe Edition
2021-05-12 21:04:13 -04:00
Morph
5a042bdaa1
Merge pull request #6267 from german77/gestureRewrite
...
hid: Improve hardware accuracy of gestures
2021-05-12 09:17:23 -04:00
bunnei
eee302b9b9
common: tree: Avoid a nullptr dereference.
2021-05-11 15:40:20 -07:00
bunnei
12d569e483
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
2021-05-11 12:27:43 -07:00
bunnei
fc086f93b2
WORKAROUND: temp. disable session resource limits while we work out issues
2021-05-11 10:51:39 -07:00
bunnei
f2c26443f8
WORKAROUND: Do not use slab heap while we track down issues with resource management.
2021-05-11 10:27:18 -07:00
bunnei
b9f543b29f
audren
2021-05-11 10:24:53 -07:00
bunnei
343d92a092
core: hle: ipc_helpers: Fix cast on raw_data_size calculation.
2021-05-10 20:34:38 -07:00
bunnei
2c1e119c4a
hle: service: sm: Add TIPC support.
...
- Fixes our error checking of names as well.
2021-05-10 20:34:38 -07:00
bunnei
913971417e
hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.
...
- Fixes our move handles implementation to actually move objects.
- Simplifies the traditional IPC path.
2021-05-10 20:34:38 -07:00
bunnei
49c4c329f6
hle: service: sm: GetService: Reserve session resource when we create a KSession.
2021-05-10 20:34:38 -07:00
bunnei
21671d05a3
hle: service: Add support for dispatching TIPC requests.
2021-05-10 20:34:38 -07:00
bunnei
da25a59866
hle: service: Implement IPC::CommandType::Close.
...
- This was not actually closing sessions before.
2021-05-10 20:34:38 -07:00
bunnei
41928dfdda
hle: service: sm: Use RegisterNamedService to register the service.
2021-05-10 20:34:38 -07:00
bunnei
934b2d8842
hle: service: sm: Improve Initialize implementation.
2021-05-10 20:34:38 -07:00
bunnei
f54ea749a4
hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.
2021-05-10 20:34:38 -07:00
bunnei
c6de9657be
hle: kernel: Implement named service ports using service interface factory.
...
- This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
2021-05-10 20:34:38 -07:00
bunnei
44c763f9c6
hle: kernel: KSession: Improve implementation of CloneCurrentObject.
2021-05-10 20:33:53 -07:00
bunnei
cfed6936f3
hle: service: sm: Increase point buffer size.
2021-05-10 15:43:42 -07:00
bunnei
9f44a44f2f
hle: ipc_helpers: Reserve session resource when we create a KSession.
2021-05-10 15:42:46 -07:00
bunnei
75f23ad494
hle: kernel: KClientPort: Cleanup comment format.
2021-05-10 15:41:46 -07:00
bunnei
7a06037c5f
hle: ipc: Add declarations for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
ed25191ee6
hle: kernel: Further cleanup and add TIPC helpers.
2021-05-10 15:05:10 -07:00
bunnei
d08bd3e062
hle: ipc_helpers: Update IPC response generation for TIPC.
2021-05-10 15:05:10 -07:00
Kewlan
1b4331397b
configure_ui: Call RequestGameListUpdate when toggling "Show Add-Ons Column"
2021-05-10 18:49:30 +02:00
Lioncash
0aff3ba2ff
parent_of_member: Make sign conversion explicit in OffsetOfImpl()
...
Previously these conversions were implicit and causing quite a few
warnings on clang.
2021-05-10 08:07:33 -04:00
bunnei
ec50a9b5b9
Merge pull request #6291 from lioncash/kern-shadow
...
kernel: Eliminate variable shadowing
2021-05-09 20:15:00 -07:00
german77
0c1bb46f0a
kernel: Delete unused files
2021-05-09 11:15:31 -05:00
Lioncash
2f62bae9e3
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
bunnei
faa067f175
Merge pull request #6266 from bunnei/kautoobject-refactor
...
Kernel Rework: Migrate kernel objects to KAutoObject
2021-05-07 23:30:17 -07:00
ameerj
3671fd0a97
texture_cache: Handle out of bound texture blits
...
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
2021-05-07 22:14:21 -04:00
bunnei
8acf739b3f
Merge pull request #6287 from lioncash/ldr-copy
...
ldr: Simplify memory copy within LoadNro()
2021-05-07 09:46:31 -07:00
Lioncash
8f638e81e9
ldr: Simplify memory copy within LoadNro()
...
We can use the dedicated memory function for performing copies instead
of reading into a temporary buffer and then immediately writing it back
out to memory.
Eliminates a bit of heap memory churn.
2021-05-06 19:18:14 -04:00
ameerj
da62e92784
nvflinger: Create layers when they are queried but not found
...
Fixes Shantae softlock on boot.
2021-05-06 11:20:52 -04:00
bunnei
d57b12193b
hle: kernel: KPageTable: CanContain should not be constexpr.
2021-05-05 16:40:55 -07:00
bunnei
b805ee653f
hle: kernel: Move slab resource counts to Kernel.
2021-05-05 16:40:54 -07:00
bunnei
d2c4dbde9e
fixup! hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
2c4615f3a6
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
a488b86e97
fixup! common: bit_util: Add BIT macro.
2021-05-05 16:40:54 -07:00
bunnei
510f71d871
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
9f81221528
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
eae107d0e9
kernel: svc: Remove unused RetrieveResourceLimitValue function.
2021-05-05 16:40:54 -07:00
bunnei
da22def511
hle: kernel: Fix un/sign mismatch errors with NUM_CPU_CORES.
2021-05-05 16:40:54 -07:00
bunnei
f23760b1e1
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:54 -07:00
bunnei
1e983b19df
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
ad5a5ef43f
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
e02785be83
common: parent_of_member: Fix build for OffsetOf().
2021-05-05 16:40:54 -07:00
bunnei
27a6ef64fd
fixup! common: intrusive_red_black_tree: Disable static_assert that will not evaluate as constant on MSVC.
2021-05-05 16:40:54 -07:00
bunnei
9434603450
fixup! hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
703d7aaab6
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
9beb239634
fixup! hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:54 -07:00
bunnei
2cdc7142b0
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
34abe4a905
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
f6d45b747e
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
1b074b8984
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
50d2dc3b51
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
d23f9f75ff
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
4356361faf
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
51aa5a5364
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
25538db150
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
9bae3992e6
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
91d8657959
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:53 -07:00
bunnei
d3c166d4d5
common: Rename NON_COPYABLE/NON_MOVABLE with YUZU_ prefix.
2021-05-05 16:40:53 -07:00
bunnei
0536004d91
fixup! hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:53 -07:00
bunnei
57f80c74b6
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
caa11748c6
fixup! hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:53 -07:00
bunnei
7866eb03bb
hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.
2021-05-05 16:40:53 -07:00
bunnei
4b03e6e776
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
8f5052a514
hle: kernel: KClassToken: Ensure class tokens are correct.
2021-05-05 16:40:53 -07:00
bunnei
0b27c721c9
hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:52 -07:00
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
864841eb9e
hle: kernel: Do not shutdown twice on emulator close.
2021-05-05 16:40:52 -07:00
bunnei
39a8dba9a6
hle: kernel: Cleanup shutdown of persistent kernel objects.
2021-05-05 16:40:52 -07:00
bunnei
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
7a06864100
hle: kernel: Migrate KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
0297448fbc
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
aa2844bcf9
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
bunnei
b57c5a9b54
hle: kernel: Migrate KResourceLimit to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
674122038a
hle: kernel: svc: Migrate WaitSynchronization.
2021-05-05 16:40:51 -07:00
bunnei
126aaeb6d3
hle: kernel: svc: Use new handle table API for Process.
2021-05-05 16:40:51 -07:00
bunnei
c7d8b7421c
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
2cb6106523
hle: kernel: svc: Migrate GetThreadContext, GetThreadCoreMask.
2021-05-05 16:40:51 -07:00
bunnei
76a0814142
hle: kernel: svc: Migrate GetProcessId, CancelSynchronization, SetThreadActivity.
2021-05-05 16:40:51 -07:00
bunnei
84bb772003
hle: kernel: KThread: Remove incorrect resource release.
2021-05-05 16:40:51 -07:00
bunnei
269d233a94
hle: kernel: svc_results: Update naming..
2021-05-05 16:40:51 -07:00
bunnei
c2f6f2ba7a
hle: kernel: KThread: Add missing resource hint release.
2021-05-05 16:40:51 -07:00
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
eba3bb9d21
hle: ipc_helpers: Add methods for copy/move references.
2021-05-05 16:40:51 -07:00
bunnei
cfa7b92563
hle: kernel: Move slab heaps to their own container.
2021-05-05 16:40:51 -07:00
bunnei
89edbe8aa2
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
2021-05-05 16:40:51 -07:00
bunnei
b6156e735c
hle: kernel: Move slab heap management to KernelCore.
2021-05-05 16:40:51 -07:00
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
722195cf70
hle: kernel: Use unique_ptr for suspend and dummy threads.
2021-05-05 16:40:50 -07:00
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
086db71e94
hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
7ccbdd4d8d
hle: kernel: Migrate KProcess to KAutoObject.
2021-05-05 16:40:50 -07:00