Commit graph

9063 commits

Author SHA1 Message Date
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
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
21a0a91818 Remove a misplaced ForgetLastTexture.
Fixes #17115
2023-03-14 15:49:35 +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
91900eda7e Don't try to generate mips for compressed replacement images 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
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
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
c32e3f89f1 D3D11 mipmap stride fix 2023-03-12 23:31:51 +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
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
b687f1bba8 Implement basic block compression support for OpenGL (without feature checks so far) 2023-03-12 00:14:06 +01:00
Henrik Rydgård
7e4dc23bcc Fix BC textures in D3D11 - except that they're red/blue swapped. Ugh. 2023-03-11 23:55:43 +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
8e3428438e Replacement: Fix mip level loading. Fix bug if LoadIni gets rerun for some reason. 2023-03-10 23:58:15 +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
9e8e2e41fa Move most of Populate to ReplacedTexture, although not the cpp 2023-03-10 17:43:12 +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
207e2259e7 Cleanup texture saving a bit 2023-03-10 15:39:45 +01:00
Henrik Rydgård
f459a8f71a Fix ini-less texture replacement 2023-03-10 14:58:44 +01:00
Henrik Rydgård
53791b1816 Restore functionality of the allowVideo flag, while preserving the early-out. 2023-03-10 14:18:42 +01:00
Henrik Rydgård
07fc551e4e State fixes, disable logspam 2023-03-10 14:16:14 +01:00
Henrik Rydgård
9f45271730 Tex replacer state machine instead of flags 2023-03-10 13:43:48 +01:00
Henrik Rydgård
06b83115a5 Replacer: Avoid tracking video textures 2023-03-10 12:20:55 +01:00
Henrik Rydgård
654f4bff40 Split out ReplacedTexture into its own file. 2023-03-09 21:19:20 +01:00
Henrik Rydgård
cb10862510 Move texture replacer to GPU/Common.
Add new files ReplacedTexture.cpp/h too.
2023-03-09 21:11:53 +01:00
Henrik Rydgård
ecf1134494 GL crashfix 2023-03-09 19:12:47 +01:00
Henrik Rydgård
b253225815 Fix another replacer lifecycle issue, causing unnecessary texture invalidation. 2023-03-09 15:03:17 +01:00