825a6e2615
Merge pull request #3552 from jroweboy/single-context
...
Refactor Context management (Fixes renderdoc on opengl issues)
2020-04-02 01:38:25 -03:00
baf91c920c
Merge pull request #3591 from ReinUsesLisp/vk-wrapper-part2
...
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 2 of 2)
2020-03-31 22:14:26 -03:00
f22f6b72c3
renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper
2020-03-31 21:32:08 -03:00
27dd542c60
renderer_vulkan/wrapper: Add command buffer handle
2020-03-31 21:32:08 -03:00
5c90d060d8
renderer_vulkan/wrapper: Add physical device handle
2020-03-31 21:32:08 -03:00
0eb37de98f
renderer_vulkan/wrapper: Add device handle
2020-03-31 21:32:08 -03:00
11774308d3
renderer_vulkan/wrapper: Add swapchain handle
2020-03-31 21:32:07 -03:00
7fe52ef77f
renderer_vulkan/wrapper: Add fence handle
2020-03-31 21:32:07 -03:00
3a63ae0658
renderer_vulkan/wrapper: Add device memory handle
2020-03-31 21:32:07 -03:00
397f53dea1
renderer_vulkan/wrapper: Add pool handles
2020-03-31 21:32:07 -03:00
affee77b70
renderer_vulkan/wrapper: Add buffer and image handles
2020-03-31 21:32:07 -03:00
d85ca0ab33
renderer_vulkan/wrapper: Add queue handle
2020-03-31 21:32:07 -03:00
151ddcf419
renderer_vulkan/wrapper: Add instance handle
2020-03-31 21:32:07 -03:00
c19425ed69
Merge pull request #3506 from namkazt/patch-9
...
shader_decode: Implement partial ATOM/ATOMS instr
2020-03-31 00:56:28 -03:00
69728e8ad5
Merge pull request #3566 from ReinUsesLisp/vk-wrapper-part1
...
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 1 of 2)
2020-03-30 21:57:36 -03:00
a2cc80b605
vk_decompiler: add atomic op and handler function.
2020-03-30 17:44:45 +07:00
b6c9fba81c
renderer_vulkan/wrapper: Address feedback
2020-03-28 04:09:02 -03:00
2694552b7f
renderer_vulkan/wrapper: Add owning handles
2020-03-27 03:21:04 -03:00
7413b30923
renderer_vulkan/wrapper: Add pool allocations owning templated class
2020-03-27 03:21:04 -03:00
d8d392b39a
renderer_vulkan/wrapper: Add owning handle templated class
2020-03-27 03:21:04 -03:00
60f351084a
renderer_vulkan/wrapper: Add destroy and free overload set
2020-03-27 03:21:04 -03:00
a9e4528d10
renderer_vulkan/wrapper: Add dispatch table and loaders
2020-03-27 03:21:04 -03:00
3f0b7673f0
renderer_vulkan/wrapper: Add exception class
2020-03-27 03:21:04 -03:00
f5cee0e885
renderer_vulkan/wrapper: Add ToString function for VkResult
2020-03-27 03:21:03 -03:00
92c8d783b3
renderer_vulkan/wrapper: Add Vulakn wrapper and a span helper
...
The intention behind a Vulkan wrapper is to drop Vulkan-Hpp.
The issues with Vulkan-Hpp are:
- Regular breaks of the API.
- Copy constructors that do the same as the aggregates (fixed recently)
- External dynamic dispatch that is hard to remove
- Alias KHR handles with non-KHR handles making it impossible to use
smart handles on Vulkan 1.0 instances with extensions that were included
on Vulkan 1.1.
- Dynamic dispatchers silently change size depending on preprocessor
definitions. Different files will have different dispatch definitions,
generating all kinds of hard to debug memory issues.
In other words, Vulkan-Hpp is not "production ready" for our needs and
this wrapper aims to replace it without losing RAII and exception
safety.
2020-03-27 03:13:18 -03:00
744b207d92
maxwell_to_vk: implement signedscaled vertex formats
2020-03-27 00:14:19 +01:00
282adfc70b
Frontend/GPU: Refactor context management
...
Changes the GraphicsContext to be managed by the GPU core. This
eliminates the need for the frontends to fool around with tricky
MakeCurrent/DoneCurrent calls that are dependent on the settings (such
as async gpu option).
This also refactors out the need to use QWidget::fromWindowContainer as
that caused issues with focus and input handling. Now we use a regular
QWidget and just access the native windowHandle() directly.
Another change is removing the debug tool setting in FrameMailbox.
Instead of trying to block the frontend until a new frame is ready, the
core will now take over presentation and draw directly to the window if
the renderer detects that its hooked by NSight or RenderDoc
Lastly, since it was in the way, I removed ScopeAcquireWindowContext and
replaced it with a simple subclass in GraphicsContext that achieves the
same result
2020-03-24 21:03:42 -06:00
38c1e77f01
vk_texture_cache: Silence misc warnings
2020-03-18 20:03:19 -03:00
b6b2e31e5e
vk_staging_buffer_pool: Silence unused constant warning
2020-03-18 20:03:19 -03:00
fc51ece7bf
vk_rasterizer: Remove unused variable
2020-03-18 20:03:19 -03:00
98d85cdc20
vk_pipeline_cache: Remove unused variable
2020-03-18 20:03:19 -03:00
dab450ec46
maxwell_to_vk: Sielence -Wswitch warning
2020-03-18 20:03:19 -03:00
edb9cccb36
Merge pull request #3510 from FernandoS27/dirty-write
...
DirtyFlags: relax need to set render_targets as dirty
2020-03-17 17:29:22 -04:00
d787856621
Merge pull request #3518 from ReinUsesLisp/scissor-clears
...
vk_rasterizer: Implement scissor clears and layered clears
2020-03-17 17:27:15 -04:00
9fdfd58f9f
Merge pull request #3519 from ReinUsesLisp/int-formats
...
maxwell_to_vk: Implement RG32 and RGB32 integer vertex formats
2020-03-17 17:26:16 -04:00
b16c8e0e8d
Merge pull request #3515 from ReinUsesLisp/vertex-vk-assert
...
vk_rasterizer: Fix vertex range assert
2020-03-15 21:26:54 -03:00
7cc46a6faa
Merge pull request #3501 from ReinUsesLisp/rgba16-snorm
...
video_core: Implement RGBA16_SNORM
2020-03-15 21:24:53 -03:00
d64edf21bb
Merge pull request #3503 from makigumo/patch-2
...
maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32
2020-03-15 21:21:38 -03:00
52acb7f9a0
maxwell_to_vk: Implement RG32 and RGB32 integer vertex formats
2020-03-15 18:51:49 -03:00
71cc772988
vk_rasterizer: Implement layered clears
2020-03-15 18:37:19 -03:00
f91046bf8d
vk_shader_decompiler: fix linux build
2020-03-15 18:00:14 +01:00
a7131af7d6
vk_rasterizer: Fix vertex range assert
...
End can be equal to start in CalculateVertexArraysSize. This is quite
common when the vertex size is zero.
2020-03-15 04:04:17 -03:00
8baf98e439
vk_rasterizer: Reimplement clears with vkCmdClearAttachments
2020-03-15 03:40:41 -03:00
380fc8d2e1
DirtyFlags: relax need to set render_targets as dirty
...
The texture cache already takes care of setting a render target to dirty
when invalidated.
2020-03-14 11:47:33 -04:00
69c7a01f88
vk/gl_shader_decompiler: Silence assertion on compute
2020-03-13 18:33:05 -03:00
62560f1e63
vk_shader_decompiler: Fix default varying regression
2020-03-13 18:33:05 -03:00
47459f6a36
vk_shader_decompiler: Fix implicit type conversion
...
Co-Authored-By: Mat M. <mathew1800@gmail.com >
2020-03-13 18:33:05 -03:00
2fae1e6205
vk_rasterizer: Implement transform feedback binding zero
2020-03-13 18:33:05 -03:00
b67360c0f8
vk_shader_decompiler: Add XFB decorations to generic varyings
2020-03-13 18:33:05 -03:00
8d5bdcb17b
vk_device: Enable VK_EXT_transform_feedback when available
2020-03-13 18:33:05 -03:00