mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Vulkan: Expand 16-bit textures to generate mips.
When using "Auto Max Quality", we can't use 16-bit formats. See #14804.
This commit is contained in:
parent
db21d0e7fc
commit
d9f62d690a
1 changed files with 3 additions and 2 deletions
|
@ -754,10 +754,11 @@ void TextureCacheVulkan::BuildTexture(TexCacheEntry *const entry) {
|
||||||
VkFormat dstFmt = GetDestFormat(GETextureFormat(entry->format), gstate.getClutPaletteFormat());
|
VkFormat dstFmt = GetDestFormat(GETextureFormat(entry->format), gstate.getClutPaletteFormat());
|
||||||
|
|
||||||
// TODO: Really should inspect the format capabilities.
|
// TODO: Really should inspect the format capabilities.
|
||||||
if (g_Config.iTexFiltering == TEX_FILTER_AUTO_MAX_QUALITY && dstFmt == VK_FORMAT_R8G8B8A8_UNORM) {
|
if (g_Config.iTexFiltering == TEX_FILTER_AUTO_MAX_QUALITY) {
|
||||||
// Boost the number of mipmaps.
|
// Boost the number of mipmaps.
|
||||||
int maxPossibleMipmaps = log2i(std::min(gstate.getTextureWidth(0), gstate.getTextureHeight(0)));
|
int maxPossibleMipmaps = log2i(std::min(gstate.getTextureWidth(0), gstate.getTextureHeight(0)));
|
||||||
maxLevelToGenerate = maxPossibleMipmaps;
|
maxLevelToGenerate = maxPossibleMipmaps;
|
||||||
|
dstFmt = VK_FORMAT_R8G8B8A8_UNORM;
|
||||||
}
|
}
|
||||||
|
|
||||||
int scaleFactor = standardScaleFactor_;
|
int scaleFactor = standardScaleFactor_;
|
||||||
|
@ -1092,7 +1093,7 @@ void TextureCacheVulkan::LoadTextureLevel(TexCacheEntry &entry, uint8_t *writePt
|
||||||
decPitch = w * bpp;
|
decPitch = w * bpp;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool expand32 = !gstate_c.Supports(GPU_SUPPORTS_16BIT_FORMATS);
|
bool expand32 = !gstate_c.Supports(GPU_SUPPORTS_16BIT_FORMATS) || dstFmt == VK_FORMAT_R8G8B8A8_UNORM;
|
||||||
DecodeTextureLevel((u8 *)pixelData, decPitch, tfmt, clutformat, texaddr, level, bufw, false, false, expand32);
|
DecodeTextureLevel((u8 *)pixelData, decPitch, tfmt, clutformat, texaddr, level, bufw, false, false, expand32);
|
||||||
gpuStats.numTexturesDecoded++;
|
gpuStats.numTexturesDecoded++;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue