GUI/Model texture is upscaled in vulkan
lafoxxx92 opened this issue · comments
build:
8.00pre
steps:
vid_renderer vk
vid_restart
vk_texturemode vk_nearest
actual:
looks like texture size is larger, it's resampled
(i'm using the arrow as a crosshair)
"high quality resize" engaged when it shouldn't
expected:
looks same as when using gl1, gl3 or soft
cinematic looks properly (pixelated)
device:
windows 1909
rog strix x470-f gaming
gtx1060-6gb
It looks like the Vulkan implementation always scales up to the nearest power of 2 texture in the Vk_Upload32 function.
It looks like the GL3 implementation simply doesn't bother.
The GL1 implementation checks against gl_config.npottextures, which is set from checking for the GL_ARB_texture_non_power_of_two extension.
Should the Vulkan implementation just follow GL3 and not bother scaling?
Scaling should not be enabled by default, because "VK_NEAREST" (just like "GL_NEAREST") is never on by default, and people (like me) only enable this mode to make the game look pixelated (like in Software). Having this scaling enabled messes up the textures, and makes them look even worse than in Software, where everything is nice and sharp.
As an extra note, removing the nearest power of 2 scaling to be parity with GL3 would also make vk_picmip useless, but GL3 doesn't have picmip either it looks like.
My opinion might be ignorant, but today's computers are very powerful compared to 1997 ones, and disabling mipmapping might not affect performance and/or take much VRAM in any way.
I don't think it would break mipmapping altogether, and it may even be possible to support vk_picmip still despite it being weird added complexity, but I'm trying to essentially ask what Yamagi wants.