Stenzek
8f97a24904
Vulkan: Enable GS instancing
2016-12-04 20:53:49 +10:00
Stenzek
9736198c3b
Vulkan: Use explicit barriers instead of dependancies
...
At least on NV, some of these don't seem to have the intended effect. One
known instance of this is in texture conversion.
2016-12-04 20:10:13 +10:00
Stenzek
a475792163
Vulkan: Fix incorrect logic in readback preemption
...
This could have been causing a large number of command buffer
submissions per frame, depending on when the readbacks occured.
2016-12-04 20:10:13 +10:00
Stenzek
58978c1440
Vulkan: Faster path for decoding XFB data
...
Using a texel buffer as the copy destination removes the need to copy to
an intermediate texture first.
2016-12-04 20:10:13 +10:00
Stenzek
804cd0ff03
Vulkan: Move XFB encoding/decoding to TextureConverter
2016-12-04 20:10:13 +10:00
Stenzek
d67463e0a7
Vulkan: Simplify palette texture conversion
2016-12-04 20:10:13 +10:00
Stenzek
add638538b
Vulkan: Combine PaletteTextureConverter and TextureEncoder classes
2016-12-04 20:10:13 +10:00
Stenzek
804af42ccc
Vulkan: Support binding texel buffers in UtilityShaderDraw
2016-12-04 20:10:13 +10:00
Stenzek
e241ec6666
Vulkan: Implement StagingTexture2D on top of StagingBuffer
...
Greatly simplifies things, and we weren't using the linear texture
implementation anyway.
2016-12-04 20:10:13 +10:00
Stenzek
4bc0e14995
Vulkan: Use an enumeration to index pipeline layouts
2016-12-04 20:10:13 +10:00
Stenzek
cd3481fbc7
Vulkan: Differentiate between descriptor set layouts and bind points
...
This also moves the pipeline and descriptor set layouts used for texture
conversion (texel buffers) to ObjectCache, and shares a binding location
with the SSBO set.
2016-12-04 20:10:13 +10:00
Stenzek
4e9018049d
Vulkan: Support logging debug reports without enabling validation layers
...
There is a caveat, Host GPU must be checked prior to starting the game, as
we can't enable the extension at runtime without recreating the instance.
2016-12-04 19:55:12 +10:00
Stenzek
1cfb0a1185
Vulkan: Fix deadlock in some resize scenarios
...
Only have experienced this on a few occasions when using the anv driver.
2016-12-04 19:12:33 +10:00
Stenzek
2ef884893a
Vulkan: Fix map error when texture dumping is enabled
2016-12-04 00:23:34 +10:00
Stenzek
4c860ddb70
Vulkan: Fix typo in PopulateBackendInfoMultisampleModes
2016-12-04 00:23:30 +10:00
Stenzek
730ec3809a
Vulkan: Remove unused variable
2016-12-04 00:23:25 +10:00
Stenzek
7b1966a680
Vulkan: Fix assertion triggering when geometry shaders are unsupported
...
Happened when loading the pipeline UID cache.
2016-12-02 17:37:10 +10:00
Stenzek
ca691a9d95
Vulkan: Allow re-use of uniform buffers when doing per-stage uploads
...
This is safe now because we invalidate the pointers after submitting a
command buffer.
2016-11-30 23:34:46 +10:00
Stenzek
6a4eba1153
Vulkan: Replace explicit command buffer submits with wrapper function
...
Should we ever introduce anything else that has to be done when a command
buffer is executed (e.g. invalidating constants from previous commit), we
don't have to update all the callers.
2016-11-30 23:14:36 +10:00
Stenzek
3adeacb78d
Vulkan: Fix case where uniforms could be overwritten
...
If a draw caused a command buffer submission, the current uniform storage
should not be used for the new command buffer.
2016-11-30 23:14:35 +10:00
Stenzek
4c11735bd5
Vulkan: Fix case where a draw's vertices could be overwritten
...
This could happen because the vertex memory was already committed, if a
uniform buffer allocation failed and caused a command buffer to be
executed, it would be associated with the previous command buffer rather
than the buffer containing the draw that consumed these vertices.
2016-11-30 22:45:00 +10:00
Stenzek
37550501cc
Vulkan: Fix incorrect handling of buffer wrap-around in StreamBuffer
...
This was happening when a fence wait happened mid-frame. The data written
between the fence being queued and the allocation occuring was incorrectly
assumed to be consumed by the GPU.
2016-11-30 22:44:52 +10:00
Stenzek and GitHub
0212741574
Merge pull request #4436 from stenzek/vulkan-full-ir-framedump
...
VideoBackends: Internal resolution frame dumping
2016-11-28 22:05:16 +10:00
Stenzek
1c1a686f63
Vulkan: Support full resolution frame dumping
2016-11-28 21:54:55 +10:00
Stenzek
8d48319414
Vulkan: Validate the pipeline cache before using it
...
This ensures that if a user changes adapters or vendors we're not passing
invalid data to the driver.
2016-11-28 21:21:55 +10:00