Commit Graph
30 Commits
Author SHA1 Message Date
Unknown W. Brackets 5028486630 thin3d: Cleanup some unused/uninitialized warnings. 2018-06-24 07:34:07 -07:00
Unknown W. Brackets 423309da50 Vulkan: Don't merge render passes if read from.
In the future, we might actually track dependencies so we can smartly
sort the render passes instead.

See #11079 - screen got brighter because a cleared framebuffer was used as
a texture.
2018-05-27 14:15:54 -07:00
Henrik Rydgård 3f7602227c Windows: If neither OpenGL nor D3D9 is available, offer an escape route into D3D11.
This does happen on some fresh Win10 installations.

We really should do something much nicer and more automatic, but that's for later.
2018-05-03 22:19:07 +02:00
Unknown W. Brackets 954f93046f Vulkan: Keep state on Clear cmds when used later.
This also removes duplicate state - for example our UI has some duplicate
Scissor commands.
2018-05-03 07:18:40 -07:00
Henrik Rydgård 0ac6cea34d Add a queue processing hack for Sonic Rivals too. Now it's fast. 2018-04-13 18:05:04 +02:00
Henrik Rydgård 413a204138 Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid. 2018-04-13 17:32:56 +02:00
Henrik Rydgård 36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård d160292f54 Include renderpass definition in Vulkan shader cache entries, should make it more effective again. 2018-03-29 14:36:04 +02:00
Henrik Rydgård d125fa00e1 Make sure the renderpass cache hashmap is never accessed from the main thread at runtime. Should help #10811 2018-03-27 14:45:41 +02:00
Henrik Rydgård 2d3655ea23 Vulkan: Get rid of more explicit barriers by merging the finalLayout color transitions into renderpasses. 2018-03-18 12:03:23 +01:00
Henrik Rydgård f43935b030 Merge framebuffer layout pre-transitions into render pass subpass dependencies.
With this, drivers should be able to completely get rid of layout
transitions into render passes that use CLEAR, at least.
2018-03-18 09:55:36 +01:00
Henrik Rydgård df8dac4aae If the first renderpass is an empty clear, merge it into the next one that touches the same framebuffer. Works around #10723 in Wipeout. 2018-03-16 13:44:56 +01:00
Henrik Rydgård 0ed3deabe6 Fix #10692 (crash when starting games from command line). Throw in some minor Vulkan fixes as well. 2018-03-08 16:35:13 +01:00
Henrik Rydgård 40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Unknown W. Brackets 3eb6d38d75 Vulkan: Fix stencil-only clear for stencil upload.
Fixes stencil issues in Star Ocean.
2018-01-27 15:10:17 +01:00
Henrik Rydgård a0f718ace1 Start separating depth and stencil renderpass actions, only internally in the Vulkan code so far. 2017-12-30 22:40:57 +01:00
Henrik Rydgård 1e64919392 Vulkan: Create renderpass objects on demand. Just a refactoring to prepare for some later features/optimizations. 2017-12-30 22:35:43 +01:00
Henrik Rydgård 10792cc8e7 Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though... 2017-11-15 13:18:29 +01:00
Henrik Rydgård 93e148fed6 Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
Bit hacky but works.
2017-11-12 16:12:26 +01:00
Henrik Rydgård afa5b23abb Vulkan readback: Resize the readback buffer dynamically as necessary. 2017-11-12 09:54:30 +01:00
Unknown W. Brackets 138837ac54 Vulkan: Add texture image readback.
This way we can see how it was decoded, scaled, etc.  This also helps
seeing texture cache invalidation issues.
2017-11-06 00:29:01 -08:00
Henrik Rydgård ca7a2d06ca Vulkan: Implement stencil upload (for Star Ocean). 2017-11-01 14:18:39 +01:00
Henrik Rydgård 90d4296a6a Add a QueueRunner logging facility. Set up a subpass dependency for the backbuffer pass. 2017-11-01 08:45:14 +01:00
Henrik Rydgård 97dced543e Share the conversion code between vulkan and D3D, fixing the missing format thing. 2017-10-29 14:42:51 +01:00
Henrik Rydgård 93c785b76d Color-convert directly during the readback, saves a copy. Like we already do in D3D11. 2017-10-29 10:56:36 +01:00
Henrik Rydgård 34b65c0ca9 Fix Vulkan framebuffer readbacks, as long as they're in R8G8B8A8. 2017-10-28 18:41:54 +02:00
Henrik Rydgård b98d4e5c9d Vulkan: Rough untested implementation of synchronous readbacks. 2017-10-28 18:03:27 +02:00
Henrik Rydgård 962ada1700 Comment cleanup 2017-10-28 00:37:06 +02:00
Henrik Rydgård 3f918ed328 Refactor: Split out VulkanQueueRunner from VulkanRenderManager
Should be no functionality change, but good to do before adding more
functionality.
2017-10-27 22:11:01 +02:00
Henrik Rydgård 1c5bd0f8dc Move the VulkanRenderManager stuff to thin3d, fits in better there. 2017-10-26 10:56:59 +02:00