Files
2025-11-30 08:35:03 +02:00

336 lines
12 KiB
C#

// SPDX-FileCopyrightText: 2023 Unity Technologies and the KTX for Unity authors
// SPDX-License-Identifier: Apache-2.0
namespace KtxUnity
{
enum KtxClassId
{
KtxTexture1 = 1,
KtxTexture2 = 2
}
/// <summary>
/// KTX error codes (taken from native ktx.h)
/// </summary>
enum KtxErrorCode
{
Success = 0, /*!< Operation was successful. */
FileDataError, /*!< The data in the file is inconsistent with the spec. */
FileIsPipe, /*!< The file is a pipe or named pipe. */
FileOpenFailed, /*!< The target file could not be opened. */
FileOverflow, /*!< The operation would exceed the max file size. */
FileReadError, /*!< An error occurred while reading from the file. */
FileSeekError, /*!< An error occurred while seeking in the file. */
FileUnexpectedEof, /*!< File does not have enough data to satisfy request. */
FileWriteError, /*!< An error occurred while writing to the file. */
GLError, /*!< GL operations resulted in an error. */
InvalidOperation, /*!< The operation is not allowed in the current state. */
InvalidValue, /*!< A parameter value was not valid */
NotFound, /*!< Requested key was not found */
OutOfMemory, /*!< Not enough memory to complete the operation. */
TranscodeFailed, /*!< Transcoding of block compressed texture failed. */
UnknownFileFormat, /*!< The file not a KTX file */
UnsupportedTextureType, /*!< The KTX file specifies an unsupported texture type. */
UnsupportedFeature, /*!< Feature not included in in-use library or not yet implemented. */
LibraryNotLinked, /*!< Library dependency (OpenGL or Vulkan) not linked into application. */
ErrorMaxEnum = LibraryNotLinked /*!< For safety checks. */
}
enum KtxSuperCompressionScheme
{
None = 0, /*!< No supercompression. */
Basis = 1, /*!< Basis Universal supercompression. */
LZMA = 2, /*!< LZMA supercompression. */
ZLib = 3, /*!< Zlib supercompression. */
ZStd = 4, /*!< ZStd supercompression. */
BeginRange = None,
EndRange = ZStd,
BeginVendorRange = 0x10000,
EndVendorRange = 0x1ffff,
BeginReserved = 0x20000,
}
/// <summary>
/// Source: KTX-Software, vkformat_enum.h
/// </summary>
enum VkFormat
{
Undefined = 0,
R4G4UNormPack8 = 1,
R4G4B4A4UNormPack16 = 2,
B4G4R4A4UNormPack16 = 3,
R5G6B5UNormPack16 = 4,
B5G6R5UNormPack16 = 5,
R5G5B5A1UNormPack16 = 6,
B5G5R5A1UNormPack16 = 7,
A1R5G5B5UNormPack16 = 8,
R8UNorm = 9,
R8SNorm = 10,
R8UScaled = 11,
R8SScaled = 12,
R8UInt = 13,
R8SInt = 14,
R8Srgb = 15,
R8G8UNorm = 16,
R8G8SNorm = 17,
R8G8UScaled = 18,
R8G8SScaled = 19,
R8G8UInt = 20,
R8G8SInt = 21,
R8G8Srgb = 22,
R8G8B8UNorm = 23,
R8G8B8SNorm = 24,
R8G8B8UScaled = 25,
R8G8B8SScaled = 26,
R8G8B8UInt = 27,
R8G8B8SInt = 28,
R8G8B8Srgb = 29,
B8G8R8UNorm = 30,
B8G8R8SNorm = 31,
B8G8R8UScaled = 32,
B8G8R8SScaled = 33,
B8G8R8UInt = 34,
B8G8R8SInt = 35,
B8G8R8Srgb = 36,
R8G8B8A8UNorm = 37,
R8G8B8A8SNorm = 38,
R8G8B8A8UScaled = 39,
R8G8B8A8SScaled = 40,
R8G8B8A8UInt = 41,
R8G8B8A8SInt = 42,
R8G8B8A8Srgb = 43,
B8G8R8A8UNorm = 44,
B8G8R8A8SNorm = 45,
B8G8R8A8UScaled = 46,
B8G8R8A8SScaled = 47,
B8G8R8A8UInt = 48,
B8G8R8A8SInt = 49,
B8G8R8A8Srgb = 50,
A8B8G8R8UNormPack32 = 51,
A8B8G8R8SNormPack32 = 52,
A8B8G8R8UScaledPack32 = 53,
A8B8G8R8SScaledPack32 = 54,
A8B8G8R8UIntPack32 = 55,
A8B8G8R8SIntPack32 = 56,
A8B8G8R8SrgbPack32 = 57,
A2R10G10B10UNormPack32 = 58,
A2R10G10B10SNormPack32 = 59,
A2R10G10B10UScaledPack32 = 60,
A2R10G10B10SScaledPack32 = 61,
A2R10G10B10UIntPack32 = 62,
A2R10G10B10SIntPack32 = 63,
A2B10G10R10UNormPack32 = 64,
A2B10G10R10SNormPack32 = 65,
A2B10G10R10UScaledPack32 = 66,
A2B10G10R10SScaledPack32 = 67,
A2B10G10R10UIntPack32 = 68,
A2B10G10R10SIntPack32 = 69,
R16UNorm = 70,
R16SNorm = 71,
R16UScaled = 72,
R16SScaled = 73,
R16UInt = 74,
R16SInt = 75,
R16SFloat = 76,
R16G16UNorm = 77,
R16G16SNorm = 78,
R16G16UScaled = 79,
R16G16SScaled = 80,
R16G16UInt = 81,
R16G16SInt = 82,
R16G16SFloat = 83,
R16G16B16UNorm = 84,
R16G16B16SNorm = 85,
R16G16B16UScaled = 86,
R16G16B16SScaled = 87,
R16G16B16UInt = 88,
R16G16B16SInt = 89,
R16G16B16SFloat = 90,
R16G16B16A16UNorm = 91,
R16G16B16A16SNorm = 92,
R16G16B16A16UScaled = 93,
R16G16B16A16SScaled = 94,
R16G16B16A16UInt = 95,
R16G16B16A16SInt = 96,
R16G16B16A16SFloat = 97,
R32UInt = 98,
R32SInt = 99,
R32SFloat = 100,
R32G32UInt = 101,
R32G32SInt = 102,
R32G32SFloat = 103,
R32G32B32UInt = 104,
R32G32B32SInt = 105,
R32G32B32SFloat = 106,
R32G32B32A32UInt = 107,
R32G32B32A32SInt = 108,
R32G32B32A32SFloat = 109,
R64UInt = 110,
R64SInt = 111,
R64SFloat = 112,
R64G64UInt = 113,
R64G64SInt = 114,
R64G64SFloat = 115,
R64G64B64UInt = 116,
R64G64B64SInt = 117,
R64G64B64SFloat = 118,
R64G64B64A64UInt = 119,
R64G64B64A64SInt = 120,
R64G64B64A64SFloat = 121,
B10G11R11UFloatPack32 = 122,
E5B9G9R9UFloatPack32 = 123,
D16UNorm = 124,
X8D24UNormPack32 = 125,
D32SFloat = 126,
S8UInt = 127,
D16UNormS8UInt = 128,
D24UNormS8UInt = 129,
D32SFloatS8UInt = 130,
BC1RgbUNormBlock = 131,
BC1RGBSrgbBlock = 132,
BC1RgbaUNormBlock = 133,
BC1RGBASrgbBlock = 134,
BC2UNormBlock = 135,
BC2SrgbBlock = 136,
BC3UNormBlock = 137,
BC3SrgbBlock = 138,
BC4UNormBlock = 139,
BC4SNormBlock = 140,
BC5UNormBlock = 141,
BC5SNormBlock = 142,
BC6HUFloatBlock = 143,
BC6HSFloatBlock = 144,
BC7UNormBlock = 145,
BC7SrgbBlock = 146,
ETC2R8G8B8UNormBlock = 147,
ETC2R8G8B8SrgbBlock = 148,
ETC2R8G8B8A1UNormBlock = 149,
ETC2R8G8B8A1SrgbBlock = 150,
ETC2R8G8B8A8UNormBlock = 151,
ETC2R8G8B8A8SrgbBlock = 152,
EACR11UNormBlock = 153,
EACR11SNormBlock = 154,
EACR11G11UNormBlock = 155,
EACR11G11SNormBlock = 156,
Astc4X4UNormBlock = 157,
Astc4X4SrgbBlock = 158,
Astc5X4UNormBlock = 159,
Astc5X4SrgbBlock = 160,
Astc5X5UNormBlock = 161,
Astc5X5SrgbBlock = 162,
Astc6X5UNormBlock = 163,
Astc6X5SrgbBlock = 164,
Astc6X6UNormBlock = 165,
Astc6X6SrgbBlock = 166,
Astc8X5UNormBlock = 167,
Astc8X5SrgbBlock = 168,
Astc8X6UNormBlock = 169,
Astc8X6SrgbBlock = 170,
Astc8X8UNormBlock = 171,
Astc8X8SrgbBlock = 172,
Astc10X5UNormBlock = 173,
Astc10X5SrgbBlock = 174,
Astc10X6UNormBlock = 175,
Astc10X6SrgbBlock = 176,
Astc10X8UNormBlock = 177,
Astc10X8SrgbBlock = 178,
Astc10X10UNormBlock = 179,
Astc10X10SrgbBlock = 180,
Astc12X10UNormBlock = 181,
Astc12X10SrgbBlock = 182,
Astc12X12UNormBlock = 183,
Astc12X12SrgbBlock = 184,
G8B8G8R8422UNorm = 1000156000,
B8G8R8G8422UNorm = 1000156001,
G8B8R83Plane420UNorm = 1000156002,
G8B8R82Plane420UNorm = 1000156003,
G8B8R83Plane422UNorm = 1000156004,
G8B8R82Plane422UNorm = 1000156005,
G8B8R83Plane444UNorm = 1000156006,
R10X6UNormPack16 = 1000156007,
R10X6G10X6UNorm2Pack16 = 1000156008,
R10X6G10X6B10X6A10X6UNorm4Pack16 = 1000156009,
G10X6B10X6G10X6R10X6422UNorm4Pack16 = 1000156010,
B10X6G10X6R10X6G10X6422UNorm4Pack16 = 1000156011,
G10X6B10X6R10X63Plane420UNorm3Pack16 = 1000156012,
G10X6B10X6R10X62Plane420UNorm3Pack16 = 1000156013,
G10X6B10X6R10X63Plane422UNorm3Pack16 = 1000156014,
G10X6B10X6R10X62Plane422UNorm3Pack16 = 1000156015,
G10X6B10X6R10X63Plane444UNorm3Pack16 = 1000156016,
R12X4UNormPack16 = 1000156017,
R12X4G12X4UNorm2Pack16 = 1000156018,
R12X4G12X4B12X4A12X4UNorm4Pack16 = 1000156019,
G12X4B12X4G12X4R12X4422UNorm4Pack16 = 1000156020,
B12X4G12X4R12X4G12X4422UNorm4Pack16 = 1000156021,
G12X4B12X4R12X43Plane420UNorm3Pack16 = 1000156022,
G12X4B12X4R12X42Plane420UNorm3Pack16 = 1000156023,
G12X4B12X4R12X43Plane422UNorm3Pack16 = 1000156024,
G12X4B12X4R12X42Plane422UNorm3Pack16 = 1000156025,
G12X4B12X4R12X43Plane444UNorm3Pack16 = 1000156026,
G16B16G16R16422UNorm = 1000156027,
B16G16R16G16422UNorm = 1000156028,
G16B16R163Plane420UNorm = 1000156029,
G16B16R162Plane420UNorm = 1000156030,
G16B16R163Plane422UNorm = 1000156031,
G16B16R162Plane422UNorm = 1000156032,
G16B16R163Plane444UNorm = 1000156033,
PVRTC12BppUNormBlockImg = 1000054000,
PVRTC14BppUNormBlockImg = 1000054001,
PVRTC22BppUNormBlockImg = 1000054002,
PVRTC24BppUNormBlockImg = 1000054003,
PVRTC12BppSrgbBlockImg = 1000054004,
PVRTC14BppSrgbBlockImg = 1000054005,
PVRTC22BppSrgbBlockImg = 1000054006,
PVRTC24BppSrgbBlockImg = 1000054007,
Astc4X4SFloatBlockExt = 1000066000,
Astc5X4SFloatBlockExt = 1000066001,
Astc5X5SFloatBlockExt = 1000066002,
Astc6X5SFloatBlockExt = 1000066003,
Astc6X6SFloatBlockExt = 1000066004,
Astc8X5SFloatBlockExt = 1000066005,
Astc8X6SFloatBlockExt = 1000066006,
Astc8X8SFloatBlockExt = 1000066007,
Astc10X5SFloatBlockExt = 1000066008,
Astc10X6SFloatBlockExt = 1000066009,
Astc10X8SFloatBlockExt = 1000066010,
Astc10X10SFloatBlockExt = 1000066011,
Astc12X10SFloatBlockExt = 1000066012,
Astc12X12SFloatBlockExt = 1000066013,
Astc3X3X3UNormBlockExt = 1000288000,
Astc3X3X3SrgbBlockExt = 1000288001,
Astc3X3X3SFloatBlockExt = 1000288002,
Astc4X3X3UNormBlockExt = 1000288003,
Astc4X3X3SrgbBlockExt = 1000288004,
Astc4X3X3SFloatBlockExt = 1000288005,
Astc4X4X3UNormBlockExt = 1000288006,
Astc4X4X3SrgbBlockExt = 1000288007,
Astc4X4X3SFloatBlockExt = 1000288008,
Astc4X4X4UNormBlockExt = 1000288009,
Astc4X4X4SrgbBlockExt = 1000288010,
Astc4X4X4SFloatBlockExt = 1000288011,
Astc5X4X4UNormBlockExt = 1000288012,
Astc5X4X4SrgbBlockExt = 1000288013,
Astc5X4X4SFloatBlockExt = 1000288014,
Astc5X5X4UNormBlockExt = 1000288015,
Astc5X5X4SrgbBlockExt = 1000288016,
Astc5X5X4SFloatBlockExt = 1000288017,
Astc5X5X5UNormBlockExt = 1000288018,
Astc5X5X5SrgbBlockExt = 1000288019,
Astc5X5X5SFloatBlockExt = 1000288020,
Astc6X5X5UNormBlockExt = 1000288021,
Astc6X5X5SrgbBlockExt = 1000288022,
Astc6X5X5SFloatBlockExt = 1000288023,
Astc6X6X5UNormBlockExt = 1000288024,
Astc6X6X5SrgbBlockExt = 1000288025,
Astc6X6X5SFloatBlockExt = 1000288026,
Astc6X6X6UNormBlockExt = 1000288027,
Astc6X6X6SrgbBlockExt = 1000288028,
Astc6X6X6SFloatBlockExt = 1000288029,
A4R4G4B4UNormPack16Ext = 1000340000,
A4B4G4R4UNormPack16Ext = 1000340001,
MaxEnum = 0x7FFFFFFF
}
}