Commit Graph
8502 Commits
Author SHA1 Message Date
Henrik Rydgård 32e8ab3b5d Import all of basisu_transcoder, set up build 2023-03-13 12:37:43 +01:00
Henrik RydgårdandGitHub 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
Henrik Rydgård 44c4e63753 Simplifies and speeds up D3D11 texture uploads. Also, fixes a bug with replacement off 2023-03-09 14:43:59 +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 3d5526a175 Allow specifying the VFS when loading INI files.
Will be useful in the tex replacer.
2023-03-07 10:04: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årdandGitHub ebd8a63914 Merge pull request #17032 from hrydgard/cache-framebuffer-copy
Cache framebuffer copies (for self-texturing) until the next TexFlush GPU instruction
2023-03-06 09:03:39 +01:00
Henrik RydgårdandGitHub 74f9b55669 Merge pull request #17055 from unknownbrackets/depth-zero-scale
GPU: Correct depth clip/cull for zero scale
2023-03-05 22:54:24 +01:00
Unknown W. Brackets 9fcc1509e4 GPU: Correct depth clip/cull for zero scale. 2023-03-05 08:51:45 -08: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