- fixing tinydds so it writes the correct flags, so dds-ktx can view our DDS files

- upping WebGL KTX2 encoder/transcoder testbed so its max Memory64/WASM64 heap size is 15GB, so 4096x4096 textures can be encoded
This commit is contained in:
Richard Geldreich
2026-03-20 17:34:22 -04:00
parent 74ba7f4f6b
commit 08fabab89f
20 changed files with 21 additions and 15 deletions

View File

@@ -2002,23 +2002,28 @@ bool TinyDDS_WriteImage(TinyDDS_WriteCallbacks const *callbacks,
header.formatFourCC = TINYDDS_MAKE_RIFFCODE('D','X','1','0');
headerDX10.arraySize = slices;
}
header.flags = TINYDDS_DDSD_CAPS | TINYDDS_DDSD_PIXELFORMAT | TINYDDS_DDSD_MIPMAPCOUNT;
header.flags = TINYDDS_DDSD_CAPS | TINYDDS_DDSD_PIXELFORMAT | TINYDDS_DDSD_MIPMAPCOUNT | TINYDDS_DDSD_WIDTH | TINYDDS_DDSD_HEIGHT;
header.caps1 = TINYDDS_DDSCAPS_TEXTURE | TINYDDS_DDSCAPS_COMPLEX | TINYDDS_DDSCAPS_MIPMAP;
if(depth > 1) {
if(depth > 1)
{
headerDX10.resourceDimension = TINYDDS_D3D10_RESOURCE_DIMENSION_TEXTURE3D;
header.flags |= TINYDDS_DDSD_DEPTH;
header.caps2 |= TINYDDS_DDSCAPS2_VOLUME;
}
else if(height > 1) {
else if(height > 1)
{
headerDX10.resourceDimension = TINYDDS_D3D10_RESOURCE_DIMENSION_TEXTURE2D;
header.flags |= TINYDDS_DDSD_HEIGHT;
//header.flags |= TINYDDS_DDSD_HEIGHT;
}
else if(width > 1) {
else if(width > 1)
{
headerDX10.resourceDimension = TINYDDS_D3D10_RESOURCE_DIMENSION_TEXTURE1D;
header.flags |= TINYDDS_DDSD_WIDTH;
//header.flags |= TINYDDS_DDSD_WIDTH;
}
if(cubemap) {
if(cubemap)
{
headerDX10.miscFlag |= TINYDDS_D3D10_RESOURCE_MISC_TEXTURECUBE;
header.caps2 |= TINYDDS_DDSCAPS2_CUBEMAP | TINYDDS_DDSCAPS2_CUBEMAP_ALL;
}