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
c320702092
vk_device: Shrink formatless capability name size
2020-03-13 18:33:05 -03:00
7acebd7eb6
vk_shader_decompiler: Use registry for specialization
2020-03-13 18:33:05 -03:00
244fe13219
Merge branch 'master' into shader-purge
2020-03-13 16:44:06 -03:00
753bc2026f
fix formatting
2020-03-13 11:37:24 +01:00
54681909be
maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32
2020-03-13 11:26:13 +01:00
00e9ba0603
Merge pull request #3483 from namkazt/patch-1
...
vk_rasterizer: fix mistype on SetupGraphicsImages
2020-03-12 22:10:48 -04:00
f159a12820
Merge pull request #3480 from ReinUsesLisp/vk-disabled-ubo
...
vk_rasterizer: Support disabled uniform buffers
2020-03-12 22:09:49 -04:00
4dcca90ef4
video_core: Implement RGBA16_SNORM
...
Implement RGBA16_SNORM with the current API. Nothing special here.
2020-03-12 21:42:33 -03:00
e8efd5a901
video_core: Rename "const buffer locker" to "registry"
2020-03-09 18:40:06 -03:00
22e825a3bc
Merge pull request #3301 from ReinUsesLisp/state-tracker
...
video_core: Remove gl_state and use a state tracker based on dirty flags
2020-03-09 18:34:37 -03:00
16cfbb068c
vk_reasterizer: fix mistype on SetupGraphicsImages
...
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
2020-03-08 10:06:59 +07:00
662feb8c1c
Merge pull request #3481 from ReinUsesLisp/abgr5-storage
...
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-07 19:51:33 -05:00
e4f9ce0379
vk_rasterizer: Support disabled uniform buffers
2020-03-06 18:47:51 -03:00
aa6fe3f1aa
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-06 18:47:27 -03:00
49eff536d0
Merge pull request #3463 from ReinUsesLisp/vk-toctou
...
vk_swapchain: Silence TOCTOU race condition
2020-03-05 19:38:42 -05:00
0361aa1915
Merge pull request #3451 from ReinUsesLisp/indexed-textures
...
vk_shader_decompiler: Implement indexed textures
2020-03-05 11:42:46 -05:00
67e7186d79
Merge pull request #3455 from ReinUsesLisp/attr-scaled
...
video_core: Implement more scaled attribute formats
2020-03-03 22:46:20 -05:00
ac204754d4
dirty_flags: Deduplicate code between OpenGL and Vulkan
2020-02-28 17:56:43 -03:00
6669b359a3
vk_rasterizer: Pass Maxwell registers to dynamic updates
2020-02-28 17:56:43 -03:00
042256c6bb
state_tracker: Remove type traits with named structures
2020-02-28 17:56:43 -03:00
6ac3eb4d87
vk_state_tracker: Implement dirty flags for stencil properties
2020-02-28 17:56:43 -03:00
f9df2c6bcd
vk_state_tracker: Implement dirty flags for depth bounds
2020-02-28 17:56:43 -03:00
cd0e28c9ec
vk_state_tracker: Implement dirty flags for blend constants
2020-02-28 17:56:43 -03:00
a33870996b
vk_state_tracker: Implement dirty flags for depth bias
2020-02-28 17:56:43 -03:00
42f1874965
vk_state_tracker: Implement dirty flags for scissors
2020-02-28 17:56:43 -03:00
1bd95a314f
vk_state_tracker: Initial implementation
...
Add support for render targets and viewports.
2020-02-28 17:56:43 -03:00