Scott Mansell
e98ab0784d
Merge pull request #11501 from iwubcode/abstract_texture_load_specify_layer
...
VideoBackends: add a way to load data into a specific level AND layer
2023-02-01 00:03:59 +13:00
Admiral H. Curtiss
df9ba70c35
Merge pull request #11507 from phire/Wnullablitly-completeness
...
Ignore nullability-completeness warnings in VMA
2023-01-30 10:03:49 +01:00
Scott Mansell
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
iwubcode
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
iwubcode
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
Admiral H. Curtiss
cb0a603c72
VideoCommon: De-globalize GeometryShaderManager class.
2022-12-29 15:33:19 +01:00
Mai
7552deeff4
Merge pull request #11388 from AdmiralCurtiss/globals-vertexshadermanager
...
VideoCommon: De-globalize VertexShaderManager class.
2022-12-29 04:48:24 +00:00
JMC47
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
Admiral H. Curtiss
50625728e0
VideoCommon: De-globalize VertexShaderManager class.
2022-12-28 15:52:29 +01:00
Admiral H. Curtiss
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
Robin Kertels
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
Minty-Meeo
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
JMC47
fb8aa9744e
Merge pull request #11286 from K0bin/vk-query-fix
...
VideoBackends: Query fixes and cleanups
2022-12-19 03:15:48 -05:00
Admiral H. Curtiss
c9f31ad6a6
Merge pull request #11262 from K0bin/present-sync
...
VideoBackends:Vulkan: Synchronize presentation
2022-12-04 14:30:59 +01:00
Robin Kertels
35a6d16d9e
VideoBackends: Rename query_type to query_group
2022-11-29 23:14:23 +01:00
Robin Kertels
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
Robin Kertels
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
Pokechu22
cc5640245c
Fix build errors related to formatting non-scoped enums
2022-11-23 13:45:43 -08:00
Robin Kertels
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
Robin Kertels
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
JMC47
027e10460a
Merge pull request #10977 from tellowkrinkle/FixBackendMultithreading
...
VideoBackends:Vulkan: Improve backend multithreading
2022-10-25 04:14:01 -04:00
JMC47
b66793194e
Merge pull request #11028 from tellowkrinkle/MetalFixes
...
Various Metal renderer improvements
2022-10-24 15:22:37 -04:00
JMC47
cdcbe51b2a
Merge pull request #10890 from tellowkrinkle/VertexLineExpand
...
VideoCommon: Add vertex shader point/line expansion
2022-10-23 01:49:26 -04:00
Robin Kertels
aa1679f2c7
VideoBackends:Vulkan: Clean up unused memory allocation code
2022-10-23 03:21:29 +02:00
Robin Kertels
1ba58e83ca
VideoBackends:Vulkan: Use VMA for stream buffer
2022-10-23 03:21:29 +02:00
Robin Kertels
0e1b7a7b35
VideoBackends:Vulkan: Use VMA for bounding box
2022-10-23 03:21:29 +02:00
Robin Kertels
0532f4a05a
VideoBackends:Vulkan: Use VMA for staging buffers
2022-10-23 03:21:14 +02:00
TellowKrinkle
3a5901d12e
VideoBackends:Vulkan: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
Robin Kertels
3ffbf94b2a
VideoBackends:Vulkan: Set up VMA
...
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2022-10-23 02:54:35 +02:00
TellowKrinkle
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
Admiral H. Curtiss
10f973a87f
Merge pull request #11122 from K0bin/descriptor-overhaul
...
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-17 04:25:35 +02:00
Robin Kertels
6992b0d8e1
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-16 17:04:35 +02:00
Pokechu22
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
Robin Kertels
332824f7d5
VideoBackends:Vulkan: Fix command buffer cleanup
2022-10-08 21:40:33 +02:00
TellowKrinkle
274d4679ca
VideoBackends:Multiple: More GPUs with broken subgroup ops
2022-10-08 04:44:48 -05:00
Admiral H. Curtiss
eea31db781
Vulkan/CommandBufferManager: Show error code in PanicAlerts.
2022-10-04 19:50:23 +02:00
JMC47
c196c47e81
Merge pull request #11090 from K0bin/submit-rework
...
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
Robin Kertels
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
Robin Kertels
fba7d35f94
VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer
2022-10-01 01:26:04 +02:00
Robin Kertels
ed75a58061
VideoBackends:Vulkan: Decouple available command buffers from frames in flight
2022-10-01 01:26:04 +02:00
Robin Kertels
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
Robin Kertels
2e6d8d6575
VideoBackends:Vulkan: Fix validation error around surface_capabilities2
2022-10-01 01:26:03 +02:00
Robin Kertels
81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver
2022-09-30 21:13:42 +02:00
TellowKrinkle
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
TellowKrinkle
936b4d5d0d
VideoBackends:Vulkan: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
TellowKrinkle
99533d2840
VideoCommon: Add separate pipeline usage for UberShaders
2022-09-19 16:28:24 -05:00
TellowKrinkle
4c629c2bee
VideoCommon: Add dynamic vertex loader to ubershaders
2022-09-19 16:28:23 -05:00
Pokechu22
0cced44142
Use `__VA_OPT__(, ) __VA_ARGS__` instead of `##__VA_ARGS__`
...
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling).
Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty.
This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-23 12:09:57 -07:00
Pokechu22
da7aded00d
Vulkan: Remove unused swap chain functions
...
These were added in 5e29508b8f
and 1f2d43c870
, but were replaced with CONFIG_CHANGE_BIT_VSYNC and CONFIG_CHANGE_BIT_STEREO_MODE in e4b205c769
.
2022-08-17 18:16:17 -07:00
TellowKrinkle
6559c6b8ee
VideoBackends:Multiple: Grammar fixes
2022-07-21 20:44:19 -05:00