Commit Graph

25 Commits

Author SHA1 Message Date
417a4ca206 Vulkan: Implement post-processing backend
No new features, just parity with OpenGL.
2017-04-25 14:27:02 +10:00
d1dc9d5a0c Merge pull request #5284 from stenzek/vulkan-videocommon-blending-state
Vulkan: Use BlendingState from VideoCommon
2017-04-18 22:16:32 +10:00
ddc5275071 VideoCommon: Drop SetDitherMode()
It was a no-op on all backends apart from GL anyhow.
2017-04-18 21:55:22 +10:00
9dc7358395 Vulkan: Use BlendingState from VideoCommon
Remove the internal BlendState union. Also fixes Kirby's Return to
Dreamland shadows.
2017-04-18 21:55:22 +10:00
eef7b6cf7a Vulkan: Fix invalid resolve at swap time when MSAA is enabled 2017-04-15 18:35:58 +10:00
2cd240af0d VideoBackends: Move max texture size to VideoConfig
This stops the virtual method call from within the Renderer constructor.

The initialization here for GL had to be moved to VideoBackend, as the
Renderer constructor will not have been executed before the value is
required.
2017-03-10 00:04:13 +10:00
238a70b006 VideoCommon: Move some common initialization logic to RenderBase 2017-03-04 16:42:16 +10:00
41b0c74e30 VideoCommon: Make dst_alpha state implicit. 2017-01-04 20:02:31 +01:00
725ef4c5dc Vulkan: Pass target_rect to framebuffer draw methods
Fixes the black borders in frame dumps when the window was not sized to
the framebuffer aspect ratio.
2016-11-18 22:55:22 +10:00
38c3ca5cd4 Vulkan: Implement asynchronous frame dumping 2016-11-10 01:07:46 +10:00
c880c37244 Vulkan: Rename screenshot buffer to frame dump buffer.
Name makes more sense given the methods it calls in the base class.
2016-11-03 22:38:48 +10:00
9aed27cdcf Vulkan: Combine frame dumping and present into one command buffer.
Small optimization that should make things slightly more efficient when
frame dumping is enabled.
2016-11-03 22:38:48 +10:00
5182e6b549 Vulkan: Implement virtual/real XFB support 2016-11-03 22:33:24 +10:00
b066d51dfa Vulkan: Remove parameters/members of single-instance classes
There's not a lot of point in passing these around or storing them
(texture cache/state tracker mainly) as there will only ever be a single
instance of the class.

Also adds downcast helpers such as Vulkan::Renderer::GetInstance().
2016-11-03 22:01:54 +10:00
9f264c0872 AVIDump: Move CoreTiming into caller. 2016-10-10 12:03:18 +02:00
64927a2f81 Renderer: Merge screenshot logic into VideoCommon. 2016-10-08 19:38:57 +02:00
e82cf46436 Vulkan: Use VideoCommon framedump helpers. 2016-10-07 23:17:16 +02:00
c422fb7e82 Vulkan: Set alpha channel of swap chain buffers to 1.0.
Copying the alpha channel from the game causes issues with frame dumping,
since we're using a buffer directly from the GPU as a source for AVIDump.
2016-10-05 22:02:04 +10:00
ea33405feb Merge pull request #4270 from stenzek/vulkan-defer-fix
Vulkan: Miscellaneous minor fixes
2016-10-04 01:47:59 -07:00
86112c7258 VideoCommon: Minor changes
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
b193282830 Vulkan: Correct logic for handling target and window size changes
Should fix a possible reference to deleted framebuffers, as well as fixing
the issues with the render area being correct if the game's source area
changes, or auto-scaling is enabled.
2016-10-03 19:11:47 +10:00
1286c309e3 Vulkan: Fix compilation on 32-bit targets 2016-10-03 19:11:47 +10:00
9395b8efa9 Vulkan: Amend header includes
Adds headers where necessary to eliminate indirect includes.
Also adds headers to ensure certain standard constructs always
resolve correctly
2016-09-30 23:26:03 -04:00
f4944f006d Vulkan: Support frame dumping/screenshots 2016-10-01 02:40:02 +10:00
77a128ab87 Implement experimental Vulkan backend 2016-10-01 02:40:01 +10:00