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