Page MenuHome

DDS Image files are not displayed correctly outside of Cycles/Thumbnails
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 770/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 452.06

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-09-16 21:05, hash: rB27660b3cd90d
Worked: version: 2.90.1

Blender either treats DDS images like they are 100% transparent or displays it like a corrupted image file (tiles of multi colored waves)
The color picker selects the colors, the thumbnails display correctly (file browser and the image list), and Cycles renders them but Eevee and Viewport don't.

This file has a DDS image texture. and an Image Empty to display it in viewport:

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Sep 24 2020, 8:36 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

There is an error message when you open this file with--debug_gpu`.
Perhaps this format is not being properly ported in blender.

GPUDebug: Error: glCompressedTextureSubImage2D has generated an error (GL_INVALID_ENUM)
Stack trace:
blender.exe         :0x00007FF734F48400  bli_windows_system_backtrace_stack_thread C:\Germano\Dev\BlenderDev\blender\source\blender\blenlib\intern\system_win32.c:233
blender.exe         :0x00007FF734F47850  BLI_windows_system_backtrace_stack C:\Germano\Dev\BlenderDev\blender\source\blender\blenlib\intern\system_win32.c:320
blender.exe         :0x00007FF734F47370  BLI_system_backtrace C:\Germano\Dev\BlenderDev\blender\source\blender\blenlib\intern\system_win32.c:383
blender.exe         :0x00007FF734E46130  blender::gpu::debug::debug_callback C:\Germano\Dev\BlenderDev\blender\source\blender\gpu\opengl\gl_debug.cc:117
atio6axx.dll        :0x00007FFA444A6C70  DrvPresentBuffers
atio6axx.dll        :0x00007FFA444A6C70  DrvPresentBuffers
atio6axx.dll        :0x00007FFA444A6C70  DrvPresentBuffers
atio6axx.dll        :0x00007FFA444A6C70  DrvPresentBuffers
atio6axx.dll        :0x00007FFA444A6C70  DrvPresentBuffers
blender.exe         :0x00007FF734E42520  blender::gpu::GLTexture::update_sub_direct_state_access C:\Germano\Dev\BlenderDev\blender\source\blender\gpu\opengl\gl_texture.cc:213
blender.exe         :0x00007FF734E421A0  blender::gpu::GLTexture::update_sub C:\Germano\Dev\BlenderDev\blender\source\blender\gpu\opengl\gl_texture.cc:250
blender.exe         :0x00007FF734E1EB80  GPU_texture_create_compressed_2d C:\Germano\Dev\BlenderDev\blender\source\blender\gpu\intern\gpu_texture.cc:309
blender.exe         :0x00007FF72F0AC560  IMB_create_gpu_texture C:\Germano\Dev\BlenderDev\blender\source\blender\imbuf\intern\util_gpu.c:243
blender.exe         :0x00007FF72EDA7B50  image_get_gpu_texture C:\Germano\Dev\BlenderDev\blender\source\blender\blenkernel\intern\image_gpu.c:353
blender.exe         :0x00007FF72F033BC0  image_gpu_texture_get C:\Germano\Dev\BlenderDev\blender\source\blender\draw\engines\image\image_engine.c:111
blender.exe         :0x00007FF72F033620  image_cache_image C:\Germano\Dev\BlenderDev\blender\source\blender\draw\engines\image\image_engine.c:131
blender.exe         :0x00007FF72F0334B0  IMAGE_cache_init C:\Germano\Dev\BlenderDev\blender\source\blender\draw\engines\image\image_engine.c:240
blender.exe         :0x00007FF72EFF0FD0  drw_engines_cache_init C:\Germano\Dev\BlenderDev\blender\source\blender\draw\intern\draw_manager.c:1019
blender.exe         :0x00007FF72EFED600  DRW_draw_render_loop_2d_ex C:\Germano\Dev\BlenderDev\blender\source\blender\draw\intern\draw_manager.c:2060
blender.exe         :0x00007FF72F766B50  image_main_region_draw C:\Germano\Dev\BlenderDev\blender\source\blender\editors\space_image\space_image.c:671
blender.exe         :0x00007FF72F31E680  ED_region_do_draw C:\Germano\Dev\BlenderDev\blender\source\blender\editors\screen\area.c:535
blender.exe         :0x00007FF72EF14910  wm_draw_window_offscreen C:\Germano\Dev\BlenderDev\blender\source\blender\windowmanager\intern\wm_draw.c:732
blender.exe         :0x00007FF72EF14700  wm_draw_window C:\Germano\Dev\BlenderDev\blender\source\blender\windowmanager\intern\wm_draw.c:871
blender.exe         :0x00007FF72EF142F0  wm_draw_update C:\Germano\Dev\BlenderDev\blender\source\blender\windowmanager\intern\wm_draw.c:1072
blender.exe         :0x00007FF72EEECD70  WM_main C:\Germano\Dev\BlenderDev\blender\source\blender\windowmanager\intern\wm.c:489
blender.exe         :0x00007FF72EBBE760  main C:\Germano\Dev\BlenderDev\blender\source\creator\creator.c:535
blender.exe         :0x00007FF735B933D0  __scrt_common_main_seh D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
KERNEL32.DLL        :0x00007FFA9E5D7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFA9FC3CEA0  RtlUserThreadStart
tbb.dll             :0x00007FFA691219C0  tbb::thread_bound_filter::try_process_item
ucrtbase.dll        :0x00007FFA9D3B1430  configthreadlocale
KERNEL32.DLL        :0x00007FFA9E5D7020  BaseThreadInitThunk
ntdll.dll           :0x00007FFA9FC3CEA0  RtlUserThreadStart

It deserves an investigation.

Removing OpenGL Error tag. This Tag is for driver issues. It isn't clear for me if this is a 2.91 only issue, or that it also happened in 2.90. In 2.91 the GPU module was refactored so it could be a 2.91 only regression. I will check later today as the stack trace currently shows a lot of refactored frames.

It seems to be supported in Blender 2.90.1 so mark this as a regression and will check for a solution.
2.91 introduced some new texture formats, but they don't seem to be implemented fully.