Henrik Rydgård
3ffcf267cb
Allow replacing mip levels of a texture even without a ini file. Probably niche.
2023-12-29 19:06:20 +01:00
Henrik Rydgård
ebaebf5945
Merge pull request #18546 from GermanAizek/make-smart-ptr
...
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointers using C++17 std::make_*
2023-12-14 14:02:55 +01:00
Herman Semenov
08070e7f31
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointer using C++17 std::make_*
2023-12-14 15:44:16 +03:00
Herman Semenov
de80cc3883
Using reserve if possible
2023-12-12 15:13:43 +03:00
Henrik Rydgård
be65cf0fc2
Assert improvements
2023-09-12 17:15:26 +02:00
Henrik Rydgård
c1a290b41f
ReplacedTexture: Bugfix D3D workaround log check
2023-07-23 22:06:06 +02:00
Henrik Rydgård
ace217008a
In D3D11, force block compressed textures to have dimensions divisible by 4
...
Fixes #17745 (crash when loading certain texture packs in D3D11)
This is an old unfortunate limitation. Only applies to the top mip
level, which makes it obvious that it's kinda unnecessary for the
hardware and indeed, Vulkan and OpenGL don't have this limitation.
2023-07-20 19:44:00 +02:00
Henrik Rydgård
2e3a676d71
Support BC1,2,3 formats also if packed in a DX10-style DDS.
2023-05-01 20:55:31 +02:00
Henrik Rydgård
cdfe4524ea
ReplacedTexture: Opportunistically delete the waitable
2023-03-28 09:21:41 +02:00
Henrik Rydgård
4e41233bb7
Replacement: Save textures even if already replaced, if the png is missing.
...
Fixes #17182
Not exactly sure what behavior we really want, but I think this one is
OK, and at least more similar to the old one. Now we save
already-replaced textures if the named replacement texture is missing, and there
isn't already a hash-named one in new or the "root".
2023-03-27 15:43:18 +02:00
Unknown W. Brackets
f1834fcdde
Replacement: Correct padding w/ threads disabled.
2023-03-25 17:12:43 -07:00
Henrik Rydgård
6950801e25
Not much point with a single line cleanup function. Also remove redundant check.
2023-03-19 00:04:48 +01:00
Henrik Rydgård
97c9b9e4f7
Break out PollReplacement from TextureCacheCommon::FindReplacement
2023-03-18 12:01:24 +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
79f4e73110
Replacer: Perform the padding to pow2 size during CopyLevelTo, not during load. Saves memory.
2023-03-17 14:00:14 +01:00
Henrik Rydgård
1b0d5ec3aa
Remove a unused state from ReplacedTexture, rename POPULATED to UNLOADED
2023-03-17 00:52:38 +01:00
Henrik Rydgård
6a430f2a14
ReplacedTexture: Some initialization. For UASTC, seems we need to clear the transcoder state.
2023-03-17 00:02:01 +01:00
Henrik Rydgård
f154f4a29d
Warning fix
2023-03-16 15:06:38 +01:00
Henrik Rydgård
e34a5a68de
Remove some locking
2023-03-16 12:04:14 +01:00
Henrik Rydgård
725d4195df
Small cleanup of purging code
2023-03-16 11:53:39 +01:00
Henrik Rydgård
35f46ec161
Rework the replacement cache. No more duplicate ReplacedTexture objects.
2023-03-16 11:46:05 +01:00
Henrik Rydgård
c45376ddc7
Typo fix, thanks iota97
2023-03-15 20:31:27 +01:00
Henrik Rydgård
0fb7ff488e
Add a convenient define to experiment with parallel copy
2023-03-15 14:48:32 +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
c31b4be690
Crashfix in ReplacedTexture. Thought I fixed this one before, hm.
2023-03-15 01:23:32 +01:00
Henrik Rydgård
13e63c109f
If the target compression format is not supported, just transcode to RGBA8888.
2023-03-14 18:52:42 +01:00
Henrik Rydgård
b45f1db005
Correct some error reporting
2023-03-14 18:34:22 +01:00
Henrik Rydgård
d8c3269cc6
Fix zipped texture packs (it didn't load the ini from the zip, the rest worked).
...
Plus a few other things.
2023-03-14 17:53:01 +01:00
Henrik Rydgård
4bbc4c258a
Remove sketch of Basis container format support (we go with KTX2 instead as the container)
2023-03-14 14:09: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
93bf82a906
Add KTX2 basis/UASTC texture transcoding support
2023-03-14 11:55:21 +01:00
Henrik Rydgård
0fd58d80d5
Detect BASIS files. Doesn't do much with them yet.
2023-03-14 11:55:21 +01:00
Henrik Rydgård
32e8ab3b5d
Import all of basisu_transcoder, set up build
2023-03-13 12:37:43 +01:00
Henrik Rydgård
7df51c3d06
Merge pull request #17103 from hrydgard/replacement-dds-mipmaps
...
Texture replacement: Load DDS mipmaps
2023-03-13 09:58:32 +01:00
Unknown W. Brackets
2a20c5757f
Build: Fix build on Visual Studio 2019.
2023-03-12 16:46:19 -07: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
b1b8fc65cf
Error handling fixes (close the file).
2023-03-12 23:05:45 +01:00
Henrik Rydgård
b595a1dc4d
Prepare LoadLevelData for loading multiple mips.
2023-03-12 16:18:49 +01:00
Henrik Rydgård
aaa83897fe
Some code moving, tweaks
2023-03-12 16:18:49 +01:00
Henrik Rydgård
a4b5641f11
Add compressed texture format support checks
2023-03-12 16:18:46 +01:00
Henrik Rydgård
b44e879d21
Support DXT1/3/5 (BC1,2,3) in D3D9
2023-03-12 11:37:17 +01:00
Henrik Rydgård
f2673c8f7b
Change BGRA to be a texture-specific flag. Fixes R/B swap in DDS textures in D3D11.
2023-03-12 10:19:12 +01:00
Henrik Rydgård
d95cd73c2c
Address a round of feedback
2023-03-11 21:46:01 +01:00
Henrik Rydgård
996b685294
Fix BC7 textures
2023-03-11 12:34:08 +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
f936a6e9ce
Structs and enums and build files
2023-03-11 11:19:33 +01:00
Henrik Rydgård
3dc2463b55
Simplify, avoid opening file twice (still rewinding!)
2023-03-10 23:36:00 +01:00
Henrik Rydgård
265ae5d0e9
Make the two methods more compatible
2023-03-10 23:28:11 +01:00
Henrik Rydgård
6ece79c3fa
Move PopulateLevel and PrepareData next to each other, for later merging
2023-03-10 21:06:33 +01:00