Jean-Philip Desjardins
4fe199b34c
Limit workgroup size using device caps.
2021-09-29 18:42:47 -04:00
Jean-Philip Desjardins
9056ae1755
Fix issues with xfer compute job.
...
- Limit size of workgroup size with device limits.
- Align buffer to what the device requires.
Seems to help fix issues with some Mali devices.
2021-09-29 16:47:42 -04:00
Jean-Philip Desjardins
5cd65b21da
Make all subpass dependencies per region.
2021-09-28 11:35:49 -04:00
Jean-Philip Desjardins
fb803c3f4e
Fix validation error.
2021-09-28 10:57:17 -04:00
Jean-Philip Desjardins
10ee031d27
Fixed some crashes and edge cases.
2021-09-28 10:57:05 -04:00
Jean-Philip Desjardins
4e5eb8f534
Style fix.
2021-09-25 10:31:27 -04:00
Jean-Philip Desjardins
e0f5e464d0
Add definitions to select which Vulkan flavor we want to use.
...
Not the best mechanism, but this now allows both flavors to live in the same branch.
2021-09-24 21:59:21 -04:00
Jean-Philip Desjardins
03a6d5ea2a
Update post refactor.
2021-09-24 13:02:21 -04:00
Jean-Philip Desjardins
802f2dc845
Fix style issues.
2021-09-24 13:02:20 -04:00
Jean-Philip Desjardins
f4e54ceed9
Test adding some more dependencies.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
a7ab66eec5
Add a pipeline barrier between draw calls.
...
Seems to fix flickering on Adreno devices.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
ddc2bddf11
No need to flush render pass if fb mask changed.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
70e5620625
Import memory copy logic.
...
Fixes post processing in many games.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
05beb3e20e
Limit store area.
...
Scissor is not enough to determine which area to write back to memory.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
75e9904d11
Flush render pass when scissor changes.
...
What is kept in the transient framebuffer is dependent on the current scissor.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
5912144fcf
Use integer color pipeline.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
b710e2d1ed
Post rebase fixes.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
64f9bd682a
Flush draw pipeline when important store load params change.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
a98add7152
Honor write masks.
...
Still not 100% good, but fixes a bunch of things.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
26a0873c9b
Remove hardcoded buffer formats.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
3158db669b
Post rebase fixes.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
bb97c30e4a
Use color attachment for depth.
...
Depth framebuffer fetch doesn't seem to be supported on all tiled GPUs.
We don't really care about built-in depth features anyways, better use a color attachment.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
ee96013945
Add missing color attachment ref.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
ee9c45d70a
Testing subpass read on Adreno.
...
Disabled reading from depth temporarily.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
e804a163d8
Remove lazy allocation.
2021-09-24 13:01:29 -04:00
Jean-Philip Desjardins
d8558bfc0c
TEMP: Don't use 8/16 bit storage.
...
Not sure yet, but it doesn't seem to be available on many Android devices.
2021-09-24 13:00:43 -04:00
Jean-Philip Desjardins
7d1678c983
Mask addresses to prevent GPU crash.
2021-09-24 13:00:43 -04:00
Jean-Philip Desjardins
68cc2280b8
Add input attachment descriptor pool.
2021-09-24 13:00:43 -04:00
Jean-Philip Desjardins
3457a338e9
TEMP: Disable fragment shader interlock requirement.
2021-09-24 13:00:40 -04:00
Jean-Philip Desjardins
04dfc33e65
Use transient attachment.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
336cfd20c3
Add depth support.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
f14e0f10ef
Add missing change.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
030a31ab08
Fix style.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
d2385ee23a
Fix alpha testing.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
cada4060bc
Add load from memory pass.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
fb2e6f471c
Read color from subpass.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
f53f285061
Initialize variables.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
295d54825a
We need to flush the render pass.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
4caa1c5495
Load from subpass.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
708171c8f9
WIP
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
9d0374fc12
Fix validation errors.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
cce900052c
Just some WIP. Nothing works yet.
2021-09-24 12:56:19 -04:00
Jean-Philip Desjardins
06b4753d6d
Use a dynamic struct chain for vkCreateDevice.
...
We'll need to disable some stuff for mobile.
2021-09-24 11:03:48 -04:00
Jean-Philip Desjardins
5a0ee10a9b
Style fix.
2021-09-18 12:11:16 -04:00
Jean-Philip Desjardins
6e8209508f
Refactor first pass in prep for mobile vulkan merge.
2021-09-18 12:11:16 -04:00
Jean-Philip Desjardins
4064c4c5e0
Use GetDisplayBounds.
2021-09-03 13:28:55 -04:00
Jean-Philip Desjardins
8ef21cca25
Add GetDisplayBounds function.
2021-09-03 13:28:55 -04:00
Jean-Philip Desjardins
e162749d28
Add another texture read format.
2021-08-31 17:53:44 -04:00
Jean-Philip Desjardins
86b66ec9aa
Allow enabling/disabling various GS features for frame debugger.
2021-08-31 16:40:26 -04:00
Jean-Philip Desjardins
54eb88c51b
Don't flush transfers if using HWREG.
...
Fixes render issues in Tales of Legendia.
2021-08-20 17:36:29 -04:00