Commit graph

7479 commits

Author SHA1 Message Date
BreadFish64 a131f9eb74 gl_rasterizer_cache: don't place null textures in the recycler 2021-02-03 13:29:03 -06:00
BreadFish64 85e9ba897d gl_rasterizer_cache: Recycle host textures
Allocating new textures has fairly high driver overhead.
We can avoid some of this by reusing the textures from destroyed surfaces since the game will probably create more textures with the same dimensions and format.
2021-02-02 20:46:25 -06:00
BreadFish64 935e88a580 gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
Some games (e.g. Pilotwings Resort) create many surfaces that are invalidated quickly but were never removed.
This occasionally lead to large lag spikes due to high lookup times and other data structure management overhead.
2021-02-02 20:43:41 -06:00
xperia64 8df502a688
Implement APT command 0x0103 (#5478)
* WIP implement apt 0x0103

* Update src/core/hle/service/apt/apt.cpp

Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>

* Names

Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>
2021-01-26 15:27:52 -05:00
Pengfei Zhu 7c6d7905a4
Merge pull request #5670 from FearlessTobi/port-5277
Port yuzu-emu/yuzu#5277: "general: Fix various spelling errors"
2021-01-09 22:10:27 +08:00
xperia64 e33677b021
Add 3D slider value to the HID shared page (#5676)
* Add 3D slider value to the HID shared page; Fixes MSet

* Use f32
2021-01-05 22:01:01 +01:00
xperia64 c1d7ba4d60
Delete the old log file before rotating (#5675) 2021-01-03 14:53:23 -05:00
xperia64 755393da90
Look at direction of analog axis travel instead of instantaneous sample (#5509)
* Look at direction of analog axis travel instead of instantaneous sample

* Clang-format

* Use map count, use unordered_map

* Improve digital vs. true analog axis heuristics
2021-01-02 21:09:26 -05:00
FearlessTobi 1653ebaa45 general: Fix various spelling errors
Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>
2021-01-03 02:39:41 +01:00
bunnei 9c76120a13
Fix the old log file to work with the log parser. 2021-01-01 03:17:20 -08:00
bunnei 1265c37bab
Merge pull request #5666 from xperia64/log_rotate
Rotate previous log file to "citra_log.txt.old"
2021-01-01 03:03:31 -08:00
Vitor K ce16653cc8
Automatic Controller Binding (#5100)
* Implement the basics of controller auto mapping. From testing doesn't currenlty work.
Opening the controller requires the device index, but it is only known and guaranteed
at boot time or when a controller is connected.

* Use the SDL_INIT_GAMECONTROLLER flag to initialize the controller
subsystem. It automatically initializes the joystick subsystem too,
so SDL_INIT_JOYSTICK is not needed.

* Implement the SDLGameController class to handle open game controllers.
Based on the SDLJoystick implementation.

* Address review comments

* Changes SDLJoystick and SDLGameController to use a custom default
constructible destructor, to improve readability. The only deleters
used previously were SDL_JoystickClose and SDL_GameControllerClose,
respectively, plus null lambdas. Given that both SDL functions
accept null pointers with just an early return, this should be
functionally the same.
with just an early return

* warn the user when a controller mapping is not found

* Get axis direction and threshold from SDL_ExtendedGameControllerBind

* Reject analog bind if it's not axis, for the couple of examples present in SDL2.0.10's db.
Also add SDL_CONTROLLER_BINDTYPE_NONE for the button bind switch, with a better log message.

* sdl_impl.cpp: Log the error returned by SDL_GetError upon failure to open joystick

* sdl: only use extended binding on SDL2.0.6 and up

* sdl_impl.cpp: minor changes
2021-01-01 10:01:07 +01:00
Pengfei Zhu 6f2bbbcced
Merge pull request #5658 from FearlessTobi/cheat-window-flags
citra_qt/cheats: Make window resizable and remove help hint
2021-01-01 10:03:15 +08:00
xperia64 b4a6763484 Rotate previous log file to '.old' if it exists 2020-12-31 16:10:01 -05:00
xperia64 5f1eb7146d
Merge generic part of Android microphone changes (#5624) 2020-12-30 19:21:03 -05:00
Marshall Mohror 820c288236
Merge pull request #5664 from vitor-k/fix-iofile
Revert #5530 "Port yuzu-emu/yuzu#4539"
2020-12-30 12:20:21 -06:00
Marshall Mohror ab6c605e59
Merge pull request #5609 from gal20/enable-fdk-patch
Enable fdk decoder for flatpak version
2020-12-30 11:59:18 -06:00
Vitor Kiguchi fb49ce462f Revert #5530 "Port yuzu-emu/yuzu#4539"
There is currently no such warning and the solution proposed
omits the call instead of the warning.
2020-12-30 14:49:40 -03:00
bunnei 987f910a86
Merge pull request #5530 from FearlessTobi/port-4539
Port yuzu-emu/yuzu#4539: "common: Silence two discarded result warnings"
2020-12-30 01:55:33 -08:00
bunnei 39e0644993
Merge pull request #5634 from FearlessTobi/port-4798
Port yuzu-emu/yuzu#4798: "udp/client: Take std::function by const reference with TestCommunication()"
2020-12-30 01:54:40 -08:00
bunnei 3c1211e9fe
Merge pull request #5648 from FearlessTobi/port-5139
Port yuzu-emu/yuzu#5139: "game_list_p: Resolve deprecated usage of QVariant operator<"
2020-12-30 01:53:01 -08:00
BreadFish64 b3915c23a0 Update Gradle 2020-12-29 13:29:02 -06:00
xperia64 94013c8e00
Merge ARM64 Dynarmic (#5620)
* Point dynarmic to citra fork, update dynarmic to AArch64 merge branch

* Enable dynarmic ARM64 support
2020-12-28 18:39:00 -05:00
xperia64 94d1f695ee
Use alternate-form formatting for floats after fmt 7.1.2 update (#5654)
* Use alternate-form formatting for floats after 7.1.2  update

* Last two floats
2020-12-28 18:32:36 -05:00
FearlessTobi 54a95e9c58 citra_qt/cheats: Make window resizable and remove help hint
Fixes https://github.com/citra-emu/citra/issues/5575.
2020-12-28 17:01:30 +01:00
Lioncash fdf0825369 game_list_p: Resolve deprecated usage of QVariant operator<
This is designated as obsolete in Qt's docs (see:
https://doc.qt.io/qt-5/qvariant-obsolete.html#operator-lt)
2020-12-19 18:48:38 +01:00
Tobias 3f13e1cc24
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback() (#5573)
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.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-12-07 16:06:16 +01:00
Tobias f0e3637c7a
codec: Make lookup table static constexpr (#5572)
Allows compilers to elide needing to push these values on the stack
every time the function is called.

Co-authored-by: Lioncash <mathew1800@gmail.com>
2020-12-07 16:05:45 +01:00
Tobias 702af87f0d
Port yuzu-emu/yuzu#4700: "game_list: Eliminate redundant argument copies" (#5571)
* game_list: Eliminate redundant argument copies

Several functions can be taken by const reference to avoid copies

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

* game_list: Make game list function naming consistent

Makes the naming consistent with the rest of the functions that are
present.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-12-07 16:05:13 +01:00
Vitor K 4888a14c12
Make UNIMPLEMENTED_MSG consistent with UNIMPLEMENTED (#5631)
The current inconsistency can result in a developer unintentionally
creating a crash when using UNIMPLEMENTED_MSG, if they're only
familiar with UNIMPLEMENTED. The two macros shouldn't have such
wildly different behaviors.
2020-12-06 23:36:04 +01:00
FearlessTobi c37dc23481 udp/client: Take std::function by const reference with TestCommunication()
Avoids redundant copies.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-12-05 23:07:08 +01:00
mnml 6f45b402e7
UDS: implement GetApplicationData (#5533) 2020-12-05 22:27:57 +01:00
Tobias 664f5da105
tests: Fix warning about comparison between signed and unsigned (#5632)
Co-authored-by: comex <comexk@gmail.com>
2020-12-05 22:20:50 +01:00
Vitor K 2f5eec3576
Fixes to "hide mouse on inactivity" (#5476)
The feature wasn't working when the "single window mode" was off.
Changed the cursor setting to only affect the render_window and
moved to a signal/slot model to show the mouse.
2020-12-05 22:12:17 +01:00
zhupengfei 8f0aebcd4f
service/apt: Fix deliver arg hmac size 2020-11-28 08:52:35 +08:00
Pengfei Zhu 21fb9d63f4
service/apt: Implement Deliver Args (#5611)
* service/apt: Add GetModule and GetAppletManager

These will be used to retrieve and set deliver args across system resets (which are currently implemented as complete restarts)

* applet_manager: Implement DeliverArg

`flags` was added to `ApplicationJumpParameters` as flags 0x2 is handled differently from 0x0.

* service/apt: Add ReceiveDeliverArg, implement GetStartupArgument

Some based on guesses.

* Address review comments
2020-11-24 20:10:31 +01:00
Ben 182ffa4243
APT: implement Set and GetWirelessRebootInfo (#5328)
* APT: implement Set and GetWirelessRebootInfo

* make wireless_reboot_info a member of APT::Module

* Removed stubbed from log message
2020-11-23 15:52:35 +01:00
xperia64 3fa12d43f5
Fix fmt crash from deprecated percent specifier (#5616)
* Fix fmt crash from deprecated percent specifier

* ...clang format
2020-11-22 20:55:45 -05:00
xperia64 4f058c04e8
Fix telemetry-related exit crash from use-after-free (#5617)
* Fix telemetry-related exit crash from use-after-free

* ...clang format
2020-11-22 21:45:14 +08:00
xperia64 1aaec7938f
Initial implementation of partial_embedded_buffer_dirty handling (#5548)
* Initial implementation of partial_embedded_buffer_dirty handling

* Apply suggestions from code review

Co-authored-by: Marshall Mohror <mohror64@gmail.com>

* Serialize physical address, fix LOG_TRACE

* Add bracket

* Avoid crash in partial update behavior

Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2020-11-17 17:31:05 -05:00
Marshall Mohror 02d6032afb
Merge pull request #5566 from zhaowenlan1779/layered-fs-fix
layered_fs: Make LoadFile and LoadDirectory less recursive
2020-11-17 09:31:25 -06:00
Marshall Mohror 7a8d576164
Merge pull request #5577 from vitor-k/cubeb-volume
Update cubeb to latest and request a persistent stream session
2020-11-16 16:54:10 -06:00
Marshall Mohror a89261d397
Merge pull request #5580 from oneup03/master
Implement Reverse Interlaced 3D
2020-11-16 16:53:05 -06:00
Marshall Mohror 23b67849d5
Merge pull request #5608 from gal20/fix-flatpak-crash
Fix flatpak crash when hardware shader is enabled
2020-11-15 11:23:08 -06:00
Pengfei Zhu de3d7cf49f
kernel/thread: Change owner_process to std::weak_ptr (#5325)
* kernel/thread: Change owner_process to std::weak_ptr

Previously this leaked almost all kernel objects. In short, Threads own Processes which own HandleTables which own maps of Objects which include Threads.

Changing this to weak_ptr at least got the camera interfaces to destruct properly. Did not really check the other objects though, and I think there are probably more leaks.

* hle/kernel: Lock certain objects while deserializing

When deserializing other kernel objects, these objects (`MemoryRegion`s and `VMManager`s) can possibly get modified. To avoid inconsistent state caused by destructor side-effects, we may as well simply lock them until loading is fully completed.

* Fix silly typo

Somehow this didn't break?!
2020-11-15 12:59:45 +01:00
Hamish Milne 80c9f9abbb
Keep keyboard state independent of acquired buttons (#5255)
* Keep keyboard state independent of acquired buttons

* Review changes

* Address review comments

Co-authored-by: zhupengfei <zhupf321@gmail.com>
2020-11-15 12:58:12 +01:00
gal20 8b82a228f0
change result back to std::optional 2020-11-14 21:46:29 +02:00
gal20 5055212063
Update src/video_core/renderer_opengl/gl_shader_manager.cpp
Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2020-11-14 21:45:30 +02:00
gal20 5683f86ed3
Remove pessimistic sanity check
This check creates false positive when using the flatpak runtime library
2020-11-14 20:06:25 +02:00
gal20 03c002ee2a
make result not optional
This fixes crash when hardware shader is enabled in the flatpak version
2020-11-14 19:58:12 +02:00