Commit Graph

138 Commits

Author SHA1 Message Date
Stenzek 5182e6b549 Vulkan: Implement virtual/real XFB support 2016-11-03 22:33:24 +10:00
Stenzek 3593fa27ab Vulkan: Move CopyRectangleFromTexture to TextureCache 2016-11-03 22:01:55 +10:00
Stenzek 01b3c0f036 Vulkan: Make TextureCache::TCacheEntry public 2016-11-03 22:01:54 +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
JosJuice 1081497cad DiscIO/SConfig: Rename GetUniqueID to GetGameID
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
Jules Blok 2536e37ec5 Merge pull request #4194 from Armada651/efb-source-format
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-21 21:45:29 +00:00
Jules Blok ab5054c34e VideoBackends: Always enable dual-source blending if supported. 2016-10-10 17:32:51 +02: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 db0509560e AVIDump: Hard code rgba. 2016-10-08 18:16:32 +02:00
degasus 0864ef4352 VideoCommon: Add custom stride for framedumping. 2016-10-08 15:44:54 +02:00
degasus b5a91e1dfa Framedumps: Add finish() function to limit memory lifetime. 2016-10-08 15:39:22 +02:00
Markus Wick 6e8901de17 Merge pull request #4315 from stenzek/vulkan-aspect
Vulkan: Handle forced aspect ratio changes at runtime
2016-10-08 11:53:22 +02:00
Stenzek 176b00ded7 Vulkan: Handle forced aspect ratio changes at runtime 2016-10-08 18:59:46 +10:00
degasus e82cf46436 Vulkan: Use VideoCommon framedump helpers. 2016-10-07 23:17:16 +02:00
Stenzek 010514bd39 Vulkan: Use correct source format to determine palette size
Fixes blur in fortune street fifologs.
2016-10-06 21:55:27 +10:00
Stenzek b39ac950eb Vulkan: Don't save borders to screenshots/frame dumps
This matches the behavior on GL, making for easier comparisons.
2016-10-05 22:28:51 +10:00
Stenzek 400ba3c7e5 Vulkan: Stop dumping frames on shutdown if left enabled 2016-10-05 22:28:51 +10: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
Stenzek abb5a64919 Merge pull request #4295 from stenzek/vulkan-dbz-bloom
Vulkan: Fix bug with palette converted EFB copies
2016-10-05 20:24:36 +10:00
Markus Wick ef1bfc26b2 Merge pull request #4291 from degasus/shader_gen
PixelShaderGen: Fix UID issues.
2016-10-05 12:20:58 +02:00
Stenzek db09c05eec Vulkan: Fix bug with palette converted EFB copies
This happened when the source texture was an EFB copy, therefore it had
not been populated prior to the draw command buffer being executed, and
the conversion was occurring in the init command list.
2016-10-04 22:30:37 +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
degasus 829fc8f0ad PixelShaderGen: Drop dstAlphaMode constant in shader generation.
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
Shawn Hoffman 86112c7258 VideoCommon: Minor changes
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
Stenzek 28e5fa8d26 Vulkan: Handle both destination alpha and logic ops being enabled
Same way as GL with the dual-pass fallback. Not highly accurate, but does
fix the Kirby shadow bug.
2016-10-03 19:11:50 +10:00
Stenzek f595fe080f Vulkan: Fix bug with fractional LOD bias and min/max LOD 2016-10-03 19:11:48 +10:00
Stenzek 5e29508b8f Vulkan: Fix vsync behavior when throttler is temp disabled 2016-10-03 19:11:48 +10: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 7d14b9b48b Vulkan: Add missing call to TextureCache::OnConfigChanged
This was preventing certain settings from being updated when changed at
runtime.
2016-10-03 19:11:47 +10:00
Stenzek 4a8766cec4 Vulkan: Fix resource leaks present at shutdown and mode changes
Infrequent, but still happened.
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 5f66cf5ed7 Vulkan: Only submit init/upload command buffer when it has commands
This way we're not submitting empty buffers when it's unnecessary.
2016-10-01 02:40:03 +10:00
Stenzek f6cdc38c8b Vulkan: Use render-pass based clears where possible 2016-10-01 02:40:02 +10:00
Stenzek c290398320 Vulkan: Ensure fast path is used for non-RGBA formats when clearing 2016-10-01 02:40:02 +10: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