godot/modules/dds
K. S. Ernest (iFire) Lee 65ca207d2c dds: Use put_u32 for unsigned integer puts.
UBSan reports:
  image_saver_dds.cpp:417: implicit conversion from type 'uint32_t'
  of value 4278190080 to type 'int32_t' changed the value to -16777216
  stream_peer.cpp:184: implicit conversion from type 'int32_t'
  of value -16777216 to type 'uint32_t' changed the value to 4278190080

The DDS pixel format masks (r/g/b/a_mask) are uint32_t but put_32
takes int32_t. Use put_u32 to avoid the round-trip conversion that
UBSan flags when the high bit is set (e.g. a_mask = 0xFF000000).

This fix found a large class of uses where we put unsigned integer values into
integer puts.
2026-04-12 12:04:56 -07:00
..
tests Tests: Convert test headers to compilation files 2026-02-19 07:36:26 -06:00
config.py SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
dds_enums.h Add support for importing R8 and R8G8 DDS textures 2026-02-18 18:35:00 -08:00
image_saver_dds.cpp dds: Use put_u32 for unsigned integer puts. 2026-04-12 12:04:56 -07:00
image_saver_dds.h Add DDS image load and save functionality 2025-03-14 19:31:43 -07:00
register_types.cpp Add missing resource_*.h includes 2026-03-27 07:03:39 -04:00
register_types.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
SCsub SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
texture_loader_dds.cpp rm class_db.h from resource.h 2026-02-27 19:08:29 -05:00
texture_loader_dds.h Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00