72e3f1ecec
Remove unnecessary ConfigManager includes
...
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.
However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).
(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
6b88a854a7
Vulkan: Handle strided XFB copies
...
Where src_rect.width * 2 != dst_stride.
2016-11-19 20:29:47 +10: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
3c92b35422
Vulkan: Use multiple command pools, one per frame
...
Instead of resetting two command buffers, now we only have to call
vkResetCommandPool once at the start of a frame.
NV's recommends using one pool per frame/thread. May offer a very small
boost in performance on some systems.
2016-11-15 00:40:15 +10:00
bd67adb362
Vulkan: Use correct sample count for EFB pokes with MSAA enabled
2016-11-14 20:24:16 +10:00
89176fe2ab
Vulkan: Fix crash on EFB poke
2016-11-14 20:19:59 +10:00
bc98ec77be
Merge pull request #4441 from stenzek/vulkan-max-image-count
...
Vulkan: Handle maxImageCount of zero when creating swap chain
2016-11-13 14:12:32 +01:00
c723532f0d
Merge pull request #4430 from stenzek/vulkan-no-relaxed-vsync
...
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-13 14:10:58 +01:00
160fee6791
Vulkan: Handle maxImageCount of zero when creating swap chain
...
anv seems to set this to zero, which is fine according to the spec, but
we were using it as a maximum, which was resulting in a swap chain
without any buffers being created.
2016-11-11 23:33:40 +10:00
38c3ca5cd4
Vulkan: Implement asynchronous frame dumping
2016-11-10 01:07:46 +10:00
c09ce029df
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-07 19:22:27 +10:00
be29090aae
AVIDump: Add a struct for the state.
...
So AddFrame use no global state and can be threaded well.
2016-11-04 18:35:42 +01: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
690a6deeb3
Vulkan: Fix swapped top/bottom images in TAB stereo mode
2016-11-03 22:33:24 +10:00
70eb904536
Vulkan: Fix incorrect geometry shader input/output usage
2016-11-03 22:33:24 +10:00
5250f3c6a4
Vulkan: Add missing call to ObjectCache::RecompileSharedShaders
...
This was causing issues when the stereo mode was changed at runtime.
2016-11-03 22:33:24 +10:00
d67877d27e
Vulkan: Fix fast clear path not being used in all cases
2016-11-03 22:33:24 +10:00
5182e6b549
Vulkan: Implement virtual/real XFB support
2016-11-03 22:33:24 +10:00
3593fa27ab
Vulkan: Move CopyRectangleFromTexture to TextureCache
2016-11-03 22:01:55 +10:00
01b3c0f036
Vulkan: Make TextureCache::TCacheEntry public
2016-11-03 22:01:54 +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
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
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
ab5054c34e
VideoBackends: Always enable dual-source blending if supported.
2016-10-10 17:32:51 +02: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
db0509560e
AVIDump: Hard code rgba.
2016-10-08 18:16:32 +02:00
0864ef4352
VideoCommon: Add custom stride for framedumping.
2016-10-08 15:44:54 +02:00
b5a91e1dfa
Framedumps: Add finish() function to limit memory lifetime.
2016-10-08 15:39:22 +02:00
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
176b00ded7
Vulkan: Handle forced aspect ratio changes at runtime
2016-10-08 18:59:46 +10:00
e82cf46436
Vulkan: Use VideoCommon framedump helpers.
2016-10-07 23:17:16 +02:00
010514bd39
Vulkan: Use correct source format to determine palette size
...
Fixes blur in fortune street fifologs.
2016-10-06 21:55:27 +10:00
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
400ba3c7e5
Vulkan: Stop dumping frames on shutdown if left enabled
2016-10-05 22:28:51 +10: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
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
ef1bfc26b2
Merge pull request #4291 from degasus/shader_gen
...
PixelShaderGen: Fix UID issues.
2016-10-05 12:20:58 +02:00
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
ea33405feb
Merge pull request #4270 from stenzek/vulkan-defer-fix
...
Vulkan: Miscellaneous minor fixes
2016-10-04 01:47:59 -07:00
829fc8f0ad
PixelShaderGen: Drop dstAlphaMode constant in shader generation.
...
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
86112c7258
VideoCommon: Minor changes
...
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
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
f595fe080f
Vulkan: Fix bug with fractional LOD bias and min/max LOD
2016-10-03 19:11:48 +10:00
5e29508b8f
Vulkan: Fix vsync behavior when throttler is temp disabled
2016-10-03 19:11:48 +10: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
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
4a8766cec4
Vulkan: Fix resource leaks present at shutdown and mode changes
...
Infrequent, but still happened.
2016-10-03 19:11:47 +10:00
1286c309e3
Vulkan: Fix compilation on 32-bit targets
2016-10-03 19:11:47 +10:00