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