Stenzek
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
Stenzek
2869c570f1
Renderer: Move depth state to VideoCommon and seperate from bpmem
2017-09-11 19:40:26 +10:00
Stenzek
3dd675e613
Renderer: Change SetBlendState to accept a BlendingState
...
This decouples the state generation (from the emulated GPU) from the
management of internal backend state.
2017-09-03 14:14:54 +10:00
Stenzek
8bb6abacf8
Vulkan: Transition EFB/XFB buffers before beginning swap render pass
...
Image layouts shouldn't be changed within a render pass.
2017-06-10 23:52:32 +10:00
Stenzek
417a4ca206
Vulkan: Implement post-processing backend
...
No new features, just parity with OpenGL.
2017-04-25 14:27:02 +10:00
Stenzek
d1dc9d5a0c
Merge pull request #5284 from stenzek/vulkan-videocommon-blending-state
...
Vulkan: Use BlendingState from VideoCommon
2017-04-18 22:16:32 +10:00
Stenzek
ddc5275071
VideoCommon: Drop SetDitherMode()
...
It was a no-op on all backends apart from GL anyhow.
2017-04-18 21:55:22 +10:00
Stenzek
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
Stenzek
eef7b6cf7a
Vulkan: Fix invalid resolve at swap time when MSAA is enabled
2017-04-15 18:35:58 +10:00
Stenzek
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
Stenzek
238a70b006
VideoCommon: Move some common initialization logic to RenderBase
2017-03-04 16:42:16 +10:00
degasus
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
Stenzek
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
Stenzek
38c3ca5cd4
Vulkan: Implement asynchronous frame dumping
2016-11-10 01:07:46 +10:00
Stenzek
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
Stenzek
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
Stenzek
5182e6b549
Vulkan: Implement virtual/real XFB support
2016-11-03 22:33:24 +10:00
Stenzek
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
degasus
9f264c0872
AVIDump: Move CoreTiming into caller.
2016-10-10 12:03:18 +02:00
degasus
64927a2f81
Renderer: Merge screenshot logic into VideoCommon.
2016-10-08 19:38:57 +02:00
degasus
e82cf46436
Vulkan: Use VideoCommon framedump helpers.
2016-10-07 23:17:16 +02:00
Stenzek
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
shuffle2
ea33405feb
Merge pull request #4270 from stenzek/vulkan-defer-fix
...
Vulkan: Miscellaneous minor fixes
2016-10-04 01:47:59 -07:00
Shawn Hoffman
86112c7258
VideoCommon: Minor changes
...
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
Stenzek
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
Stenzek
1286c309e3
Vulkan: Fix compilation on 32-bit targets
2016-10-03 19:11:47 +10:00
Lioncash
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
Stenzek
f4944f006d
Vulkan: Support frame dumping/screenshots
2016-10-01 02:40:02 +10:00
Stenzek
77a128ab87
Implement experimental Vulkan backend
2016-10-01 02:40:01 +10:00