transifex-integration[bot]
fe890cc03d
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:39:28 +00:00
transifex-integration[bot]
cb11157b74
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:38:53 +00:00
transifex-integration[bot]
c00d4fb029
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:38:38 +00:00
transifex-integration[bot]
c47c6021a3
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:38:18 +00:00
transifex-integration[bot]
1f5c69c5be
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:38:07 +00:00
transifex-integration[bot]
bcf995b088
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:37:55 +00:00
transifex-integration[bot]
6c0d71f171
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:37:42 +00:00
transifex-integration[bot]
f96fc4821b
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:37:04 +00:00
transifex-integration[bot]
d69ebbd9fd
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:36:56 +00:00
transifex-integration[bot]
ad23b33168
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:36:32 +00:00
transifex-integration[bot]
b0c986b98a
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:36:23 +00:00
transifex-integration[bot]
62c11b5070
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:36:14 +00:00
transifex-integration[bot]
6f25b339fa
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-04-11 09:34:17 +00:00
transifex-integration[bot]
defbfe2ca5
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:27:03 +00:00
transifex-integration[bot]
67bd5fdd5f
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:26:46 +00:00
transifex-integration[bot]
1cffc8eedb
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:26:29 +00:00
transifex-integration[bot]
4ec886f71f
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:26:15 +00:00
transifex-integration[bot]
dd34762a62
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:26:01 +00:00
transifex-integration[bot]
3900a3139c
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:25:48 +00:00
transifex-integration[bot]
2a50ab40a3
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:25:30 +00:00
transifex-integration[bot]
a757a2f026
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:25:16 +00:00
transifex-integration[bot]
c84ca9af4b
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:24:59 +00:00
transifex-integration[bot]
1a1c0b0e17
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:24:42 +00:00
transifex-integration[bot]
dd572fedbc
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:24:30 +00:00
transifex-integration[bot]
5bb1f8bade
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:24:16 +00:00
transifex-integration[bot]
9e09f1099d
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 13:23:56 +00:00
transifex-integration[bot]
2055e819f5
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-07 12:44:35 +00:00
transifex-integration[bot]
152d0db021
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-06 09:53:16 +00:00
transifex-integration[bot]
e0c25bbead
Apply translations in el
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-05 20:48:49 +00:00
transifex-integration[bot]
1c43791525
Apply translations in id
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-04-02 11:42:05 +00:00
transifex-integration[bot]
ad31db17fa
Apply translations in id
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-04-02 11:32:38 +00:00
transifex-integration[bot]
6e4a89099e
Apply translations in fr
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-30 17:30:48 +00:00
transifex-integration[bot]
feffee6a88
Apply translations in zh-Hant
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-03-28 18:37:25 +00:00
transifex-integration[bot]
6a03e4cd72
Apply translations in zh-Hans
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hans' language.
2023-03-28 18:33:56 +00:00
transifex-integration[bot]
4f4229413e
Apply translations in zh-Hans
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hans' language.
2023-03-28 18:28:28 +00:00
transifex-integration[bot]
9e2fe79804
Apply translations in es
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'es' language.
2023-03-26 18:58:17 +00:00
transifex-integration[bot]
7eea6515ba
Apply translations in de
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'de' language.
2023-03-26 15:20:35 +00:00
transifex-integration[bot]
3a4bf37b52
Apply translations in fr
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-26 13:05:34 +00:00
transifex-integration[bot]
6017b26799
Apply translations in pt_BR
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 19:58:17 +00:00
transifex-integration[bot]
cdb5ecc5b2
Apply translations in pt_BR
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 17:49:22 +00:00
transifex-integration[bot]
8b8ecec808
Apply translations in pt_BR
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 16:07:39 +00:00
transifex-integration[bot]
f507110827
Apply translations in es_419
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'es_419' language.
2023-03-23 20:15:17 +00:00
transifex-integration[bot]
466462c937
Apply translations in id
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-03-21 16:40:29 +01:00
transifex-integration[bot]
39c7c8e17e
Apply translations in fr
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-21 16:40:29 +01:00
transifex-integration[bot]
c8561ee64e
Apply translations in pt_BR
...
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-21 16:40:28 +01:00
Billy Laws
1f0d297221
Fix infinite loop when reading dirty buffers with direct mem
...
The code didn't account for interval Queries returning zero when reaching the end.
2023-03-19 13:52:15 +00:00
Billy Laws
0b551e04db
Return a null handle when reading from an unbound cbuf
2023-03-19 13:52:15 +00:00
Billy Laws
8d9b0041b4
Return a dummy buffer when encountering unbound SSBOs
2023-03-19 13:52:15 +00:00
Billy Laws
d893777262
Flush deferred draws before executing macro HLE and cleanup
2023-03-19 13:52:15 +00:00
Billy Laws
c928084bb1
Show a toast when per-game settings are active
2023-03-19 13:52:15 +00:00
Billy Laws
6433a1722d
Update adrenotools for 8G2 DMI
2023-03-19 13:52:15 +00:00
Billy Laws
0f33055176
Fixup accidental change
2023-03-19 13:52:15 +00:00
Billy Laws
3901ecbf49
Hook up indirect draws into usagetracker
...
Now usagetracker is properly in place, indirect draw HLE can be used without requiring any hacks. Dirtiness is now ignored when fetching macro arguments, and it's now the duty of the HLE impls themselves to perform flushing if they require it.
2023-03-19 13:52:15 +00:00
Billy Laws
04f3fa4b7f
Implement basic indirect draw macro HLE
...
This still requires usagetracker to avoid redundantly performing indirect draws when the memory isn't dirty, and to allow for using it with direct memory, but it's a start.
2023-03-19 13:52:15 +00:00
Billy Laws
2444f2e81d
Fix HLE macro code to not hash all of macro memory + update args struct
...
We incorrectly hashed the entirety of macro memory starting from the macro base address, as opposed to just the macro itself.
2023-03-19 13:52:15 +00:00
Billy Laws
b313dcbdca
Avoid dereferencing macro argument pointers in memory where possible
...
Indirect draws are implemented by having the macro arguments overflow into a seperate GP Entry that points directly to the indirect argument buffer. To HLE indirect draws a buffer needs to be created from this pointer, and it cannot be dereferenced on the CPU at any point to avoid hitting traps.
2023-03-19 13:52:15 +00:00
Billy Laws
2b93604da0
Use hades HLE replacement for constant buffer attributes
...
In the cases of indirect draws, we don't know the vertex offset to write into the driver info constant buffer ahead of time, and to do it at draw time on the GPU would mean marking the constant buffer as GPU dirty (slow). HLE them in the shader instead using the host draw parameters extension.
2023-03-19 13:52:15 +00:00
Billy Laws
7e1c58accc
Implement indirect draws in the Maxwell 3D interconnect
...
These will be used by the HLE indirect draw macro to perform indirect draws without waiting for GPU idle.
2023-03-19 13:52:15 +00:00
Billy Laws
49cd2a71cc
Introduce GPU checkpoints for crash debugging
...
When GPU crashes aren't reproducable in renderdoc, it helps to have someway to figure out what exactly is going on when a crash happens or what operation caused it. Add a checkpoint system that reports the GPU execution state in perfetto in time with actual GPU execution, and use flow events to show the event's path through execution, vulkan record and executor record stages.
2023-03-19 13:52:15 +00:00
Billy Laws
d5b6c68ae4
Split out common parts of Maxwell 3D draws
...
These will be able to be shared between indirect and normal draws.
2023-03-19 13:52:15 +00:00
Billy Laws
779ba3de05
Commonise full pipeline barrier recording
2023-03-19 13:52:15 +00:00
Billy Laws
a65aa28df2
Avoid redundant GPU-dirty propagation for direct buffer recreation
2023-03-19 13:52:15 +00:00
Billy Laws
4a3a40aa40
Add more perfetto tracepoints
2023-03-19 13:52:15 +00:00
Billy Laws
c15b89975b
Allocate a general purpose GPU-side debug tracing buffer
...
Can be used for checkpoints, etc.
2023-03-19 13:52:15 +00:00
Billy Laws
c36b8e843e
Add index buffer size estimation via mapping size
...
This is useful for indirect draws, where we don't know the underlying index buffer size and also don't know the index count.
2023-03-19 13:52:15 +00:00
Billy Laws
0deff5e37a
Set a higher perfetto size hint to avoid packet loss
2023-03-19 13:52:15 +00:00
Billy Laws
4bb2a41594
Use usagetracker to determine if pushbuffers need to flush the GPU
2023-03-19 13:52:15 +00:00
Billy Laws
090151f0c3
Introduce usage tracker for dirty tracking within an execution
...
This is neccessary as e.g. shaders can be updated through a mirror and never hit modification traps. By tracking which addresses have sequenced writes applied, the shader manager can then correctly detect if a given shader has been modified by the GPU.
2023-03-19 13:52:15 +00:00
Billy Laws
f64860c93e
Commonise buffer interval list code
...
This will be reused for usagetracker.
2023-03-19 13:52:15 +00:00
Abandoned Cart
0949d51871
Clear or suppress some easy lint warnings
2023-03-18 16:16:15 +01:00
Abandoned Cart
94459e01a4
useLegacyPackaging for extractNativeLibs
...
"PackagingOptions.jniLibs.useLegacyPackaging should be set to true because android:extractNativeLibs is set to "true" in AndroidManifest.xml"
2023-03-18 16:15:51 +01:00
Abandoned Cart
e08525679c
Suppress a linear configuration warning
...
Due to the way Android Studio reads gradle configuration, a false positive warning for incompatible Java versions is fired when the Kotlin Java version is not specified first.
2023-03-18 16:15:51 +01:00
Abandoned Cart
e68baf9088
Centralize missingIcon and condition for use in DataItem
...
`One missing Bitmap to rule them all and one condition to find them.` Also eliminates passing that condition between methods. The data class can simply return the same instance every time it's necessary.
2023-03-15 14:25:24 +01:00
Abandoned Cart
905c0a47fa
Allow the options, even if they're useless
...
Since this is instantiated in `onCreate` and may be recycled with different settings, relying on the audio to be disabled to determine if a mute action is available seems like a risky gamble.
2023-03-14 23:22:32 +00:00
Abandoned Cart
39393ec310
Move picture-in-picture configuration to method
...
This will also make the transition to per-game settings less of a collision later.
2023-03-14 23:22:32 +00:00
Abandoned Cart
a906c6d689
Use BuildConfig package name to forgo Context
...
This should adapt to the package name, despite not actually relying on the value of it to function. Intents are one of the most analyzed items for vulnerabilities and exploits.
2023-03-14 23:22:32 +00:00
Abandoned Cart
bd9050f6c7
Add an emulator pause button to the OSC
2023-03-14 23:22:32 +00:00
Abandoned Cart
69e322b76b
Pausing should mute audio for looped music
...
Also adds pausing the surface in onPause and restoring it in onResume to avoid wasting resources when the activity is legitimately in the background.
2023-03-14 23:22:32 +00:00
Abandoned Cart
df96d74ca1
No use assigning null surface if null already
...
This also prevents any possibility a null value is falsely assigned to a valid surface for whatever reason.
2023-03-14 23:22:32 +00:00
Abandoned Cart
95a679e5cd
Add an action to pause the emulator process
2023-03-14 23:22:32 +00:00
Abandoned Cart
a1143ee5de
Respect the existing "mute" user preference
2023-03-14 23:22:32 +00:00
Abandoned Cart
bdc368e039
Add a mute button as a PiP window action
2023-03-14 23:22:32 +00:00
Abandoned Cart
4298415134
Add picture in picture for emulation activity
2023-03-14 23:22:32 +00:00
Billy Laws
179363a5e7
Fix depth-stencil formats
2023-03-14 23:22:12 +00:00
PabloG02
b4280a61ac
Stub IApplicationFunctions::GetSaveDataSize
2023-03-11 18:27:36 +00:00
Abandoned Cart
6703a875f0
Support deprecation of getSerializableExtra
2023-03-11 18:27:15 +00:00
Billy Laws
6d582566f9
Use AdaptiveSingleWaiterConditionVariable for thread scheduling
...
Some games, for example PGLE, have heavy contention in code that locks mutexes for only a brief period of time. This heavy contention over multiple threads results in futex latency (often ~20us) impacting performance heavily. Using an adaptive condition variable helps to reduce this latency.
2023-03-11 18:26:02 +00:00
Billy Laws
b1e57bc7bc
Introduce adapting condition variable class
...
By spin waiting for a small period before falling back to an actual condition variable, some of the overheads inherent to futex's can be avoided. The used constants were tuned for optimal performance on 8G1 on Skyrim and PGLE.
2023-03-11 18:26:02 +00:00
TheASVigilante
444e35e34f
Fix swizzling regression + minor optimizations to swizzling
2023-03-06 21:56:31 +00:00
TheASVigilante
3e1db818cf
Address review
2023-03-06 21:56:31 +00:00
TheASVigilante
caf1abbe31
Fix 3D swizzled copies & a small bug with DMA clears
2023-03-06 21:56:31 +00:00
TheASVigilante
70ee36e85c
Add support for 1D remapped buffer clears
2023-03-06 21:56:31 +00:00
TheASVigilante
4c3fed6cd0
Hookup various DMA engine features
...
The DMA engine now supports these additional functions: pitch (to pitch) copies, subrect copies, split copies.
2023-03-06 21:56:31 +00:00
TheASVigilante
fd205ff0a9
Implement rest of I2M engine copies
2023-03-06 21:56:31 +00:00
TheASVigilante
72c2d94cbe
Implement subrect copies
2023-03-06 21:56:31 +00:00
TheASVigilante
df0fd88991
Implement pitch swizzled copies
2023-03-06 21:56:31 +00:00
TheASVigilante
5c4bb1c44e
Fix incorrect remapping register layout
2023-03-06 21:56:31 +00:00
Billy Laws
55176c2a72
Update patreon names
2023-03-05 20:16:45 +00:00
Niccolò Betto
20130f1182
Update translations ( #2235 )
...
* Apply translations in zh-Hans
* Apply translations in zh-Hant
* Apply translations in pt_BR
* Apply translations in es_419
* Apply translations in pt
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2023-03-05 13:04:34 +01:00
lynxnb
b724bc2309
Adjust default OSC opacity and color
2023-03-05 12:45:07 +01:00
KikiManjaro
1282362fce
Add color selection to OSC
...
* Add bold text and antialiasing for osc buttons
* Fix osc dpad and button position (widder than taller)
* Set default OSC color to white background with black text
2023-03-05 12:45:07 +01:00
KikiManjaro
66d2965c63
Fix resetControls for opacity of OSC
2023-03-05 12:45:07 +01:00
Abandoned Cart
1f608da8e0
Drop local app path in preview summary
2023-03-05 11:48:46 +01:00
Abandoned Cart
bcd38460be
Align ChipGroup to center when space exists
2023-03-05 11:42:20 +01:00
Billy Laws
750dfb8f00
Disable extended dynamic state on <r42 mali drivers
2023-03-04 18:55:44 +00:00
Billy Laws
acf118155d
Submit an execution on invalidate{Sampler,TextureHeader}Cache accesses
2023-03-04 18:55:44 +00:00
Billy Laws
6ce5202b8e
Add exceptions for some more unimplemented maxwell draw regs
2023-03-04 18:55:44 +00:00
Billy Laws
7150ce0d1d
Allow disabling the freeing of texture guest memory
...
This helps to prevent issues that result from the overlapping of buffer and texture data, by only ever syncing back textures if they are actually used as RTs, which are much less likely to overlap buffers.
2023-03-04 18:55:44 +00:00
Billy Laws
5e8cdfda92
Don't populate colour targets with an empty write mask
...
Avoids breaking VK spec in BOTW, as it has the same colour attachment bound twice, but the former is masked out entirely.
2023-03-04 18:55:44 +00:00
Billy Laws
8baf06c9ab
Never free memory for GPU dirty buffers
...
Fixes Persona 5 textures in some cases due to overlaps with textures.
2023-03-04 18:55:44 +00:00
Billy Laws
1dd13e90b0
Use channel sequence number for TIC cache validity tracking
...
Fixes some OpenGL games which update a TIC with I2M but never end up triggering an execution otherwise.
2023-03-04 18:55:44 +00:00
Billy Laws
34fddfccba
Only clear requested aspect for depth/stencil clears
...
Fixes water in Skyrim (depth was being cleared when only stencil should have been)
2023-03-04 18:55:44 +00:00
Billy Laws
330f402398
Clear chained fence cycles on the waiter thread
...
This avoids some sporadic random crashes that happen during fence cycle destruction in BOTW/SMO.
2023-03-04 18:55:44 +00:00
lynxnb
787f2bde02
Enable localization for app strings
...
A setting has been added to override the system default language, should a user want a different language for the app.
2023-02-27 22:19:53 +01:00
transifex-integration[bot]
8e7455fb04
Initial translations sync with Transifex
...
* Apply translations in fr
* Apply translations in ru
* Apply translations in b+zh+Hans
* Apply translations in b+zh+Hant
* Apply translations in de
* Apply translations in el
* Apply translations in ja
* Apply translations in ar
* Apply translations in ta
* Apply translations in pl
* Apply translations in ko
* Apply translations in es
* Apply translations in pl
* Apply translations in in
* Apply translations in it
* Apply translations in b+es+419
* Apply translations in hu
2023-02-27 22:19:53 +01:00
lynxnb
3b849393c2
Fix capitalization in settings title strings
2023-02-27 19:56:53 +01:00
lynxnb
aa1da257f8
Add an option to copy global settings to per-game ones
2023-02-27 19:56:53 +01:00
lynxnb
485bd2031c
Only hide validation_layer
setting on release instead of debug category
2023-02-27 19:56:53 +01:00
lynxnb
b2228a93da
Reorder settings pt.2
2023-02-27 19:56:53 +01:00
lynxnb
ddfa9013a9
Use a proper tag for AppItem
in intent extras and arguments
2023-02-27 19:56:53 +01:00
lynxnb
2f4778247c
Use per-game settings during emulation
2023-02-27 19:56:53 +01:00
lynxnb
1a11aaa651
Add per-game settings configuration functionality
2023-02-27 19:56:53 +01:00
lynxnb
0467614dc0
Add per-game support to EmulationSettings
...
Implements support for retrieving per-game emulation settings
2023-02-27 19:56:53 +01:00
lynxnb
cd426d9f18
Split PreferenceSettings
into AppSettings
and EmulationSettings
...
`PreferenceSettings` was removed in favor of:
* `AppSettings`: stores general purpose settings mostly used for UI configuration and state
* `EmulationSettings`: stores emulation-related settings, most of these are passed to native emulation code
2023-02-27 19:56:53 +01:00
lynxnb
854ea1a42d
Make NativeSettings
a serializable data class
2023-02-27 19:56:53 +01:00
lynxnb
ee98aaaed1
Add a method to return format in AppItem
2023-02-27 19:56:53 +01:00
lynxnb
d1fd44e32e
Move preference fragment to a separate file for modularity
2023-02-27 19:56:53 +01:00
lynxnb
a683978e8c
Split preferences to multiple files for reusability
2023-02-27 19:56:53 +01:00
lynxnb
e7c176a8e5
Reorder preferences and introduce new categories
2023-02-27 19:56:53 +01:00
lynxnb
a1ca84f95e
Move Kotlin settings to a dedicate package
2023-02-27 19:56:53 +01:00
lynxnb
180d1efd4d
Revert "Toggle DisableFrameThrottling setting by clicking on FPS"
...
This commit reverts PR #2037 . Passing `NativeSettings` to emulation code through a member reference, instead of a local variable, caused unpredictable crashes when using custom GPU drivers (v615+) on some Qualcomm SoCs.
The exact cause of the issue remains unknown, my best guess is that it was caused by an incorrect optimization performed on the Kotlin bytecode in release mode, which caused an issue when reading memory that had been forked, because of running emulation in a separate process.
Runtime settings modification will be reimplemented in the future via an alternative method.
2023-02-27 19:00:52 +01:00
PixelyIon
22f8cc5970
Stub indirect layer VI service functions
...
Indirect layers are used by the game to render layer on its own, the game allocates a buffer with the size from `GetIndirectLayerImageRequiredMemoryInfo` and uses `GetIndirectLayerImageMap` to draw the applet contents into the buffer.
As we don't LLE applet implementations nor do our HLE implementations draw equivalent applets, we cannot submit this to the guest. As a result, these functions are stubbed with the framebuffer being cleared to red.
Stubbing these functions allows titles such as Dark Souls to not crash while initializing indirect layers.
2023-02-22 23:23:08 +05:30
lynxnb
dba191d2dc
Fix deadlock on settings in PresentationEngine
after callback
...
Accessing the settings class during the execution of the `OnChangedCallback` results in a deadlock, as accesses to values are protected by a mutex. Instead, we now keep a local copy of the relevant settings and update those with the new value.
2023-02-20 21:45:30 +00:00
lynxnb
fc9b34846c
Fix KtSettings JNI usage
...
* Use a global ref for NativeSettings JNI instance
* Always use the JNI env from the JNI call to ensure it's safe to use in the current thread
2023-02-20 21:45:30 +00:00
lynxnb
5b0a397165
Update native settings after toggling frame throttling
2023-02-20 21:45:30 +00:00
Matesic Darko
f850271e2d
toggle DisableFrameThrottling setting by clicking on FPS display
...
s/jSurface/vkSurface
2023-02-20 21:45:30 +00:00
TheASVigilante
3168e8efc0
Address review
2023-02-20 18:17:35 +00:00
TheASVigilante
b780e2b755
Deallocate Unmapped memory pages
...
Reduces memory usage buildup over time, may affect performance.
2023-02-20 18:17:35 +00:00
Billy Laws
7296f8503d
Enable always attempt to enable robustness
2023-02-20 18:01:49 +00:00
Billy Laws
d45f9e4d26
Loosen some texture WaR sync when possible
...
By keeping track of the stages reading the image we can do more fine-grained WaR prevention, as opposed to waiting for all commands to complete.
2023-02-20 18:01:49 +00:00
Billy Laws
6ee8a919e5
Use pipeline barriers, as opposed to an ext dependency for RP barrier
...
Allows for waiting on compute shaders, which are not a graphics stage.
2023-02-20 18:01:49 +00:00
Billy Laws
ee68facc5d
Apply RP barrier masks for every draw, rather than the 1st in RP
...
I missed that addSubpass was only called once-per-subpass, meaning that if a new barrier req was discovered several draws into the RP it wouldn't be applied. Split out barriers into a seperate function to avoid this.
2023-02-20 18:01:49 +00:00
Billy Laws
bb20b145a8
Hash subpass dependencies in RP cache
2023-02-20 18:01:49 +00:00
Billy Laws
99bf7dbb36
Implement usage based implicit renderpass barrier generation
...
Full pipeline barriers between every RP can be extremely expensive on HW, by analysing the inputs and outputs of a draw it's possible to construct a much more optimal barrier that only syncs what is neccessary.
2023-02-20 18:01:49 +00:00
Billy Laws
7a759326b3
Don't break RPs on view pointer changes
...
Sometimes view pointers may change despite the underlying Vulkan image view not actually changing, so use vk::ImageViews for tracking to keep RP breaks to a minimum.
2023-02-20 18:01:49 +00:00
Billy Laws
a02e1a2536
R.I.P. Subpasses
2023-02-20 18:01:49 +00:00
Billy Laws
a47f010653
Add an option to allow CPU writes when fast readback is used
2023-02-20 18:01:49 +00:00
Billy Laws
2d56ed053d
Implement all remaining ASTC formats
2023-02-20 18:01:49 +00:00
Billy Laws
d93c96de83
Fix sign error when decoding bc5s images
...
Using an unsigned loop counter caused an implicit conversion breaking the decoder logic.
2023-02-20 18:01:49 +00:00
Billy Laws
2d97b9fc2c
Keep track of buffer dirtiness within an execution
2023-02-20 18:01:49 +00:00
Billy Laws
6ea1483c9a
Fix a race with multiple threads pushing data into circular queue
...
If the 'end' changes when waiting for data to be consumed our 'waitNext' would be invalid leading to a deadlock.
2023-02-20 18:01:49 +00:00
Billy Laws
f55b135243
Assert on geometry stream usage
2023-02-20 18:01:49 +00:00
Billy Laws
2e64199640
Add host shader replacement and dumping support
...
This is useful for debugging, but shouldn't generally be used as bindings in SPIR-V etc are unstable.
2023-02-20 18:01:49 +00:00
Billy Laws
02786839a5
Flush pipeline after texture uploads
2023-02-20 18:01:49 +00:00
Billy Laws
ffdd50bdf3
Fix geometry and compute shaders on mali GPUs
2023-02-20 18:01:49 +00:00
mk73ds
cb62e15748
Ignore new layer creations instead of replacing previous ones while waiting for proper multiple layers support.
2023-02-18 12:06:37 +00:00
Erwin Spitaler
2855d12f31
quick and dirty implementation for GetFreeSpaceSize
2023-02-18 12:06:18 +00:00
Abandoned Cart
b20c6e9fc4
onBackPressed
-> onBackPressedDispatcher
2023-02-16 14:50:02 +01:00
MrPurple666
bc3c49bc28
Add TIC format: 0x58D24946
...
Cult of the Lamb must be in-game and should fix some textures in Bayonetta 3
Co-authored-by: neogan-bot <neogan-bot@users.noreply.github.com>
2023-02-13 12:10:29 +00:00
PixelyIon
3407f5a6d1
Fix Depth RT layer stride
...
The layer stride provided by the depth register in Maxwell3D needs to be shifted by 2, this caused the stride to be 1/4th of what it needed to be resulting in OOB access.
2023-02-13 12:02:29 +00:00
PixelyIon
df3b961d5d
Fix mipmapped GOB dimensions calculation
...
When calculating mip-level dimensions in terms of GOBs, they need to be divided by 2 while rounding upwards rather than downwards. This fixes corrupted textures and OOB access on lower mip levels across a substantial amount of titles, reducing arbitrary crashes as a result.
2023-02-13 12:02:29 +00:00
Billy Laws
bff232f326
Update edge names
2023-02-07 16:52:33 +00:00
Billy Laws
754a9dfd77
Avoid storing guest shader hash in generated spirv
...
This accidentally broke VK spec and could harm driver caching.
2023-02-07 16:50:46 +00:00
german77
9e1c9caa36
input: Fix motion orientation based on phone orientation
2023-02-07 16:16:41 +00:00
german77
56d43a70c0
Implement SixAxis sensor
2023-02-07 16:16:41 +00:00
lynxnb
bac4ec2977
Update Kotlin + Android dependencies
...
* Update Kotlin to 1.7.21
* Migrate Hilt to Gradle Plugin DSL and use updated package name
* Update dependencies
* Misc cleanup of build scripts
2023-02-06 15:04:20 +01:00
lynxnb
85a711c420
Suppress warnings in AndroidManifest
2023-02-06 15:04:20 +01:00
lynxnb
42e0cc4290
Update build.gradle to remove deprecated properties
2023-02-06 15:04:20 +01:00
PixelyIon
2cdff40bcb
Add debug log for SVC CancelSynchronization
...
This SVC was missing a log which makes it harder to trace issues to it, it has been added to assist with future debugging.
2023-02-05 18:07:11 +05:30
Billy Laws
7f1b6de1fe
Update hades
2023-02-04 23:10:45 +00:00
Billy Laws
94ac457ce0
Ensure mappings are always aligned to big page size when deallocated and
...
mapped
Since we align up when allocating, not doing so when deallocating would result in a gradual buildup of boundary pages that eventually fill the whole address space.
2023-02-04 23:10:45 +00:00
Billy Laws
d659b4f55e
Swap min and max depth when negative scale is used
...
Fixes Super Mario 3D All Stars rendering.
2023-02-04 23:10:45 +00:00
Billy Laws
198e9e8e48
Avoid page faults when using the fallback shader size
...
These occured in some homebrew otherwise.
2023-02-04 23:10:45 +00:00
Billy Laws
10e7e6272a
Pass in pipeline tessellation state to Vulkan
2023-02-04 23:10:45 +00:00
Billy Laws
12c88babd0
Fix address space allocator slow path to avoid OOB
2023-02-04 23:10:45 +00:00
Billy Laws
4a4f6df792
Stub GetBufferHistory transaction
2023-02-04 23:10:45 +00:00
Billy Laws
3795ecceff
Stub IdleTickCount GetInfo result
2023-02-04 23:10:45 +00:00
Billy Laws
3ef84b27c3
Avoid pipeline cache warning
2023-02-04 23:10:45 +00:00
Billy Laws
bb3baa888d
Add a hack to disable shader subgroup shuffles
...
These are about 100x as expensive on adreno than nvidia due to the lack of a dedicated instruction, since some games work fine without them add a hack to disable them.
2023-02-04 23:10:45 +00:00
Billy Laws
568306195f
Prevent Vulkan guest crashes by avoiding intermediate syncpt event signal state
...
The vulkan guest driver doesn't expect a 0xB return code from SyncptEventWait, even though this is valid when an event is being signalled. Just ignore the intermediate state instead as doing so avoids races without causing any more.
2023-02-04 23:10:45 +00:00
Billy Laws
fcb8f2a229
Apply texture shader compiler generated descriptor shifts
...
These were missed on a hades version upgrade.
2023-02-04 23:10:45 +00:00
Billy Laws
bbef006051
Simplify free descriptor set accounting and update ratios
...
Slightly reduces descriptor usage in Breath of The Wild
2023-02-04 23:10:45 +00:00
Billy Laws
5e862cf5f7
Bail out early if the new pipeline key matches that of the current one
...
Prevents the transition cache of some pipelines from getting full of copies of itself in cases where an update happens redundantly.
2023-02-04 23:10:45 +00:00
Billy Laws
3e971d4043
Wait for pipeline compilation to finish before loading the guest
...
The excessive blocking caused by initial compilation happening async to the guest caused issues in some cases, now we have a Vulkan pipeline cache to speed it up we can wait for a full compile before launch without too many issues.
2023-02-04 23:10:45 +00:00
Billy Laws
be6f08cd97
Add debug pipeline statistics recording for finding redundant pipelines
2023-02-04 23:10:45 +00:00
Billy Laws
6333a92b53
Only include active RTs in pipeline state key
...
This was causing a buildup of many redundant pipelines in SMO as a depth-only shader was being called without previous RTs being unbound.
2023-02-04 23:10:45 +00:00
Billy Laws
9d3a9f63d5
Move graphics piplines away from storing hades shader info struct
...
By only using what we need, and mirroring the descriptor structs to allow for much tighter packing (while keeping the same member names) we can reduce pipeline memory to about 1/3 of what it was before.
2023-02-04 23:10:45 +00:00
Billy Laws
dd92cb1536
Implement support for (de)serialising VkPipelineCaches to/from storage
...
Significantly improves launch times in games with many shader combinations, giving an 5x speedup in some cases.
2023-02-04 23:10:45 +00:00
Billy Laws
db173083d7
Update edge credits
2023-02-04 23:10:45 +00:00
PabloG02
35617930d5
Fix rebase
2023-01-28 11:57:19 +00:00
PabloG02
8b9d6f79ab
Add option to enable/disable shader cache
2023-01-28 11:57:19 +00:00
PixelyIon
8bfda0d84d
Fix hole punching in mappings with SVC UnmapPhysicalMemory
...
Certain titles such as Super Smash Bros Ultimate can use SVC `UnmapPhysicalMemory` to punch holes into physical memory mappings, this wasn't handled correctly as we completely deleted the portion after the hole. It has now been fixed which results in these titles which depend on this behavior to work now.
2023-01-23 21:28:59 +00:00
hacobot.dev
ff1e62df7a
deleted unnecessary convertion
2023-01-23 21:28:49 +00:00
hacobot.dev
75f6f5e31c
pull request requested changes
2023-01-23 21:28:49 +00:00
hacobot.dev
7cd13916a3
Main activity is now refreshing when the group checkbox is changed
2023-01-23 21:28:49 +00:00
hacobot.dev
b67bfe3848
Added functionality to make optional to group games by format and sort
2023-01-23 21:28:49 +00:00
Billy Laws
6b9be2edd4
Add note about circular queue append contiguosity guarantees
2023-01-20 21:19:04 +00:00
PabloG02
535eafb57a
Add Android 13 themed icon
2023-01-20 21:08:33 +00:00
PabloG02
d544ccf5ea
Stub INotificationServicesForApplication
2023-01-20 21:08:12 +00:00
PabloG02
2fa5ea451e
Stub IPrepoService::SaveReportWithUserOld2
2023-01-20 21:08:12 +00:00