| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Android: Rewrite User Data Activity in Kotlin
|
|
|
|
|
|
|
|
This second stack leads to JNI problems on Android, because ART fetches
the address and size of the original stack using pthread functions
(see GetThreadStack in art/runtime/thread.cc), and (presumably) treats
stack addresses outside of the original stack as invalid. (What I don't
understand is why some JNI operations on the CPU thread work fine
despite this but others don't.)
Instead of creating a second stack, let's borrow the approach ART uses:
Use pthread functions to find out the stack's address and size, then
install guard pages at an appropriate location. This lets us get rid
of a workaround we had in the MsgAlert function.
Because we're no longer choosing the stack size ourselves, I've made some
tweaks to where the put the guard pages. Previously we had a stack of
2 MiB and a safe zone of 512 KiB. We now accept stacks as small as 512 KiB
(used on macOS) and use a safe zone of 256 KiB. I feel like this should
be fine, but haven't done much testing beyond "it seems to work".
By the way, on Windows it was already the case that we didn't create
a second stack... But there was a bug in the implementation!
The code for protecting the stack has to run on the CPU thread, since
it's the CPU thread's stack we want to protect, but it was actually
running on EmuThread. This commit fixes that, since now this bug
matters on other operating systems too.
|
|
It was a bit silly having four functions for effectively the same thing
in all of SettingsFragmentView, SettingsFragment, SettingsActivityView,
SettingsActivity, and SettingsActivityPresenter.
With this change, we split on the four MenuTag types in
SettingsActivityPresenter instead of in SettingsAdapter.
|
|
The settings GameCube Controller N and Wii Remote N (where N is a number)
have two purposes: You can select what controller type you want to use,
and also, when you select a controller type (even if you're selecting the
one that already is selected), the mapping settings open. This second part
is less discoverable than it ideally should be. I'm changing it so that
there now is a button for opening the mapping settings instead.
|
|
|
|
Extends GridLayoutManager to make span changes much more responsive.
|
|
Android: Remove SettingsFrameLayout
|
|
Android: Rewrite image loading with Kotlin and Coil
|
|
|
|
|
|
Android: Simplify the grid options dialog fragment
|
|
|
|
Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
|
|
|
|
VI Skip was very hard to explain on the blog, so this small changes
clarifies what VI Skip is to resolve that issue.
|
|
Kill Renderer (with phire)
|
|
|
|
Co-Authored-By: Charles Lombardo <clombardo169@gmail.com>
|
|
Android: Don't enforce a particular CMake version
|
|
|
|
|
|
Android: Create ScaledIntSetting class
|
|
|
|
|
|
AndroidCommon: Make use of std::string_view where applicable
|
|
A little refactoring to cut down on the size of the very big
SettingsFragmentPresenter class.
I ended up adding a bunch of @NonNull annotations in various settings
classes so I could make the parameters `Settings` instead of `Settings?`
in the new Kotlin code.
|
|
Android: Remove unused force filtering setting
|
|
|
|
Several of these can take a string_view rather than needing to
specifically use std::string.
|
|
|
|
The step size for the slider ended up being 10, but Android wanted it
to be a divisor of the slider's range (which is 128 - 64 = 64).
|
|
Android: Reveal several hidden settings
|
|
|
|
|
|
|
|
Cull vertices on the CPU
|
|
|
|
Obsoletes these functions in favor of the standard member functions
added in C++20.
|
|
Android: Add slider for Performance Sample Window
|
|
Android: Fix RTL layout in several views
|
|
Android: Update build tools and dependencies
|
|
Android: Fix grid options menu string
|
|
|
|
|
|
|