View Issue Details

IDProjectCategoryView StatusLast Update
0005716The Dark ModCodingpublic30.01.2022 20:57
Reporterstgatilov Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityN/A
Status resolvedResolutionfixed 
Product VersionTDM 2.09 
Target VersionTDM 2.10Fixed in VersionTDM 2.10 
Summary0005716: Implement RGTC compressor
DescriptionIt seems that some driver implementations ot RGBA8 -> RGTC are slow.
In case of Intel, it is even buggy (well, bug happens after doing glGenerateMipmap on RGTC-compressed texture).
One way to avoid converting all normal maps into precompressed RGTC DDS files is to implement fast software compressor.
Additional InformationOriginal discussion:
  https://forums.thedarkmod.com/index.php?/topic/20115-convert-normal-maps-to-rgtc/&do=findComment&comment=463962
TagsNo tags attached.

Relationships

related to 0004364 resolvedstgatilov RGTC Normal Map compression 
related to 0004401 resolvedduzenko Faster texture loading via native OpenGL Mipmap Generation 

Activities

stgatilov

stgatilov

19.08.2021 06:55

administrator   ~0014304

Committed the code for software mipmap generation and RGTC compression, enabled by default:
  r9558. Function R_MipMap is accelerated by SSE2.
  r9560. Refactoring idImage: cpuData now contains only RGBA8 data, compressed texture is stored in new compressedData member.
  r9561. Added CompressRGTCFromRGBA8 method to idSIMD.
  r9562. Added R_HandleImageCompression function which does RGTC compression to normal maps.

This requires a bit of refactoring (r9560), so that we could compress on worked thread, and upload that data on OpenGL thread.
stgatilov

stgatilov

28.08.2021 16:57

administrator   ~0014319

One more fix:
  r9578. Fixed out-of-bounds access in ConvertTargaRowToRGBA8.
for this issue:
  https://forums.thedarkmod.com/index.php?/topic/21073-a-house-of-locked-secrets-crashes-tdm-on-startup/&do=findComment&comment=464675

Issue History

Date Modified Username Field Change
18.08.2021 10:59 stgatilov New Issue
18.08.2021 10:59 stgatilov Status new => assigned
18.08.2021 10:59 stgatilov Assigned To => stgatilov
18.08.2021 10:59 stgatilov Relationship added related to 0004364
18.08.2021 16:06 nbohr1more Relationship added related to 0004401
19.08.2021 06:55 stgatilov Note Added: 0014304
19.08.2021 06:55 stgatilov Status assigned => feedback
28.08.2021 16:57 stgatilov Note Added: 0014319
30.01.2022 20:57 nbohr1more Status feedback => resolved
30.01.2022 20:57 nbohr1more Resolution open => fixed
30.01.2022 20:57 nbohr1more Fixed in Version => TDM 2.10