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
1eeba6dcca
VideoBackends:D3D12: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
9624479933
VideoBackends:OGL: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
3a5901d12e
VideoBackends:Vulkan: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
678ee48bfc
VideoBackends:Metal: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
68f49df0f8
VideoCommon: Add 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
f9fe25291d
Remove most uses of StringFromFormat in favor of fmt
2022-10-12 16:50:47 -07:00
332824f7d5
VideoBackends:Vulkan: Fix command buffer cleanup
2022-10-08 21:40:33 +02:00
fd2680d8b4
VideoBackends:Metal: Use a temporary buffer for large texture uploads
2022-10-08 04:46:07 -05:00
a13f09433c
VideoBackends:Metal: Add config option to use presentDrawable
2022-10-08 04:46:07 -05:00
5a1b90c7f3
VideoBackends:Metal: Explicitly disable arc
...
Makes it easier to enable arc elsewhere without breaking the Metal backend
2022-10-08 04:46:07 -05:00
c08de82e90
VideoBackends:Metal: Bring back unified memory config
...
Turns out it was helpful. (Most improvement in ubershaders.) This time with much better auto mode.
2022-10-08 04:46:05 -05:00
93ce7bf344
VideoBackends:Metal: Unroll lighting loop
2022-10-08 04:44:48 -05:00
45ee1be6da
VideoBackends:Metal: Properly set vsync on creation
2022-10-08 04:44:48 -05: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
68eda7f887
Merge pull request #11084 from K0bin/qcom-workaround
...
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30 15:33:00 -04:00
81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver
2022-09-30 21:13:42 +02:00
0c19a1d87c
Merge pull request #11100 from Pokechu22/software-settings-merge
...
Use the same settings for the software renderer as other backends
2022-09-29 09:05:51 -04:00
b90d23158f
Software: Fix mipmaps and uneven strides in SWTexture
...
I think this is only used for texture dumping, but this resolves some failed assertions and glitchy results.
2022-09-26 19:43:57 -07:00
a6c00c7633
D3D12: Fix backend multithreading incorrectly being marked as supported
2022-09-26 19:24:52 -07:00
56fce3ba8a
Software: Remove dedicated texture/frame dumping infrastructure
...
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
2022-09-26 18:25:54 -07:00
ee692abbe1
VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
...
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
1eb3aaa548
VideoCommon: Use std::array in PortableVertexDeclaration
2022-09-19 16:28:24 -05: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
dae56a24b8
VideoBackends:D3D12: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
936b4d5d0d
VideoBackends:Vulkan: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
7edc8b4e79
VideoBackends:Metal: Don't set primitive on ubershaders
2022-09-19 16:28:24 -05:00
99533d2840
VideoCommon: Add separate pipeline usage for UberShaders
2022-09-19 16:28:24 -05:00
d3dae1cd7e
VideoBackends:Metal: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
4c629c2bee
VideoCommon: Add dynamic vertex loader to ubershaders
2022-09-19 16:28:23 -05:00
2dfe91336a
Merge pull request #10549 from Pokechu22/sw-tev-enum-map
...
Refactor various bits of graphics code for readability
2022-09-08 09:42:12 -07:00
362167fde5
MTLObjectCache: Correct signature of equality operator
...
Not doing so produces a warning in clang:
ISO C++20 considers use of overloaded operator '!=' (with operand types
'Metal::DepthStencilSelector' and 'Metal::DepthStencilSelector') to be
ambiguous despite there being a unique best viable function with
non-reversed arguments
The underlying reason for this warning is an incorrect method signature.
2022-08-29 21:23:23 +01:00
5ef8a7973e
BPMemory: Make TevKSel more clear
...
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner). Since these are indexed very differently, the old code was hard to follow.
2022-08-29 11:10:05 -07:00
4206ac243b
SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMap
2022-08-29 11:10:05 -07:00
ae0fcd9a9f
SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColors
2022-08-29 11:10:05 -07:00
3b9a048291
SW/Tev: Use std::clamp for Clamp255 and Clamp1024
2022-08-29 11:10:05 -07:00
bae0f21f74
SW/Tev: Remove Tev::Init
2022-08-29 11:10:05 -07:00