GXT
Jump to navigation
Jump to search
GXT is a file format (used on PS Vita and PSP) for storing textures. The purpose of this format is to use it in the runtime without any additional formatting of the data.
Features
- Memory ready format
- Supports multiple textures in one file
- Supports compressed, swizzled, and linear texture layouts
- Supports mipmaps
- Suports palettized textures
File format
The GXT (.gxt) format consists of:
File Layout |
---|
GXT Header |
GXT Specification Texture 1 info |
GXT Specification Texture 2 info |
... |
Texture 1 |
Padding |
Texture 2 |
... |
Palette P4 |
Palette P8 |
- For a single texture:
Offset (h) | Size (h) | Example (h) | Value (conversion) | Notes |
GXT header | ||||
0x00 | 0x04 | 47 58 54 00 | "GXT " | Magic |
0x04 | 0x04 | 03 00 00 10 | 3.01 | Version |
0x08 | 0x04 | 01 00 00 00 | 1 | Number of textures embedded |
0x0C | 0x04 | 40 00 00 00 | 0x40 | Offset of the texture data/ header size |
0x10 | 0x04 | 00 00 02 00 | 0x20000 | Total size of the Textures |
0x14 | 0x04 | 00 00 00 00 | 0 | Number of 16 entry palettes (P4) |
0x18 | 0x04 | 00 00 00 00 | 0 | Number of 256 entry palettes (P8) |
0x1C | 0x04 | 00 00 00 00 | 0 | Padding |
GXT specification per texture | ||||
0x20 | 0x04 | 40 00 00 00 | 0x40 | Offset of the single texture data |
0x24 | 0x04 | 00 00 02 00 | 0x20000 | Size of the single texture data. |
0x28 | 0x04 | FF FF FF FF | - | Index of the palette |
0x2C | 0x04 | 00 00 00 00 | - | Texture flags/Not used? |
0x30 | 0x04 | 00 00 00 00 | - | Texture Type |
0x34 | 0x04 | 00 00 00 85 | 0x85000000 (DXT1) | Texture Base Format |
0x38 | 0x02 | 00 02 | 0x200 (512) | Width |
0x3A | 0x02 | 00 02 | 0x200 (512) | Height |
0x3C | 0x02 | - | - | Mipmaps |
0x3E | 0x02 | - | - | Not Used?/Padding |
Texture type
Name | Value (h) | Description | ||
Texture Type | ||||
SWIZZLED | 0x00 | |||
CUBE | 0x40 | |||
LINEAR | 0x60 | |||
TILED | 0x80 | |||
LINEAR STRIDED | 0x0C |
Texture Base Format
Name | Value (h) | Description | ||
Texture Base Format | ||||
PVRT2BPP | 00 00 00 80 | PVR 2 bits per pixel mode | ||
PVRT4BPP | 00 00 00 81 | PVR 4 bits per pixel mode | ||
PVRTII2BPP | 00 00 00 82 | PVR II 2 bits per pixel mode | ||
PVRTII4BPP | 00 00 00 83 | PVR II 4 bits per pixel mode | ||
UBC1 | 00 00 00 85 | DXT1 4 bits per pixel, no alpha | ||
UBC2 | 00 00 00 86 | DXT3 8 bits per pixel | ||
UBC3 | 00 00 00 87 | DXT5 8 bits per pixel | ||
10 00 04 00 | 1555 | |||
00 00 00 10 | ARGB4444 | |||
00 10 00 0C | ARGB8888 | |||
00 50 00 0C | XRGB888 | |||
00 10 00 98 | RGB888 | |||
00 10 00 05 | RGB565 | |||
00 50 00 04 | RGB555 | |||
00 10 00 02 | RGB4444 |