Henrik Rydgård
75bcb9b10c
Some renaming, flag updates
2023-03-18 11:46:22 +01:00
Henrik Rydgård
5f76fbe1ad
Implement padding-on-copy for compressed textures as well.
2023-03-17 14:00:14 +01:00
Henrik Rydgård
cf6cce0744
Remove scaleFactor from struct ReplacedTextureDecodeInfo, instead pass in both unscaled and scaled dimensions
2023-03-16 10:21:57 +01:00
Henrik Rydgård
f2a5a5abe7
Avoid input/output arguments in the texture scaler too
2023-03-16 10:14:41 +01:00
Henrik Rydgård
87a16b0386
Fix the stats
2023-03-15 10:19:00 +01:00
Henrik Rydgård
089b63c22f
Address feedback, except the stats.
2023-03-15 10:09:39 +01:00
Henrik Rydgård
2ac74e3d37
Remove the PushBufferType enum
2023-03-15 09:59:00 +01:00
Henrik Rydgård
181ddf8266
Change the API of the old VulkanPushBuffer to match VulkanPushPool.
2023-03-15 09:56:32 +01:00
Henrik Rydgård
6d3a25e81f
Tweak some sizes.
2023-03-15 01:25:03 +01:00
Henrik Rydgård
c8b25e50b0
Better debug vis for push pools
2023-03-15 01:25:03 +01:00
Henrik Rydgård
9fcd6d6612
Use thin3d's push pool in the draw engine too.
2023-03-15 01:25:03 +01:00
Henrik Rydgård
700b1cd6a7
More conversion to pushPool
2023-03-15 01:25:03 +01:00
Henrik Rydgård
3d372400e1
Start converting over to it
2023-03-15 01:25:03 +01:00
Henrik Rydgård
56d792f422
Sketch the new VulkanPushPool
2023-03-15 01:25:00 +01:00
Henrik Rydgård
effbe6376a
Remove an unused VulkanPushBuffer.
...
Saves about 0.75MB of VRAM, but mainly just to clean things up.
I think I meant to use this one instead of grabbing the one from
DrawEngine in the TextureCache.
2023-03-14 23:39:47 +01:00
Henrik Rydgård
6d520d6d6b
Vulkan: Enable mobile compressed formats too (oops)
2023-03-14 11:55:21 +01:00
Henrik Rydgård
91900eda7e
Don't try to generate mips for compressed replacement images
2023-03-14 11:55:21 +01:00
Henrik Rydgård
2b1e87792f
Vulkan: During texture upload, batch the buffer->image copies to do all the mips at once.
2023-03-14 10:11:19 +01:00
Henrik Rydgård
1860a73d58
Address feedback from previous PR
2023-03-12 23:15:09 +01:00
Henrik Rydgård
f88633b696
Add support for loading multiple mipmaps from DDS files.
2023-03-12 23:05:45 +01:00
Henrik Rydgård
6a84d96a3c
Add actual support for DDS textures to the replacer. Vulkan only.
2023-03-11 11:34:28 +01:00
Henrik Rydgård
092bbf5eaa
Fix saving of textures
2023-03-09 10:51:15 +01:00
Henrik Rydgård
bda09be109
Texture color format doesn't belong as a per-level property, that's not supported.
...
All levels of a texture must have the same format.
2023-03-09 00:10:46 +01:00
Henrik Rydgård
4ba2001479
Replacer: Make the cache data model texture-centric instead of level-centric
2023-03-09 00:10:46 +01:00
Henrik Rydgård
226197f30f
Replace "none_" with nullptr.
2023-03-08 13:17:10 +01:00
Henrik Rydgård
3b39e9e068
Turn the VFS into a class, to be able to reuse it for other purposes.
2023-03-06 16:42:47 +01:00
Henrik Rydgård
cc9c01b1d0
Vulkan texture uploads: Take optimalBufferCopyRowPitchAlignment into account
...
Might marginally increase texture upload performance on some GPUs, but
mainly just the right thing to do.
For example, on Intel, this is 64.
2023-03-05 17:32:41 +01:00
Henrik Rydgård
ef4f17e998
Resurrect the Vulkan memory visualizer, but now it's global stats and pushbuffer stats.
2023-02-27 01:11:11 +01:00
Unknown W. Brackets
9e46a30c13
GPU: Correct some missing override specifiers.
2023-02-26 15:58:58 -08:00
Henrik Rydgård
b3ce31c61e
Address feedback
2023-02-26 19:54:30 +01:00
Henrik Rydgård
72bed6f2b5
Some DeviceLost/DeviceRestore cleanup
2023-02-26 11:05:52 +01:00
Henrik Rydgård
3dc47c7fef
Unify TextureCache ::StartFrame as much as possible.
...
Tiny optimization avoiding a Vulkan pool reset on most frames.
2023-02-25 23:20:41 +01:00
Henrik Rydgård
4c45f8a4b0
Pass in draw directly in GPUCommon::DeviceRestore, instead of awkwardly fetching it
2023-02-25 23:04:27 +01:00
Henrik Rydgård
af2fd7b038
Move Vulkan clear detection logic into DrawEngine like the other backends.
2023-02-25 19:23:07 +01:00
Henrik Rydgård
8fb75e0c12
Unify most of the DebugGetShader* functions
2023-02-25 16:42:09 +01:00
Henrik Rydgård
c2c479b217
Remove function InitClear. Was only implemented for DX9, and only barely meaningful in non-buffered.
2023-02-25 16:32:50 +01:00
Henrik Rydgård
8ba665e258
More unification work
2023-02-25 16:12:24 +01:00
Henrik Rydgård
c74f5b2189
Prepare for unifying more stuff
2023-02-25 16:01:32 +01:00
Henrik Rydgård
285ffbaa52
Unify CopyDisplayToOutput
2023-02-25 14:42:15 +01:00
Henrik Rydgård
18999c3687
Create the GPUCommonHW class.
2023-02-25 14:42:10 +01:00
Henrik Rydgård
0d57f3beee
Unify GPUCommon::DoState.
2023-02-25 12:21:03 +01:00
Henrik Rydgård
609a8f6d36
Unify ExecuteOp between the accelerated backends
2023-02-25 12:21:03 +01:00
Henrik Rydgård
ed03348c65
Unify PreExecuteOp, keep the soft GPU as a special case
2023-02-25 12:21:03 +01:00
Henrik Rydgård
da561aa9de
Unify CheckFlushOp
2023-02-25 12:21:03 +01:00
Henrik Rydgård
30120560ab
Include file cleanup in framebuffer managers
2023-02-25 12:21:00 +01:00
Henrik Rydgård
1b5148bb6c
Remove kinda-duplicate function.
2023-02-24 23:54:04 +01:00
Henrik Rydgård
d426ce5118
Clear depth buffers after changing depth rounding mode.
...
And thus change of depth buffer scale/offset.
Previously, old depth buffers with values that now are out of range
could stick around, causing #16941 . This clears them to the expected 0
value, which helps Outrun. Ideally we should convert depth buffers to
the new format, but if we can get away without that, that's also nice.
This is enough for #16941 .
2023-02-10 10:03:14 +01:00
Henrik Rydgård
d7605c6877
Use dedicated threads for the shader object creation. Bypasses the deadlock possibility.
2023-02-01 11:15:33 +01:00
Henrik Rydgård
6b0903f566
Add facility to run tasks on dedicated threads using the ThreadManager interface.
...
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).
Considering using this to resolve the deadlocks in #16802 .
2023-01-31 11:07:40 +01:00
Unknown W. Brackets
1c8bedbed9
Vulkan: Align for all Apple devices, not just M1.
2023-01-18 07:28:12 -08:00