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