abfc75f362
Cleanup headers
2023-01-31 19:41:24 +13:00
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
8bc8e43dd6
Add virtual Initialize() to PerfQueryBase
...
Both DX12 and Vulkan already had one.
2023-01-31 19:41:24 +13:00
06ae08ca8b
Fix misnamed local variable
2023-01-31 19:41:24 +13:00
2a2014af09
Implement AbstractGfx for Vulkan
2023-01-31 19:41:23 +13:00
0d4537d60f
Move Presenting, Dumping and ImGui out of Renderer
2023-01-31 18:45:21 +13:00
606c18210d
TextureCache: Refactor with smart pointers
...
The whole ownership model was getting a bit of a mess, with a some
of special cases to deal with. And I'm planning to make it even more
complex in the future.
So here is some upfront work to convert it over to reference counted
pointers.
2023-01-31 18:29:47 +13:00
df9ba70c35
Merge pull request #11507 from phire/Wnullablitly-completeness
...
Ignore nullability-completeness warnings in VMA
2023-01-30 10:03:49 +01:00
6ad182edd9
Ignore nullability-completeness warnings in VMA
...
These cause a lot of warnings when compiling with clang.
And the example VmaUsage.h appears to disable them
2023-01-30 03:11:51 +13:00
7bea39b39e
VideoBackends: add a way to load data into a specific level AND layer, default to layer 0
2023-01-27 18:46:53 -06:00
271c60781b
VideoBackends: update Vulkan's 'CopyRectangleFromTexture' to copy one layer, copying more than one layer doesn't make sense given that we provide both the source/destination layer
2023-01-27 18:41:52 -06:00
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class.
2022-12-29 15:33:19 +01:00
7552deeff4
Merge pull request #11388 from AdmiralCurtiss/globals-vertexshadermanager
...
VideoCommon: De-globalize VertexShaderManager class.
2022-12-29 04:48:24 +00:00
82e5f438f9
Merge pull request #11219 from K0bin/android-vk-alidation
...
VideoBackends:Vulkan: Migrate to VK_EXT_debug_utils
2022-12-28 14:16:51 -05:00
50625728e0
VideoCommon: De-globalize VertexShaderManager class.
2022-12-28 15:52:29 +01:00
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
19a4653203
VideoBackends:Vulkan: Replace debug_report with debug_utils
...
The former is deprecated and pretty much all modern drivers
support VK_EXT_debug_utils.
Android drivers dont support it. On those drivers,
we use the implementation provided by the validation layers.
2022-12-27 02:48:50 +01:00
14179f7565
Follow-up on a four-year-old Android NDK workaround
...
Surely this is fixed by now.
2022-12-22 19:54:46 -06:00
fb8aa9744e
Merge pull request #11286 from K0bin/vk-query-fix
...
VideoBackends: Query fixes and cleanups
2022-12-19 03:15:48 -05:00
c9f31ad6a6
Merge pull request #11262 from K0bin/present-sync
...
VideoBackends:Vulkan: Synchronize presentation
2022-12-04 14:30:59 +01:00
35a6d16d9e
VideoBackends: Rename query_type to query_group
2022-11-29 23:14:23 +01:00
df2e07ad29
VideoBackends:Vulkan: Fix incorrect barriers in StagingBuffer
...
HOST barriers need to be issued regardless of
whether the memory type is coherent
and we need to properly synchronize writes to the buffer.
2022-11-29 23:14:23 +01:00
6ba7573877
VideoBackends:Vulkan: Fix queries
...
Fixes both checking whether queries are done
and actually resets query pools.
2022-11-29 23:14:07 +01:00
cc5640245c
Fix build errors related to formatting non-scoped enums
2022-11-23 13:45:43 -08:00
3beb22ed7f
VideoBackends:Vulkan: Synchronize presentation
...
Synchronize with the submission thread
if the last present is not done yet.
2022-11-07 02:20:22 +01:00
f5fecaf964
VideoBackends:Vulkan: Fix 0 size descriptor pools
...
[ VUID-VkDescriptorPoolCreateInfo-maxSets-00301 ] Object 0:
handle = 0x7f1,b8d,3cd,e70, type = VK_OBJECT_TYPE_DEVICE; |
MessageID = 0xa1,70e,236 | vkCreateDescriptorPool():
pCreateInfo->maxSets is not greater than 0.
The Vulkan spec states: maxSets must be greater than 0
2022-10-31 22:41:16 +01:00
027e10460a
Merge pull request #10977 from tellowkrinkle/FixBackendMultithreading
...
VideoBackends:Vulkan: Improve backend multithreading
2022-10-25 04:14:01 -04:00
b66793194e
Merge pull request #11028 from tellowkrinkle/MetalFixes
...
Various Metal renderer improvements
2022-10-24 15:22:37 -04:00
cdcbe51b2a
Merge pull request #10890 from tellowkrinkle/VertexLineExpand
...
VideoCommon: Add vertex shader point/line expansion
2022-10-23 01:49:26 -04:00
aa1679f2c7
VideoBackends:Vulkan: Clean up unused memory allocation code
2022-10-23 03:21:29 +02:00
1ba58e83ca
VideoBackends:Vulkan: Use VMA for stream buffer
2022-10-23 03:21:29 +02:00
0e1b7a7b35
VideoBackends:Vulkan: Use VMA for bounding box
2022-10-23 03:21:29 +02:00
0532f4a05a
VideoBackends:Vulkan: Use VMA for staging buffers
2022-10-23 03:21:14 +02:00
3a5901d12e
VideoBackends:Vulkan: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
3ffbf94b2a
VideoBackends:Vulkan: Set up VMA
...
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com >
2022-10-23 02:54:35 +02:00
6fd933915b
VideoBackends:Vulkan: Improve backend multithreading
...
Makes the multiple threads actually able to run at the same time
2022-10-17 00:05:35 -05:00
10f973a87f
Merge pull request #11122 from K0bin/descriptor-overhaul
...
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-17 04:25:35 +02:00
6992b0d8e1
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-16 17:04:35 +02:00
ae7b14887b
Remove varargs support from LOG_VULKAN_ERROR
...
Nothing currently uses it. It could theoretically be replaced with fmt support, but I don't think the LOG_VULKAN_ERROR macro is that useful and it'd be better to replace it with regular logging instead.
2022-10-12 16:50:51 -07:00
332824f7d5
VideoBackends:Vulkan: Fix command buffer cleanup
2022-10-08 21:40:33 +02:00
274d4679ca
VideoBackends:Multiple: More GPUs with broken subgroup ops
2022-10-08 04:44:48 -05:00
eea31db781
Vulkan/CommandBufferManager: Show error code in PanicAlerts.
2022-10-04 19:50:23 +02:00
c196c47e81
Merge pull request #11090 from K0bin/submit-rework
...
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
e5fb9c9adf
VideoBackends:Vulkan: Raise number of command buffers
...
Avoid waiting for earlier submissions when we flush more often.
The vertex manager will flush more often if the game accesses the EFB
on the CPU, to give the GPU a head start.
2022-10-01 01:26:04 +02:00
fba7d35f94
VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer
2022-10-01 01:26:04 +02:00
ed75a58061
VideoBackends:Vulkan: Decouple available command buffers from frames in flight
2022-10-01 01:26:04 +02:00
e8fa867f14
VideoBackends:Vulkan: Only synchronize with submission thread when necessary
...
We only need to synchronize with the submission thread
when submitting on the GPU thread or when waiting for a command buffer.
2022-10-01 01:26:04 +02:00
2e6d8d6575
VideoBackends:Vulkan: Fix validation error around surface_capabilities2
2022-10-01 01:26:03 +02:00
81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver
2022-09-30 21:13:42 +02:00
28b31b8327
VideoBackends:Vulkan: Make dynamic vertex loader optional
...
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00