lynxnb
dec04db647
AppListItem
misc tweaks
...
* Restore text marquee on all layouts
* Text size and color tweaks
* List layout image has round corners
* Clean up unneeded attributes
2022-11-09 23:07:23 +05:30
lynxnb
5c76a57e6e
Use NestedScrollView
for licence dialogs and minor layout tweaks
2022-11-09 23:07:23 +05:30
Billy Laws
388245789f
Restructure ConditionalVariableSignal to avoid potential deadlock
...
Since InsertThread can block for paused threads, we need to ensure we unlock syncWaiterMutex when calling it.
2022-11-09 23:02:26 +05:30
PixelyIon
f4a8328cef
Implement Symbol Hooking
...
Symbol hooking is required for HLE implementations of certain features in the future such as `nvdec` and for more in-depth debugging of games as we can inspect them on a SDK function level which allows us to debug issues far more easily.
2022-11-07 23:56:22 +05:30
PixelyIon
8892eb08e6
Fix MoveRegister
to clear when value is 0
...
The register wouldn't be cleared with a `MOVZ` when a value was zero due to the condition for writing an instruction requiring the `offsetValue` to be non-zero.
2022-11-07 23:56:22 +05:30
Billy Laws
f7ab3abb86
Allow load balancing when waiting on condvars
2022-11-06 20:47:26 +00:00
german77
b6e2fb894c
service: bcat: Stub CreateDeliveryCacheStorageService
2022-11-06 20:39:41 +00:00
Billy Laws
80b65d5094
Update XDR names
2022-11-03 22:53:01 +00:00
Billy Laws
a940d6fd34
Update submodules
2022-11-02 17:46:07 +00:00
Billy Laws
026bb04386
Impl some more texture formats
2022-11-02 17:46:07 +00:00
Billy Laws
133f08ed14
Stash new register value before executing deferred draws/updates
...
Since the register writes technically happen after the draw, issues can occur if they happen before: e.g. skyrim updates ctSelect and disables all RTs after a draw, but this would happen before it previously and crash the driver.
2022-11-02 17:46:07 +00:00
Billy Laws
c50852e546
Implement the draw(...)BeginEnd Maxwell3D draw registers
...
Used by guest Vulkan games and nouveau.
2022-11-02 17:46:07 +00:00
Billy Laws
270ef3e0d2
Implement GPFIFO semaphore acquire operations
2022-11-02 17:46:07 +00:00
Billy Laws
2ce146e28f
Don't crash on the Grp0SetSubDevMask TertOp
...
Used by Vulkan games to set the SLI mask, not applicable to the switch.
2022-11-02 17:46:07 +00:00
Billy Laws
1d83dadefb
Drop size restruction bypass for frequently synced buffers
...
In cases where large buffers are updated every draw this could seriously increase memory usage beyond 3GB in the megabuffer.
2022-11-02 17:46:07 +00:00
Billy Laws
1088ed514c
Introduce texture usage system to ensure RPs are split when necessary
...
Vulkan doesn't allow sampling a texture and using it as an RT in the same RP, by tracking the texture usage status and splitting RPs when this occurs we can avoid such potential sync errors.
2022-11-02 17:46:07 +00:00
Billy Laws
2dd4698441
Adjust texture matching hacks
2022-11-02 17:46:07 +00:00
Billy Laws
4f5c9047ef
Add some additional texture formats used by Vulkan games
2022-11-02 17:46:07 +00:00
Billy Laws
6a830dfac5
Use shader-compiler side {S,U}Scaled format emulation
2022-11-02 17:46:07 +00:00
Billy Laws
579fd04117
Fixup ReadTextureType shader compiler callback
2022-11-02 17:46:07 +00:00
Billy Laws
b04d18eba5
Add support for split mappings to I2M uploads
...
Used by Super Mario Sunshine and other Vulkan games.
2022-11-02 17:46:07 +00:00
Billy Laws
db5e208379
Clear images even when aspects mismatch
2022-11-02 17:46:07 +00:00
Billy Laws
3c8df327f1
Fixup subpass barriers and flags
2022-11-02 17:46:07 +00:00
Billy Laws
5ab80901c6
Drop some debug code
2022-11-02 17:46:07 +00:00
Billy Laws
4de89c8839
GPU NEW MARGEBAC
2022-11-02 17:46:07 +00:00
Billy Laws
7670c83405
Ensure textures are clean before paging them out
2022-11-02 17:46:07 +00:00
Billy Laws
1a2351386d
Add u64 iova ctor
2022-11-02 17:46:07 +00:00
Billy Laws
93d43e0115
Fully fill in swizzle component mappings
...
Avoids the rest being default initialised to identity, which would break the intended effect of them.
2022-11-02 17:46:07 +00:00
Billy Laws
37ff0ab814
Add buffer manager support for accelerated copies
...
These will be sequenced on the GPU/CPU depending on what's optimal and avoid any serialisation
2022-11-02 17:46:07 +00:00
Billy Laws
cac287d9fd
Implement accelerated uploads/copies through buffer manager
...
Previously, both I2M uploads and DMA copies would force GPU serialisation if they happened to hit a trap or were used to copy GPU dirty buffers. By using the buffer manager to implement them on the host GPU we can avoid such slowdowns entiely.
2022-11-02 17:46:07 +00:00
Billy Laws
c5ec484d9a
Avoid redundantly passing executor in ctors when it's already in ChannelCtx
2022-11-02 17:46:07 +00:00
Billy Laws
463394ba72
Pass correct size for XFB buffers
2022-11-02 17:46:07 +00:00
Billy Laws
bd976676f4
Fix SNorm vertex formats
2022-11-02 17:46:07 +00:00
Billy Laws
b74098570f
Zero-out unused XFB varyings before passing to hades
2022-11-02 17:46:07 +00:00
Billy Laws
22f3ba6b93
Mark XFB buffers as GPU dirty
2022-11-02 17:46:07 +00:00
Billy Laws
26aeeaecf5
Add constant buffer GPU write pipeline barrier
2022-11-02 17:46:07 +00:00
Billy Laws
0b5d9308c4
Be more careful about potentially-unneeded GPU->CPU syncs
...
These can be especially expensive so should be avoided as much as possible.
2022-11-02 17:46:07 +00:00
Billy Laws
e6530e2386
Delete graphics_context
...
F
2022-11-02 17:46:07 +00:00
Billy Laws
ac2e6c125b
Switch to Roboto for Korean font
2022-11-02 17:46:07 +00:00
Billy Laws
b24a8465da
Don't require depthClamp
2022-11-02 17:46:07 +00:00
Billy Laws
9055c98e09
Only enable debug/verbose logs in (rel)debug builds
2022-11-02 17:46:07 +00:00
Billy Laws
0ebdbcf0ff
Don't lock stateMutex when updating buffer cycle
2022-11-02 17:46:07 +00:00
Billy Laws
dd360b8f75
Pass correct wait semaphore array size to queue submit
2022-11-02 17:46:07 +00:00
Billy Laws
c78a4b9699
Fixup buffer recreation to avoid deadlock when waiting on srcs
2022-11-02 17:46:07 +00:00
Billy Laws
d236bfe454
Enable depthClamp VK device feature
2022-11-02 17:46:07 +00:00
Billy Laws
95d849e1f6
Check FenceCycle signalled flag immediately before waiting
...
The lock release within the wait for submission means that another thread could end up signalling the cycle and then the VK wait still happen after when the lock has been reacquired.
2022-11-02 17:46:07 +00:00
Billy Laws
1a23b929a7
Avoid chaining cycles in buffer recreation
...
This had a chance of creating circular chains which obviously caused issues, just do a wait instead for now.
2022-11-02 17:46:07 +00:00
Billy Laws
a15db9cb06
Update hades submodule
2022-11-02 17:46:07 +00:00
Billy Laws
cfc55e60b0
Add robin map submodule
2022-11-02 17:46:07 +00:00
Billy Laws
6c0f084aae
Introduce hack to ignore frequently read-back textures
...
Readback can be especially slow on mobile due to the varying load pattern it creates which often prevents the CPU/GPU from clocking up. Since some games perform texture readback but don't actually use it for anything significant implement a hack to skip it and significantly improve performance in such cases.
2022-11-02 17:46:07 +00:00