Skip to content

Commit ad7191e

Browse files
MarkCallowViNeek
authored andcommitted
Ensure enums with ktx_uint32_t equivalents really are unsigned. (KhronosGroup#1152)
1 parent 898008d commit ad7191e

1 file changed

Lines changed: 30 additions & 29 deletions

File tree

lib/include/ktx.h

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -818,16 +818,16 @@ typedef enum {
818818
* @sa ktxTexture_CreateFrom*
819819
*/
820820
enum ktxTextureCreateFlagBits {
821-
KTX_TEXTURE_CREATE_NO_FLAGS = 0x00,
822-
KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT = 0x01,
821+
KTX_TEXTURE_CREATE_NO_FLAGS = 0x00U,
822+
KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT = 0x01U,
823823
/*!< Load the images from the KTX source. */
824-
KTX_TEXTURE_CREATE_RAW_KVDATA_BIT = 0x02,
824+
KTX_TEXTURE_CREATE_RAW_KVDATA_BIT = 0x02U,
825825
/*!< Load the raw key-value data instead of
826826
creating a @c ktxHashList from it. */
827-
KTX_TEXTURE_CREATE_SKIP_KVDATA_BIT = 0x04,
827+
KTX_TEXTURE_CREATE_SKIP_KVDATA_BIT = 0x04U,
828828
/*!< Skip any key-value data. This overrides
829829
the RAW_KVDATA_BIT. */
830-
KTX_TEXTURE_CREATE_CHECK_GLTF_BASISU_BIT = 0x08
830+
KTX_TEXTURE_CREATE_CHECK_GLTF_BASISU_BIT = 0x08U
831831
/*!< Load texture compatible with the rules
832832
of KHR_texture_basisu glTF extension */
833833
};
@@ -1231,29 +1231,29 @@ ktxTexture2_WriteToStream(ktxTexture2* This, ktxStream *dststr);
12311231
* @brief Flags specifying UASTC encoding options.
12321232
*/
12331233
typedef enum ktx_pack_uastc_flag_bits_e {
1234-
KTX_PACK_UASTC_LEVEL_FASTEST = 0,
1234+
KTX_PACK_UASTC_LEVEL_FASTEST = 0U,
12351235
/*!< Fastest compression. 43.45dB. */
1236-
KTX_PACK_UASTC_LEVEL_FASTER = 1,
1236+
KTX_PACK_UASTC_LEVEL_FASTER = 1U,
12371237
/*!< Faster compression. 46.49dB. */
1238-
KTX_PACK_UASTC_LEVEL_DEFAULT = 2,
1238+
KTX_PACK_UASTC_LEVEL_DEFAULT = 2U,
12391239
/*!< Default compression. 47.47dB. */
1240-
KTX_PACK_UASTC_LEVEL_SLOWER = 3,
1240+
KTX_PACK_UASTC_LEVEL_SLOWER = 3U,
12411241
/*!< Slower compression. 48.01dB. */
1242-
KTX_PACK_UASTC_LEVEL_VERYSLOW = 4,
1242+
KTX_PACK_UASTC_LEVEL_VERYSLOW = 4U,
12431243
/*!< Very slow compression. 48.24dB. */
12441244
KTX_PACK_UASTC_MAX_LEVEL = KTX_PACK_UASTC_LEVEL_VERYSLOW,
12451245
/*!< Maximum supported quality level. */
12461246
KTX_PACK_UASTC_LEVEL_MASK = 0xF,
12471247
/*!< Mask to extract the level from the other bits. */
1248-
KTX_PACK_UASTC_FAVOR_UASTC_ERROR = 8,
1248+
KTX_PACK_UASTC_FAVOR_UASTC_ERROR = 8U,
12491249
/*!< Optimize for lowest UASTC error. */
1250-
KTX_PACK_UASTC_FAVOR_BC7_ERROR = 16,
1250+
KTX_PACK_UASTC_FAVOR_BC7_ERROR = 16U,
12511251
/*!< Optimize for lowest BC7 error. */
1252-
KTX_PACK_UASTC_ETC1_FASTER_HINTS = 64,
1252+
KTX_PACK_UASTC_ETC1_FASTER_HINTS = 64U,
12531253
/*!< Optimize for faster transcoding to ETC1. */
1254-
KTX_PACK_UASTC_ETC1_FASTEST_HINTS = 128,
1254+
KTX_PACK_UASTC_ETC1_FASTEST_HINTS = 128U,
12551255
/*!< Optimize for fastest transcoding to ETC1. */
1256-
KTX_PACK_UASTC__ETC1_DISABLE_FLIP_AND_INDIVIDUAL = 256
1256+
KTX_PACK_UASTC__ETC1_DISABLE_FLIP_AND_INDIVIDUAL = 256U
12571257
/*!< Not documented in BasisU code. */
12581258
} ktx_pack_uastc_flag_bits_e;
12591259
typedef ktx_uint32_t ktx_pack_uastc_flags;
@@ -1263,19 +1263,20 @@ typedef ktx_uint32_t ktx_pack_uastc_flags;
12631263
* @brief Options specifiying ASTC encoding quality levels.
12641264
*/
12651265
typedef enum ktx_pack_astc_quality_levels_e {
1266-
KTX_PACK_ASTC_QUALITY_LEVEL_FASTEST = 0,
1266+
KTX_PACK_ASTC_QUALITY_LEVEL_FASTEST = 0U,
12671267
/*!< Fastest compression. */
1268-
KTX_PACK_ASTC_QUALITY_LEVEL_FAST = 10,
1268+
KTX_PACK_ASTC_QUALITY_LEVEL_FAST = 10U,
12691269
/*!< Fast compression. */
1270-
KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM = 60,
1270+
KTX_PACK_ASTC_QUALITY_LEVEL_MEDIUM = 60U,
12711271
/*!< Medium compression. */
1272-
KTX_PACK_ASTC_QUALITY_LEVEL_THOROUGH = 98,
1272+
KTX_PACK_ASTC_QUALITY_LEVEL_THOROUGH = 98U,
12731273
/*!< Slower compression. */
1274-
KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE = 100,
1274+
KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE = 100U,
12751275
/*!< Very slow compression. */
12761276
KTX_PACK_ASTC_QUALITY_LEVEL_MAX = KTX_PACK_ASTC_QUALITY_LEVEL_EXHAUSTIVE,
12771277
/*!< Maximum supported quality level. */
12781278
} ktx_pack_astc_quality_levels_e;
1279+
typedef ktx_uint32_t ktx_pack_astc_quality_levels;
12791280

12801281
/**
12811282
* @~English
@@ -1364,7 +1365,7 @@ typedef struct ktxAstcParams {
13641365
/*!< Can be {ldr/hdr} from astcenc
13651366
*/
13661367

1367-
ktx_uint32_t qualityLevel;
1368+
ktx_pack_astc_quality_levels qualityLevel;
13681369
/*!< astcenc supports -fastest, -fast, -medium, -thorough, -exhaustive
13691370
*/
13701371

@@ -1402,15 +1403,15 @@ ktxTexture2_DecodeAstc(ktxTexture2* This);
14021403
* @brief Options specifiying basis codec.
14031404
*/
14041405
typedef enum ktx_basis_codec_e {
1405-
KTX_BASIS_CODEC_NONE = 0,
1406+
KTX_BASIS_CODEC_NONE = 0U,
14061407
/*!< NONE. */
1407-
KTX_BASIS_CODEC_ETC1S = 1,
1408+
KTX_BASIS_CODEC_ETC1S = 1U,
14081409
/*!< BasisLZ. */
1409-
KTX_BASIS_CODEC_UASTC_LDR_4x4 = 2,
1410+
KTX_BASIS_CODEC_UASTC_LDR_4x4 = 2U,
14101411
/*!< UASTC. */
1411-
KTX_BASIS_CODEC_UASTC_HDR_4x4 = 3,
1412+
KTX_BASIS_CODEC_UASTC_HDR_4x4 = 3U,
14121413
/*!< UASTC_HDR_4x4. */
1413-
KTX_BASIS_CODEC_UASTC_HDR_6x6_INTERMEDIATE = 4,
1414+
KTX_BASIS_CODEC_UASTC_HDR_6x6_INTERMEDIATE = 4U,
14141415
/*!< UASTC_HDR_6x6i. */
14151416
} ktx_basis_codec_e;
14161417
typedef ktx_uint32_t ktx_basis_codec;
@@ -1768,17 +1769,17 @@ typedef enum ktx_transcode_fmt_e {
17681769
* @brief Flags guiding transcoding of Basis Universal compressed textures.
17691770
*/
17701771
typedef enum ktx_transcode_flag_bits_e {
1771-
KTX_TF_PVRTC_DECODE_TO_NEXT_POW2 = 2,
1772+
KTX_TF_PVRTC_DECODE_TO_NEXT_POW2 = 2U,
17721773
/*!< PVRTC1: decode non-pow2 ETC1S texture level to the next larger
17731774
power of 2 (not implemented yet, but we're going to support it).
17741775
Ignored if the slice's dimensions are already a power of 2.
17751776
*/
1776-
KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS = 4,
1777+
KTX_TF_TRANSCODE_ALPHA_DATA_TO_OPAQUE_FORMATS = 4U,
17771778
/*!< When decoding to an opaque texture format, if the Basis data has
17781779
alpha, decode the alpha slice instead of the color slice to the
17791780
output texture format. Has no effect if there is no alpha data.
17801781
*/
1781-
KTX_TF_HIGH_QUALITY = 32,
1782+
KTX_TF_HIGH_QUALITY = 32U,
17821783
/*!< Request higher quality transcode of UASTC to BC1, BC3, ETC2_EAC_R11 and
17831784
ETC2_EAC_RG11. The flag is unused by other UASTC transcoders.
17841785
*/

0 commit comments

Comments
 (0)