Commit graph

684 commits

Author SHA1 Message Date
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