Lioncash
c04203b786
nvdec: Tidy up header includes
...
Prevents a few unnecessary inclusions.
2020-10-27 02:16:42 -04:00
bunnei
941563f981
yuzu: settings: Enable multicore, asynch GPU, and assembly shaders by default.
...
- In general, this is now the preferred settings for most games.
# Conflicts:
# src/yuzu/configuration/config.cpp
2020-10-26 23:13:05 -07:00
bunnei
d33399e1f4
Merge pull request #4729 from ameerj/nvdec-prod
...
video_core: NVDEC Implementation
2020-10-26 23:02:42 -07:00
ReinUsesLisp
ce69ff2890
hle/kernel: Remove unused registered_core_threads to fix data races
...
This member was only used on asserts and it triggered data races.
Remove it to fix them.
2020-10-27 01:55:39 -03:00
bunnei
c7f32931ee
Merge pull request #4832 from bunnei/cpu-manager-microprofile-fix
...
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
2020-10-26 21:29:09 -07:00
bunnei
1828f82000
Merge pull request #4833 from bunnei/timezonemanager-explicit
...
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 21:28:45 -07:00
ameerj
eb67a45ca8
video_core: NVDEC Implementation
...
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
Async GPU is not properly implemented at the moment.
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26 23:07:36 -04:00
bunnei
9f08cea2c4
Merge pull request #4834 from lioncash/copy-fn
...
controller: Pass ControllerParameters by reference in ReconfigureControllers()
2020-10-26 18:49:26 -07:00
lat9nq
8bd246032a
kernel: Use the current time as the default RNG seed
...
Use the current time, not zero, as the default RNG seed.
2020-10-26 21:42:11 -04:00
Lioncash
6b5f565324
controller: Pass ControllerParameters by reference in ReconfigureControllers()
...
Prevents unnecessary copies and heap reallocations from occurring.
2020-10-26 21:06:15 -04:00
bunnei
3984bb6def
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 16:11:45 -07:00
bunnei
54aabb00b0
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
...
- Fixes an occasional crash when trying to launch subsequent games.
2020-10-26 16:09:15 -07:00
Rodrigo Locatti
2f6ba54483
Merge pull request #4827 from lioncash/trunc
...
controller: Convert led_patterns integer literals to bool literals
2020-10-25 16:56:30 -03:00
Rodrigo Locatti
ae3a755d13
Merge pull request #4828 from lioncash/lockguard
...
general: Use template deduction guides for lock_guard
2020-10-25 16:55:54 -03:00
Lioncash
98f4c5e7b8
general: Use template deduction guides for lock_guard
...
Same behavior, less code.
2020-10-25 13:53:22 -04:00
Lioncash
061a63547f
controller: Convert led_patterns integer literals to bool literals
...
'bool' isn't always guaranteed to be the same size as an int, so this
can technically cause truncation warnings if we support other platforms.
2020-10-25 13:44:12 -04:00
Morph
9afbcd9e8a
applets/profile_select: Resolve a warning in exec()
...
Resolves a warning where not all control paths return a value.
2020-10-25 09:16:43 -04:00
bunnei
ab052cf684
Merge pull request #4817 from Kewlan/open-single-save-location
...
main/profile_select: Don't ask for profile when there's only one.
2020-10-24 03:02:19 -07:00
LC
6f6d83befa
Merge pull request #4816 from Morph1984/controller-disconnect-fix
...
sdl_impl: Fix controller reconnection issues
2020-10-23 13:53:51 -04:00
bunnei
3e46934442
Merge pull request #4706 from ReinUsesLisp/cmake-host-shaders
...
video_core: Fix instances where msbuild always regenerated host shaders
2020-10-23 10:01:16 -07:00
bunnei
e7042163c8
Merge pull request #4792 from bunnei/rtc-fix
...
service: time: Update current time with changes to RTC setting.
2020-10-22 20:46:54 -07:00
Kewlan
85b5b816cf
Don't ask for profile when there's only one.
2020-10-22 11:16:56 +02:00
Lioncash
ea20b5c970
core: Fix clang build pt.3
...
Should finally resolve building with clang.
2020-10-21 22:14:23 -04:00
Morph
2f852f182a
sdl_impl: Fix controller reconnection issues
...
It turns out that after a controller is disconnected, there is a chance that events from the previous controller are sent/processed after it has been disconnected.
This causes the previously disconnected controller to reappear as connected due to GetSDLJoystickBySDLID() emplacing this controller back to the map.
Fix this by only returning an SDLJoystick if and only if it exists in the map.
2020-10-21 09:41:30 -04:00
bunnei
1fc61d09d3
Merge pull request #4811 from lioncash/warn-video
...
video_core: Conditially activate relevant compiler warnings
2020-10-20 20:59:37 -07:00
Lioncash
e408bd3b7c
core: Fix clang build pt.2
...
Resolves the clang build issue in a more unintrusive way.
2020-10-20 22:16:03 -04:00
bunnei
3d592972dc
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
Lioncash
678d012c2c
video_core: Conditially activate relevant compiler warnings
...
These compiler flags aren't shared with clang, so specifying these flags
unconditionally can lead to a bit of warning spam.
While we're in the area, we can also enable -Wunused-but-set-parameter
given this is almost always a bug.
2020-10-20 20:28:25 -04:00
Lioncash
fdd9154069
kernel: Fix build with recent compiler flag changes
...
This slipped through the cracks due to another change being merged
before the compiler flag changes.
2020-10-20 20:23:18 -04:00
LC
536c51912d
Merge pull request #4807 from ReinUsesLisp/glasm-robust-ssbo
...
gl_arb_decompiler: Implement robust buffer operations
2020-10-20 19:19:38 -04:00
LC
88d5140cf2
Merge pull request #4796 from lioncash/clang
...
core: Fix clang build
2020-10-20 19:19:12 -04:00
bunnei
940c3bf68d
Merge pull request #4390 from ogniK5377/get-applet-inf-stub
...
nifm: GetAppletInfo stub
2020-10-20 15:59:19 -07:00
LC
ea8345cdcd
Merge pull request #4809 from Morph1984/mjolnir-p3
...
configure_input_player: Fix modifier buttons
2020-10-20 15:00:06 -04:00
bunnei
e03dc4d569
Merge pull request #4627 from Morph1984/fix-dinput-controller-disconnect
...
sdl_impl: Erase the SDLJoystick entry after removing a controller
2020-10-20 11:40:06 -07:00
Morph
ff82f3894a
configure_input_player: Fix modifier buttons
...
Fix them for real this time, now they finally work.
2020-10-20 14:23:25 -04:00
ReinUsesLisp
f21a189148
gl_arb_decompiler: Implement robust buffer operations
...
This emulates the behavior we get on GLSL with regular SSBOs with a
pointer + length pair. It aims to be consistent with the crashes we
might get.
Out of bounds stores are ignored. Atomics are ignored and return zero.
Reads return zero.
2020-10-20 03:34:32 -03:00
David Marcec
298b50e220
Added remaining params
2020-10-20 16:45:01 +11:00
David Marcec
acd35e1b60
nifm: GetAppletInfo stub
...
Fixes crash for Catherine Full Body
2020-10-20 16:42:40 +11:00
bunnei
60bd54776a
Merge pull request #4788 from ReinUsesLisp/lockfree-host-thread
...
kernel: Implement host thread register methods without locking
2020-10-19 22:31:52 -07:00
bunnei
e7a26ecec5
Merge pull request #4785 from Morph1984/fs-hades
...
filesystem: Fix CreateDirectory and DeleteFile
2020-10-19 16:04:01 -07:00
bunnei
f1ead11df7
Merge pull request #4204 from ReinUsesLisp/vulkan-1.0
...
renderer_vulkan: Create and properly use Vulkan 1.0 instances when 1.1 is not available
2020-10-19 14:18:54 -07:00
bunnei
598ef6b0b3
Merge pull request #4802 from lioncash/bcat
...
core: Add boxcat sources with target_sources
2020-10-19 12:40:49 -07:00
bunnei
54b977acaa
Merge pull request #4783 from bunnei/nvdrv-freespace
...
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
2020-10-18 12:41:18 -07:00
Lioncash
0ab7bfdfce
core: Add boxcat sources with target_sources
...
Same behavior, minus a script variable.
2020-10-18 08:09:06 -04:00
bunnei
2190f1a2b7
Merge pull request #4801 from lioncash/missing-bound
...
mii/manager: Make use of unused lower bound in GetRandomValue()
2020-10-17 23:32:40 -07:00
bunnei
743fe1aea3
Merge pull request #4782 from ReinUsesLisp/remove-dyn-primitive
...
vk_graphics_pipeline: Manage primitive topology as fixed state
2020-10-17 22:14:17 -07:00
Lioncash
be1954e04c
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
Lioncash
c1577f3448
mii/manager: Make use of unused lower bound in GetRandomValue()
...
Previously, the lower bound wasn't being used and zero was being used as
the lower bound every time this function was called.
This affects the outcome of some of the randomized entries a little bit,
for example, the lower-bound for beard and mustache flags was supposed
to be 1, not 0.
Aside from these cases, the bug didn't affect anything else.
2020-10-17 09:50:04 -04:00
bunnei
1eb908bc88
Merge pull request #4797 from bunnei/bcat-errors
...
service: bcat: Check client connection before interacting with socket.
2020-10-16 23:28:40 -07:00
bunnei
363c644730
service: bcat: Check client connection before interacting with socket.
...
- Fixes a crash when BCAT service is offline.
2020-10-16 21:16:56 -07:00
Lioncash
30b1e71066
udp/client: Make use of designated initializers in TestCommunication()
...
Same behavior, but makes the callback list nicer to look at.
2020-10-16 06:23:51 -04:00
Lioncash
36cfb234d5
udp/client: Take std::function by const reference with TestCommunication()
...
Avoids redundant copies.
2020-10-16 06:22:29 -04:00
Morph
7b3f5845d2
sdl_impl: Erase the SDLJoystick entry after removing a controller
...
Previously, disconnecting a controller still leaves a null SDLJoystick entry within the vector of SDLJoysticks mapped by GUID.
When a DirectInput device of the same GUID is reconnected, it adds that device to a new port causing non-detectable input.
Furthermore, opening the "Configure" menu would cause yuzu to crash since it first tries to resolve the name of a null SDLJoystick entry that was not removed.
Resolve this by properly erasing the SDLJoystick entry from the vector.
2020-10-16 00:04:59 -04:00
bunnei
64f967fd49
Merge pull request #4790 from lioncash/input-common
...
input_common/CMakeLists: Make some warnings errors
2020-10-15 20:59:34 -07:00
bunnei
dbd1662ae2
Merge pull request #4784 from bunnei/cancelbuffer
...
hle: service: vi: Implement BufferQueue::CancelBuffer.
2020-10-15 19:57:27 -07:00
Lioncash
046c0c91a3
input_common/CMakeLists: Make some warnings errors
...
Makes the input_common code warnings consistent with the rest of the
codebase.
2020-10-15 19:37:51 -04:00
bunnei
1d714c8c7f
service: acc: Stub IManagerForApplication::StoreOpenContext.
...
- Used by Super Mario 3D All-Stars.
2020-10-14 20:06:33 -07:00
bunnei
d47ac3ce09
Merge pull request #4772 from goldenx86/block-rdna
...
vk_device: Block VK_EXT_extended_dynamic_state for RDNA devices
2020-10-14 17:51:39 -07:00
bunnei
1f186f34a2
hle: service: vi: Implement BufferQueue::CancelBuffer.
...
- This is used by Super Mario 3D All-Stars.
2020-10-13 22:11:52 -07:00
ReinUsesLisp
b9a9b83bee
kernel: Implement host thread register methods without locking
...
Locks on GetCurrentHostThreadID were causing performance issues
according to Visual Studio's profiler. It was consuming twice the time
as arm_interface.Run(). The cost was not in the function itself but in
the lockinig it required.
Reimplement these functions using atomics and static storage instead of
an unordered_map. This is a side effect to avoid locking and using linked
lists for reads.
Replace unordered_map with a linear search.
2020-10-13 18:00:25 -03:00
Lioncash
9f9b64d280
audio_core/CMakeLists: Make warnings consistent with core
...
Normalizes the warnings shared between audio_core and core.
2020-10-13 16:36:58 -04:00
Lioncash
39c8d18feb
core/CMakeLists: Make some warnings errors
...
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.
This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
ReinUsesLisp
e4e0abc418
vk_graphics_pipeline: Manage primitive topology as fixed state
...
Vulkan has requirements for primitive topologies that don't play nicely
with yuzu's. Since it's only 4 bits, we can move it to fixed state
without changing the size of the pipeline key.
- Fixes a regression on recent Nvidia drivers on Fire Emblem: Three
Houses.
2020-10-13 04:08:33 -03:00
Morph
8db3feae19
filesystem: Fix CreateDirectory and DeleteFile
...
Add a check if dir is nullptr (does not exist)
Fixes save game creation in Hades
2020-10-13 00:57:04 -04:00
bunnei
62c6c9f6a6
service: time: Update current time with changes to RTC setting.
...
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
2020-10-12 18:09:15 -07:00
bunnei
d291fc1a51
Merge pull request #3929 from FearlessTobi/ticket-keys
...
file_sys/nsp: Make SetTicketKeys actually do something
2020-10-12 17:58:36 -07:00
bunnei
b260847218
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
...
- This is used by Super Mario 3D All-Stars.
2020-10-12 17:39:14 -07:00
bunnei
4c348f4069
Merge pull request #4766 from ReinUsesLisp/tmml-cube
...
shader/texture: Implement CUBE texture type for TMML and fix arrays
2020-10-12 12:53:57 -07:00
bunnei
419a59a7b1
Merge pull request #4775 from ReinUsesLisp/enforce-class-memaccess
...
video_core: Enforce -Wclass-memaccess
2020-10-09 23:38:02 -07:00
bunnei
f250011ba0
Merge pull request #4757 from german77/BetterMotion
...
InputCommon: Add compatibility with only accelerometer and auto calibrate for drift
2020-10-09 23:37:08 -07:00
ReinUsesLisp
e1600b0962
video_core: Enforce -Wclass-memaccess
2020-10-09 16:46:11 -03:00
LC
61b246a3a9
Merge pull request #4771 from ReinUsesLisp/warn-unused-var
...
video_core: Enforce -Wunused-variable and -Wunused-but-set-variable
2020-10-08 21:10:31 -04:00
goldenx86
0120e5b1d9
vk_device: Block VK_EXT_extended_dynamic_state for RDNA devices
...
RDNA devices seem to crash when using VK_EXT_extended_dynamic_state in
the latest 20.9.2 proprietary Windows drivers. As a workaround, for now
we block device names corresponding to current RDNA released products.
2020-10-08 21:27:49 -03:00
bunnei
06e65de93c
Merge pull request #4677 from german77/ShakeFromButton
...
InputCommon: Add random motion input for buttons
2020-10-08 10:18:39 -07:00
Rodrigo Locatti
7a99226785
Merge pull request #4765 from ReinUsesLisp/fix-sort-devices
...
renderer_vulkan/wrapper: Fix physical device sorting
2020-10-08 00:54:44 -03:00
ReinUsesLisp
dffaffaac1
shader/texture: Implement CUBE texture type for TMML and fix arrays
...
TMML takes an array argument that has no known meaning, this one appears
as the first component in gpr8 followed by s, t and r. Skip this
component when arrays are being used. Also implement CUBE texture types.
- Used by Pikmin 3: Deluxe Demo.
2020-10-07 23:17:46 -03:00
bunnei
3446eb79b5
Merge pull request #4731 from lat9nq/mingw-zstd-fix
...
common: Use system zstd on Linux
2020-10-07 17:57:14 -07:00
bunnei
92adb69fa7
Merge pull request #4736 from Morph1984/home-button-input-protection-stub
...
hid: Stub HomeButtonInputProtection service commands
2020-10-07 14:54:05 -07:00
ReinUsesLisp
cd3e959f23
renderer_vulkan/wrapper: Fix physical device sorting
...
The old code had a sort function that was invalid and it didn't work as
expected when the base vector had a different order (e.g. renderdoc was
attached).
This sorts devices as expected and fixes a debug assert on MSVC.
2020-10-07 17:13:22 -03:00
bunnei
cc0dc3280d
Merge pull request #4710 from Morph1984/fix-integrated-updates
...
submission_package: Fix updates integrated into cartridge images.
2020-10-06 22:27:52 -07:00
bunnei
32b4627a9c
Merge pull request #4737 from Morph1984/setshimlibraryversion-stub
...
capsrv: Stub 3 variants of SetShimLibraryVersion
2020-10-06 21:39:38 -07:00
bunnei
e9b81e9f01
Merge pull request #4727 from FrogTheFrog/patch-1
...
Reduce the "shake" requirements when configuring UDP.
2020-10-06 15:29:28 -07:00
bunnei
614bd0ee8c
Merge pull request #4742 from german77/InputFilter
...
HID: Only use inputs corresponding to controller type
2020-10-05 21:40:09 -07:00
german
a54aee290f
Address comments
2020-10-04 18:15:53 -05:00
german
a220d8799e
Add compatibility with only accelerometer and auto calibrate for drift
2020-10-03 22:22:01 -05:00
ReinUsesLisp
2a24b1c973
video_core: Enforce -Wunused-variable and -Wunused-but-set-variable
2020-10-02 21:19:35 -03:00
bunnei
182cf7d631
Merge pull request #4734 from german77/motionfusion
...
HID: Add Stub for EnableSixAxisSensorFusion
2020-10-01 22:39:39 -07:00
german
2f47b27654
Only use inputs corresponding to controller type
2020-10-01 19:39:53 -05:00
german
283616dbd8
Stubbed EnableSixAxisSensorFusion
2020-09-30 10:00:24 -05:00
David
4d0ae1a17a
Merge pull request #4291 from german77/ImplementControllerRumble
...
input_common: First implementation of controller rumble
2020-09-30 21:24:11 +10:00
David
f7808f5658
Merge pull request #4726 from lioncash/applet
...
frontend/controller: Eliminate dependency on the global system instance
2020-09-30 21:22:45 +10:00
Morph
91bd2281bf
caps_c: Stub SetShimLibraryVersion
...
- Used by caps_su SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
7d287a6fb0
caps_u: Stub SetShimLibraryVersion
...
- Used in Super Smash Bros. Ultimate
2020-09-30 07:19:46 -04:00
Morph
9a251339dc
caps_su: Properly stub SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
6380731486
hid: Stub HomeButtonInputProtection service commands
...
- Used in 1-2 Switch. Given that we do not emulate the functionality of the home button yet, we can stub this for now.
2020-09-30 06:38:24 -04:00
LC
1ba0b077fc
Merge pull request #4733 from ReinUsesLisp/game-list-leak
...
qt/game_list: Give GameListSearchField::KeyReleaseEater a parent
2020-09-30 05:54:18 -04:00
LC
cb56eaee41
Merge pull request #4732 from ReinUsesLisp/wall-clock-destr
...
common/wall_clock: Add virtual destructors
2020-09-30 05:53:12 -04:00
LC
3665a05488
Merge pull request #4735 from goldenx86/patch-1
...
Remove ext_extended_dynamic_state blacklist
2020-09-30 05:52:47 -04:00
bunnei
392c1b96bc
Merge pull request #4705 from german77/SplitMotionPoller
...
HID: Use different timing for motion
2020-09-30 01:04:22 -07:00
Lukas Senionis
6ee1a784b8
Reduce the "shake" requirements when configuring UDP.
2020-09-30 10:30:33 +03:00
Matías Locatti
d7843b8ef2
Remove ext_extended_dynamic_state blacklist
...
Latest AMD 20.9.2 driver fixed this, there's no reason to keep it blocked, as the previous stable signed driver release doesn't include the extension.
2020-09-30 03:13:38 -03:00
ReinUsesLisp
771a9c21cc
common/wall_clock: Add virtual destructors
...
From -fsanitize=address, this code wasn't calling the proper destructor.
Adding virtual destructors for each inherited class and the base class
fixes this bug.
While we are at it, mark the functions as final.
2020-09-30 02:53:34 -03:00
bunnei
a1e3f6e27b
Merge pull request #4728 from Morph1984/applets-on-top
...
main: Allow applets to display on top while fullscreen
2020-09-29 15:46:44 -07:00
bunnei
09609dd50e
Merge pull request #4721 from lioncash/genfn
...
codec: Make lookup table static constexpr
2020-09-29 15:16:24 -07:00
bunnei
2a82f1b08b
Merge pull request #4722 from lioncash/casting
...
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback()
2020-09-29 15:09:12 -07:00
bunnei
02ea62568f
Merge pull request #1703 from DarkLordZach/nvdec-ioctl
...
nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies
2020-09-29 15:00:48 -07:00
ReinUsesLisp
ae6df703f5
qt/game_list: Give GameListSearchField::KeyReleaseEater a parent
...
This fixes a memory leak as KeyReleaseEater's destructor was never
called.
2020-09-29 16:23:16 -03:00
german
ab88c2f611
First implementation of controller rumble
2020-09-29 10:38:25 -04:00
lat9nq
2cbce77b92
CMakeLists: use system zstd on Linux
...
From what I understand, this tells CMake to use the system, not conan,
version of zstd. Required to build on the coming MinGW Docker container.
2020-09-28 21:11:39 -04:00
lat9nq
9d665cb8db
CMakeLists: fix for finding zstd on linux-mingw
2020-09-28 20:28:47 -04:00
bunnei
a8be822e8e
Merge pull request #4719 from lioncash/audio-warn
...
audio_core: Resolve sign conversion warnings
2020-09-27 01:52:59 -07:00
Rodrigo Locatti
e5a1e0a76d
Merge pull request #4724 from lat9nq/fix-vulkan-nvidia-allocate-2
...
vk_stream_buffer: Fix initializing Vulkan with NVIDIA on Linux
2020-09-26 23:52:49 +00:00
bunnei
442096298e
Merge pull request #4703 from lioncash/desig7
...
shader/registry: Make use of designated initializers where applicable
2020-09-26 15:23:15 -07:00
Morph
86e4aa81e9
main: Allow applets to display on top while fullscreen
...
Using the Qt::WindowStaysOnTopHint flag allows these dialogs to show up on top while running in fullscreen. However, if yuzu goes out of focus (by alt-tabbing or otherwise), this flag does not seem to have an effect.
2020-09-26 06:55:47 -04:00
bunnei
fbb5ca2633
Merge pull request #4718 from lioncash/vk
...
vk_command_pool: Add missing header guard
2020-09-26 00:13:48 -07:00
bunnei
891090799c
Merge pull request #4720 from lioncash/header
...
audio_core: Remove unnecessary inclusions
2020-09-25 22:04:26 -07:00
Lioncash
5c4e237902
core: Mark GetInstance() as deprecated
...
This way it's obvious that this function shouldn't be used in any future
code.
2020-09-25 19:23:23 -04:00
Lioncash
3e4a0a13cb
frontend/controller: Eliminate dependency on the global system instance
2020-09-25 19:23:20 -04:00
german
2978232390
Add random motion input to keyboard
2020-09-25 17:59:52 -05:00
german
03b574ae22
Add random motion input to SDL
2020-09-25 17:59:52 -05:00
Lioncash
90c6141164
command_generator: Make lookup table static constexpr
...
Allows compilers to elide needing to push these values on the stack
every time the function is called.
2020-09-25 18:33:04 -04:00
lat9nq
ca26fd0f42
vk_stream_buffer: Fix initializing Vulkan with NVIDIA on Linux
...
The previous fix only partially solved the issue, as only certain GPUs that needed 9 or less MiB subtracted would work (i.e. GTX 980 Ti, GT 730). This takes from DXVK's example to divide `heap_size` by 2 to determine `allocable_size`. Additionally tested on my Quadro K4200, which previously required setting it to 12 to boot.
2020-09-25 17:42:59 -04:00
Lioncash
dc83ca8914
behavior_info: Fix typo Renerer -> Renderer
2020-09-25 17:14:02 -04:00
Lioncash
4073931305
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback()
...
Conversions from void* to the proper data type are well-defined and
supported by static_cast. We don't need to use reinterpret_cast here.
2020-09-25 17:10:02 -04:00
Lioncash
7c0908f301
codec: Make lookup table static constexpr
...
Allows compilers to elide needing to push these values on the stack
every time the function is called.
2020-09-25 14:24:25 -04:00
Lioncash
966966dc02
audio_core: Remove unnecessary inclusions
...
Same behavior, but removes header dependencies where they don't need to
be.
2020-09-25 13:19:42 -04:00
Lioncash
8b4ecf22d4
audio_core: Resolve sign conversion warnings
...
While were at it, we can also enable sign conversion warnings and other
common warnings as errors to prevent these from creeping back into the
codebase.
2020-09-25 01:22:47 -04:00
Lioncash
111852a983
effect_context: Make use of explicit where applicable
...
While we're at it we can make the destructor of the base class virtual
to ensure that any polymorphism issues never occur.
2020-09-25 00:27:11 -04:00
Lioncash
940d85241b
vk_command_pool: Move definition of Pool into the cpp file
...
Allows the implementation details to be changed without recompiling any
files that include this header.
2020-09-25 00:15:52 -04:00
Lioncash
4ed4bba305
vk_command_pool: Make use of override on destructor
2020-09-25 00:14:10 -04:00
Lioncash
e0f2db4376
vk_command_pool: Add missing header guard
2020-09-25 00:12:45 -04:00
LC
4d4afc1502
Merge pull request #4717 from lioncash/debug
...
service: Restore "unused" function
2020-09-25 00:07:19 -04:00
Lioncash
f3a1bf53f9
service: Restore "unused" function
...
Turns out this function is actually used, but within a trace log.
2020-09-25 00:06:40 -04:00
bunnei
2634e3c6eb
Merge pull request #4711 from lioncash/move5
...
arithmetic_integer_immediate: Make use of std::move where applicable
2020-09-24 21:02:42 -07:00
Morph
3602df7f1f
submission_package: Fix updates integrated into cartridge images.
2020-09-24 17:23:14 -04:00
bunnei
fa4294cc6f
Merge pull request #4678 from Morph1984/LoadOpenContext-partial-impl
...
acc: Partially implement LoadOpenContext
2020-09-24 11:21:25 -07:00
Lioncash
e3a615a616
arithmetic_integer_immediate: Make use of std::move where applicable
...
Same behavior, minus any redundant atomic reference count increments and
decrements.
2020-09-24 13:28:45 -04:00
ReinUsesLisp
67af0323f0
video_core: Fix instances where msbuild always regenerated host shaders
...
When HEADER_GENERATOR was included in the DEPENDS section of custom
commands, msbuild assumed this was always modified. Changing this file
is not common so we can remove it from there.
2020-09-23 22:27:17 -03:00
bunnei
d66b897a6d
Merge pull request #4674 from ReinUsesLisp/timeline-semaphores
...
renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore
2020-09-23 18:24:27 -07:00
german
ddff03cff5
Use different timing for motion
2020-09-23 19:09:33 -05:00
bunnei
10e8acc451
Merge pull request #4618 from german77/GcAdapterAutoMap
...
Add automap feature for GC adapter
2020-09-23 15:55:26 -07:00
Lioncash
77532ebde3
shader/registry: Silence a -Wshadow warning
2020-09-23 15:10:25 -04:00
Lioncash
cd6f4f7eed
shader/registry: Remove unnecessary namespace qualifiers
...
Using statements already make these unnecessary.
2020-09-23 15:08:34 -04:00
Rodrigo Locatti
8b0f334e0c
Merge pull request #4702 from lioncash/doc-warn
...
memory: Resolve a -Wdocumentation warning
2020-09-23 19:07:47 +00:00
Rodrigo Locatti
c307ae2402
Merge pull request #4701 from lioncash/unused-proto
...
install_dialog: Remove unused function prototype
2020-09-23 19:07:27 +00:00
Rodrigo Locatti
6d9661939f
Merge pull request #4700 from lioncash/copies
...
game_list: Eliminate redundant argument copies
2020-09-23 19:06:47 +00:00
Lioncash
ffeb4ef83e
shader/registry: Make use of designated initializers where applicable
...
Same behavior, less repetition.
2020-09-23 15:06:25 -04:00
Lioncash
b14d344dfc
memory: Resolve a -Wdocumentation warning
...
memory doesn't exist as a parameter any more.
2020-09-23 13:39:27 -04:00
Lioncash
aa35e51fcd
install_dialog: Make use of [[nodiscard]] where applicable
...
Allows the compiler to warn against cases where the return value isn't
used (which would be a bug).
2020-09-23 13:22:04 -04:00
Lioncash
e107870bc8
install_dialog: Remove unused function prototype
...
This function doesn't have an implementation, so it can be removed to
prevent others from unintentionally using it.
2020-09-23 13:20:12 -04:00
Lioncash
f43a1da808
game_list: Make game list function naming consistent
...
Makes the naming consistent with the rest of the functions that are
present.
2020-09-23 11:28:11 -04:00
Lioncash
d264b7375c
game_list: Eliminate redundant argument copies
...
Several functions can be taken by const reference to avoid copies
2020-09-23 11:20:12 -04:00
Lioncash
0dc6967ff1
control_flow: emplace elements in place within TryQuery()
...
Places data structures where they'll eventually be moved to to avoid
needing to even move them in the first place.
2020-09-22 22:54:36 -04:00
Lioncash
fcd0145eb5
control_flow: Make use of std::move in InsertBranch()
...
Avoids unnecessary atomic increments and decrements.
2020-09-22 22:48:09 -04:00
Lioncash
ff45c39578
General: Make use of std::nullopt where applicable
...
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
2020-09-22 17:32:33 -04:00
Lioncash
a881efbf26
ips_layer: Eliminate a redundant copy in Parse()
...
Prevents unnecessary copying of the line being parsed.
2020-09-22 16:38:45 -04:00
bunnei
53829d4cbd
Merge pull request #4675 from Morph1984/fix-boot-multicontent
...
submission_package: Account for multi-content NSPs
2020-09-21 16:36:46 -07:00
Morph
7a504a9365
acc: Stub LoadOpenContext
...
This is used in multiple games such as:
- Clubhouse Games: 51 Worldwide Classics
- Grandia HD Collection
- XCOM 2 Collection
- Baldur's Gate 1/2
- Dr Kawashima's Brain Training
- Super Mario 3D All-Stars
2020-09-21 01:01:02 -04:00
Rodrigo Locatti
a2eb44db82
Merge pull request #4692 from ReinUsesLisp/remove-vsync
...
renderer_opengl: Remove emulated mailbox presentation
2020-09-21 00:21:32 +00:00
bunnei
754109fd54
Merge pull request #4683 from Morph1984/NpadHandheldActivationMode-impl
...
hid: Implement Get/SetNpadHandheldActivationMode
2020-09-20 12:39:20 -07:00
ReinUsesLisp
7003090187
renderer_opengl: Remove emulated mailbox presentation
...
Emulated mailbox presentation was causing performance issues on
Nvidia's OpenGL driver. Remove it.
2020-09-20 16:29:41 -03:00
bunnei
8a85a562ed
Merge pull request #4643 from FearlessTobi/decrease-pad-update-interval
...
Test: Decrease pad_update_ns
2020-09-19 00:39:50 -07:00
ReinUsesLisp
4f5bbe56ba
vk_query_cache: Hack counter destructor to avoid reserving queries
...
This is a hack to destroy all HostCounter instances before the base
class destructor is called. The query cache should be redesigned to have
a proper ownership model instead of using shared pointers.
For now, destroy the host counter hierarchy from the derived class
destructor.
2020-09-19 01:47:29 -03:00
ReinUsesLisp
58b0ae84b5
renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore
...
This reworks how host<->device synchronization works on the Vulkan
backend. Instead of "protecting" resources with a fence and signalling
these as free when the fence is known to be signalled by the host GPU,
use timeline semaphores.
Vulkan timeline semaphores allow use to work on a subset of D3D12
fences. As far as we are concerned, timeline semaphores are a value set
by the host or the device that can be waited by either of them.
Taking advantange of this, we can have a monolithically increasing
atomic value for each submission to the graphics queue. Instead of
protecting resources with a fence, we simply store the current logical
tick (the atomic value stored in CPU memory). When we want to know if a
resource is free, it can be compared to the current GPU tick.
This greatly simplifies resource management code and the free status of
resources should have less false negatives.
To workaround bugs in validation layers, when these are attached there's
a thread waiting for timeline semaphores.
2020-09-19 01:46:37 -03:00
german
c5e257017f
Add automap feature for GC adapter
2020-09-18 16:51:16 -05:00
Lioncash
91bca9eb0b
fermi_2d: Make use of designated initializers
...
Same behavior, less repetition. We can also ensure all members of Config
are initialized.
2020-09-18 13:55:21 -04:00
Morph
ab961e0701
hid: Implement Get/SetNpadHandheldActivationMode
...
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-18 10:10:30 -04:00
Morph
70499b8cbd
configure_input_player: Fixes motion mapping using ConfigureButtonClick
2020-09-18 03:56:31 -04:00
bunnei
8568f44ffa
Merge pull request #4647 from Morph1984/readd-context-menu
...
configure_input_player: Re-add "Clear" context menu option
2020-09-17 22:59:13 -07:00
Morph
40a72e9cd5
am: Stub GetPreviousProgramIndex
...
- Used in Super Mario 3D All-Stars
2020-09-17 22:03:02 -04:00
Morph
65d9def873
configure_input_player: Re-add "Clear" context menu option
...
The context menu was removed in Mjölnir Part 1 as part of the input rewrite as we were unaware of it's usage statistics.
However, as this was the only way to clear the inputs of individual buttons, this PR will re-add it back in.
2020-09-17 21:57:06 -04:00
Morph
41c2f5200c
submission_package: Account for multi-content NSPs
...
Previously we assumed a submission package can only contain one Program NCA with a single TitleID.
However, Super Mario 3D All-Stars contains four Program NCAs, each with their unique TitleIDs.
This accounts for the existence of multi-content games such as this one.
- Fixes booting Super Mario 3D All-Stars from the games list.
2020-09-17 20:44:51 -04:00
Rodrigo Locatti
53fc5d0190
Merge pull request #4670 from lioncash/initializer
...
arm_dynarmic_cp15: Initialize member variables
2020-09-17 21:20:53 +00:00
Rodrigo Locatti
9bdca01c27
Merge pull request #4665 from lioncash/sm-kernel
...
service/sm: Eliminate dependency on the global system instance
2020-09-17 21:20:39 +00:00
Rodrigo Locatti
8100275309
Merge pull request #4666 from lioncash/unused-func
...
service: Remove unused funcation
2020-09-17 21:19:48 +00:00
Rodrigo Locatti
131532b570
Merge pull request #4671 from lioncash/nfp-copy
...
command_generator/nfp: Eliminate unnecessary copies
2020-09-17 21:19:12 +00:00
Rodrigo Locatti
31461589c5
Merge pull request #4672 from lioncash/narrowing
...
decoder/texture: Eliminate narrowing conversion in GetTldCode()
2020-09-17 21:17:54 +00:00
Rodrigo Locatti
9f51242524
Merge pull request #4673 from lioncash/fallthrough
...
decode/image: Eliminate switch fallthrough in DecodeImage()
2020-09-17 21:17:16 +00:00
bunnei
3f6d83b27c
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
Lioncash
4944d48ee8
decode/image: Eliminate switch fallthrough in DecodeImage()
...
Fortunately this didn't result in any issues, given the block that code
was falling through to would immediately break.
2020-09-17 15:12:18 -04:00
Lioncash
ffc66f089d
decoder/texture: Eliminate narrowing conversion in GetTldCode()
...
The assignment was previously truncating a u64 value to a bool.
2020-09-17 15:04:17 -04:00
Lioncash
362e2940be
audio_core/command_generator: Use const references where applicable
...
In a lot of cases, we can make use of const references rather than
non-const references.
While we're in the area we can silence some truncation and sign
conversion warnings.
2020-09-17 13:52:55 -04:00
Lioncash
9539e4d8fd
audio_core/command_generator: Avoid an unnecessary copy in GenerateFinalMixCommand()
2020-09-17 13:45:24 -04:00
Lioncash
aca3621146
nfp: Eliminate two unnecessary copies
...
GetAmiiboBuffer() returns by const reference, so we can use a reference
instead of taking the returned buffer by value.
2020-09-17 13:35:55 -04:00
Lioncash
1ee9ceb5af
arm_dynarmic_cp15: Initialize member variables
...
Ensures that the member variables are always initialized to a
deterministic value on creation.
2020-09-17 13:03:49 -04:00
Lioncash
02b8b6677a
control_metadata: Resolve typo in Portuguese language name
...
This isn't used anywhere, so this is a trivial fix.
2020-09-17 11:45:30 -04:00
Lioncash
8bbd82863d
service: Remove unused funcation
...
This is now completely unused, so it can be removed.
2020-09-17 11:03:26 -04:00
Lioncash
057aa6275d
service/sm: Slightly more efficient string name validation
...
We can check the end of the string first for null-termination, rather
than the beginning of the string.
2020-09-17 10:54:12 -04:00
Lioncash
78b1bc3b61
service/sm: Eliminate dependency on the global system instance
2020-09-17 10:43:54 -04:00
bunnei
fcd0925ecf
Merge pull request #4653 from ReinUsesLisp/gc-warns
...
gc_adapter: Disable MSVC nonstandard extension warning on libusb.h
2020-09-16 22:33:58 -07:00
bunnei
1eae35621e
Merge pull request #4663 from ReinUsesLisp/wswitch
...
video_core: Enforce -Werror=switch
2020-09-16 20:43:23 -07:00
Lioncash
a62c1999c5
file_sys/romfs_factory: Eliminate usage of the global system accessor
2020-09-16 19:15:19 -04:00
Lioncash
0e80567bef
file_sys/bis_factory: Eliminate usage of the global system accessor
2020-09-16 18:16:04 -04:00
Lioncash
aa8d6fc041
loader/nso: Remove unnecessary [[maybe_unused]]
2020-09-16 18:09:01 -04:00
ReinUsesLisp
eb914b6c50
video_core: Enforce -Werror=switch
...
This forces us to fix all -Wswitch warnings in video_core.
2020-09-16 17:48:01 -03:00
Lioncash
113a3972a6
core/loader: Remove dependencies on the global system instance
...
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
2020-09-16 08:46:59 -04:00
Rodrigo Locatti
004bfefeb5
Merge pull request #4658 from lioncash/copy3
...
nca_patch: Reduce stack usage size within SearchBucketEntry()
2020-09-16 00:25:11 +00:00
Lioncash
66fc037ef2
nca_patch: Significantly reduce the stack usage size within SearchBucketEntry()
...
Previously this function was using ~16KB of stack (16528 bytes), which
was caused by the function arguments being taken by value rather than by
reference.
We can make this significantly lighter on the stack by taking them by
reference.
2020-09-15 09:10:58 -04:00
Lioncash
99b372a6c5
nca_patch: Make SearchBucketEntry() internally linked
...
This is only used internally and doesn't depend on any class state, so
we can make it fully internal.
2020-09-15 09:06:46 -04:00
Lioncash
3a8464cde2
cheat_engine: Convert ExtractName into a non-template function
...
We don't need to create two separate instantiations of the same code, we
can simply make the character template argument a regular function
parameter.
2020-09-15 03:24:44 -04:00