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 and GitHub
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
Henrik Rydgård
84c8fee1f2
Interleave calls to Populate / PrepareData
2023-03-10 20:41:43 +01:00
Henrik Rydgård
9b7a1a2ddc
Move the "Populate" phase onto the thread
2023-03-10 20:31:37 +01:00
Henrik Rydgård
dad7777b6f
Heap-allocate the desc
2023-03-10 20:13:10 +01:00
Henrik Rydgård
ed7947c94b
Finish the move of Populate to ReplacedTexture
2023-03-10 17:50:16 +01:00
Henrik Rydgård
96111537e2
Move PopulateLevel to the texture
2023-03-10 17:26:41 +01:00
Henrik Rydgård
36f78a46c1
Rename PREPARED->POPULATED
2023-03-10 17:21:23 +01:00
Henrik Rydgård
f459a8f71a
Fix ini-less texture replacement
2023-03-10 14:58:44 +01:00
Henrik Rydgård
07fc551e4e
State fixes, disable logspam
2023-03-10 14:16:14 +01:00