mirror of
https://github.com/IllusionMan1212/vitasdk-odin.git
synced 2026-10-24 02:12:38 +00:00
1430 lines
62 KiB
Odin
1430 lines
62 KiB
Odin
package gxm
|
|
|
|
import "core:c"
|
|
import sce "../common"
|
|
|
|
// Error Codes
|
|
|
|
// TODO: should be c.int
|
|
SceGxmErrorCode :: enum i64 {
|
|
UNINITIALIZED = 0x805B0000,
|
|
ALREADY_INITIALIZED = 0x805B0001,
|
|
OUT_OF_MEMORY = 0x805B0002,
|
|
INVALID_VALUE = 0x805B0003,
|
|
INVALID_POINTER = 0x805B0004,
|
|
INVALID_ALIGNMENT = 0x805B0005,
|
|
NOT_WITHIN_SCENE = 0x805B0006,
|
|
WITHIN_SCENE = 0x805B0007,
|
|
NULL_PROGRAM = 0x805B0008,
|
|
UNSUPPORTED = 0x805B0009,
|
|
PATCHER_INTERNAL = 0x805B000A,
|
|
RESERVE_FAILED = 0x805B000B,
|
|
PROGRAM_IN_USE = 0x805B000C,
|
|
INVALID_INDEX_COUNT = 0x805B000D,
|
|
INVALID_POLYGON_MODE = 0x805B000E,
|
|
INVALID_SAMPLER_RESULT_TYPE_PRECISION = 0x805B000F,
|
|
INVALID_SAMPLER_RESULT_TYPE_COMPONENT_COUNT = 0x805B0010,
|
|
UNIFORM_BUFFER_NOT_RESERVED = 0x805B0011,
|
|
INVALID_AUXILIARY_SURFACE = 0x805B0013,
|
|
INVALID_PRECOMPUTED_DRAW = 0x805B0014,
|
|
INVALID_PRECOMPUTED_VERTEX_STATE = 0x805B0015,
|
|
INVALID_PRECOMPUTED_FRAGMENT_STATE = 0x805B0016,
|
|
DRIVER = 0x805B0017,
|
|
INVALID_TEXTURE = 0x805B0018,
|
|
INVALID_TEXTURE_DATA_POINTER = 0x805B0019,
|
|
INVALID_TEXTURE_PALETTE_POINTER = 0x805B001A,
|
|
OUT_OF_RENDER_TARGETS = 0x805B0027
|
|
}
|
|
|
|
SceGxmDisplayQueueCallback :: #type proc(callbackData: rawptr)
|
|
|
|
SceGxmInitializeParams :: struct {
|
|
flags: c.uint,
|
|
displayQueueMaxPendingCount: c.uint,
|
|
displayQueueCallback: ^SceGxmDisplayQueueCallback,
|
|
displayQueueCallbackDataSize: c.uint,
|
|
parameterBufferSize: sce.Size,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmInitializeParams) == 0x14)
|
|
}
|
|
|
|
SceGxmMemoryAttribFlags :: enum c.int {
|
|
READ = 1,
|
|
WRITE = 2,
|
|
RW = (READ | WRITE)
|
|
}
|
|
|
|
SceGxmAttributeFormat :: enum c.int {
|
|
U8,
|
|
S8,
|
|
U16,
|
|
S16,
|
|
U8N,
|
|
S8N,
|
|
U16N,
|
|
S16N,
|
|
F16,
|
|
F32,
|
|
UNTYPED
|
|
}
|
|
|
|
SceGxmDepthStencilFormat :: enum c.uint {
|
|
DF32 = 0x00044000,
|
|
S8 = 0x00022000,
|
|
DF32_S8 = 0x00066000,
|
|
DF32M = 0x000CC000,
|
|
DF32M_S8 = 0x000EE000,
|
|
S8D24 = 0x01266000,
|
|
D16 = 0x02444000,
|
|
}
|
|
|
|
SceGxmPrimitiveType :: enum c.uint {
|
|
TRIANGLES = 0x00000000,
|
|
LINES = 0x04000000,
|
|
POINTS = 0x08000000,
|
|
TRIANGLE_STRIP = 0x0C000000,
|
|
TRIANGLE_FAN = 0x10000000,
|
|
TRIANGLE_EDGES = 0x14000000,
|
|
}
|
|
|
|
SceGxmEdgeEnableFlags :: enum c.uint {
|
|
EDGE_ENABLE_01 = 0x00000100,
|
|
EDGE_ENABLE_12 = 0x00000200,
|
|
EDGE_ENABLE_20 = 0x00000400,
|
|
}
|
|
|
|
SceGxmRegionClipMode :: enum c.uint {
|
|
NONE = 0x00000000,
|
|
ALL = 0x40000000,
|
|
OUTSIDE = 0x80000000,
|
|
INSIDE = 0xC0000000,
|
|
}
|
|
|
|
SceGxmDepthFunc :: enum c.uint {
|
|
NEVER = 0x00000000,
|
|
LESS = 0x00400000,
|
|
EQUAL = 0x00800000,
|
|
LESS_EQUAL = 0x00C00000,
|
|
GREATER = 0x01000000,
|
|
NOT_EQUAL = 0x01400000,
|
|
GREATER_EQUAL = 0x01800000,
|
|
ALWAYS = 0x01C00000,
|
|
}
|
|
|
|
SceGxmStencilFunc :: enum c.uint {
|
|
NEVER = 0x00000000,
|
|
LESS = 0x02000000,
|
|
EQUAL = 0x04000000,
|
|
LESS_EQUAL = 0x06000000,
|
|
GREATER = 0x08000000,
|
|
NOT_EQUAL = 0x0A000000,
|
|
GREATER_EQUAL = 0x0C000000,
|
|
ALWAYS = 0x0E000000,
|
|
}
|
|
|
|
SceGxmStencilOp :: enum c.uint {
|
|
KEEP = 0x00000000,
|
|
ZERO = 0x00000001,
|
|
REPLACE = 0x00000002,
|
|
INCR = 0x00000003,
|
|
DECR = 0x00000004,
|
|
INVERT = 0x00000005,
|
|
INCR_WRAP = 0x00000006,
|
|
DECR_WRAP = 0x00000007,
|
|
}
|
|
|
|
SceGxmCullMode :: enum c.uint {
|
|
NONE = 0x00000000,
|
|
CW = 0x00000001,
|
|
CCW = 0x00000002,
|
|
}
|
|
|
|
SceGxmPassType :: enum c.uint {
|
|
OPAQUE = 0x00000000,
|
|
TRANSLUCENT = 0x02000000,
|
|
DISCARD = 0x04000000,
|
|
MASK_UPDATE = 0x06000000,
|
|
DEPTH_REPLACE = 0x0A000000,
|
|
}
|
|
|
|
SceGxmPolygonMode :: enum c.uint {
|
|
TRIANGLE_FILL = 0x00000000,
|
|
LINE = 0x00008000,
|
|
POINT_10UV = 0x00010000,
|
|
POINT = 0x00018000,
|
|
POINT_01UV = 0x00020000,
|
|
TRIANGLE_LINE = 0x00028000,
|
|
TRIANGLE_POINT = 0x00030000,
|
|
}
|
|
|
|
SceGxmColorSwizzle4Mode :: enum c.uint {
|
|
ABGR = 0x00000000,
|
|
ARGB = 0x00100000,
|
|
RGBA = 0x00200000,
|
|
BGRA = 0x00300000,
|
|
}
|
|
|
|
SceGxmColorSwizzle3Mode :: enum c.uint {
|
|
BGR = 0x00000000,
|
|
RGB = 0x00100000,
|
|
}
|
|
|
|
SceGxmColorSwizzle2Mode :: enum c.uint {
|
|
GR = 0x00000000,
|
|
RG = 0x00100000,
|
|
RA = 0x00200000,
|
|
AR = 0x00300000,
|
|
}
|
|
|
|
SceGxmColorSwizzle1Mode :: enum c.uint {
|
|
R = 0x00000000,
|
|
G = 0x00100000,
|
|
A = 0x00100000,
|
|
}
|
|
|
|
SceGxmColorBaseFormat :: enum c.uint {
|
|
U8U8U8U8 = 0x00000000,
|
|
U8U8U8 = 0x10000000,
|
|
U5U6U5 = 0x30000000,
|
|
U1U5U5U5 = 0x40000000,
|
|
U4U4U4U4 = 0x50000000,
|
|
U8U3U3U2 = 0x60000000,
|
|
F16 = 0xF0000000,
|
|
F16F16 = 0x00800000,
|
|
F32 = 0x10800000,
|
|
S16 = 0x20800000,
|
|
S16S16 = 0x30800000,
|
|
U16 = 0x40800000,
|
|
U16U16 = 0x50800000,
|
|
U2U10U10U10 = 0x60800000,
|
|
U8 = 0x80800000,
|
|
S8 = 0x90800000,
|
|
S5S5U6 = 0xA0800000,
|
|
U8U8 = 0xB0800000,
|
|
S8S8 = 0xC0800000,
|
|
U8S8S8U8 = 0xD0800000,
|
|
S8S8S8S8 = 0xE0800000,
|
|
F16F16F16F16 = 0x01000000,
|
|
F32F32 = 0x11000000,
|
|
F11F11F10 = 0x21000000,
|
|
SE5M9M9M9 = 0x31000000,
|
|
U2F10F10F10 = 0x41000000,
|
|
}
|
|
|
|
//! Supported color formats
|
|
SceGxmColorFormat :: enum c.uint {
|
|
U8U8U8U8_ABGR = c.uint(SceGxmColorBaseFormat.U8U8U8U8) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U8U8U8U8_ARGB = c.uint(SceGxmColorBaseFormat.U8U8U8U8) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
U8U8U8U8_RGBA = c.uint(SceGxmColorBaseFormat.U8U8U8U8) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
U8U8U8U8_BGRA = c.uint(SceGxmColorBaseFormat.U8U8U8U8) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
U8U8U8_BGR = c.uint(SceGxmColorBaseFormat.U8U8U8) | c.uint(SceGxmColorSwizzle3Mode.BGR),
|
|
U8U8U8_RGB = c.uint(SceGxmColorBaseFormat.U8U8U8) | c.uint(SceGxmColorSwizzle3Mode.RGB),
|
|
|
|
U5U6U5_BGR = c.uint(SceGxmColorBaseFormat.U5U6U5) | c.uint(SceGxmColorSwizzle3Mode.BGR),
|
|
U5U6U5_RGB = c.uint(SceGxmColorBaseFormat.U5U6U5) | c.uint(SceGxmColorSwizzle3Mode.RGB),
|
|
|
|
U1U5U5U5_ABGR = c.uint(SceGxmColorBaseFormat.U1U5U5U5) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U1U5U5U5_ARGB = c.uint(SceGxmColorBaseFormat.U1U5U5U5) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
U5U5U5U1_RGBA = c.uint(SceGxmColorBaseFormat.U1U5U5U5) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
U5U5U5U1_BGRA = c.uint(SceGxmColorBaseFormat.U1U5U5U5) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
U4U4U4U4_ABGR = c.uint(SceGxmColorBaseFormat.U4U4U4U4) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U4U4U4U4_ARGB = c.uint(SceGxmColorBaseFormat.U4U4U4U4) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
U4U4U4U4_RGBA = c.uint(SceGxmColorBaseFormat.U4U4U4U4) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
U4U4U4U4_BGRA = c.uint(SceGxmColorBaseFormat.U4U4U4U4) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
U8U3U3U2_ARGB = c.uint(c.uint(SceGxmColorBaseFormat.U8U3U3U2)),
|
|
|
|
F16_R = c.uint(SceGxmColorBaseFormat.F16) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
F16_G = c.uint(SceGxmColorBaseFormat.F16) | c.uint(SceGxmColorSwizzle1Mode.G),
|
|
|
|
F16F16_GR = c.uint(SceGxmColorBaseFormat.F16F16) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
F16F16_RG = c.uint(SceGxmColorBaseFormat.F16F16) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
|
|
F32_R = c.uint(SceGxmColorBaseFormat.F32) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
|
|
S16_R = c.uint(SceGxmColorBaseFormat.S16) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
S16_G = c.uint(SceGxmColorBaseFormat.S16) | c.uint(SceGxmColorSwizzle1Mode.G),
|
|
|
|
S16S16_GR = c.uint(SceGxmColorBaseFormat.S16S16) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
S16S16_RG = c.uint(SceGxmColorBaseFormat.S16S16) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
|
|
U16_R = c.uint(SceGxmColorBaseFormat.U16) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
U16_G = c.uint(SceGxmColorBaseFormat.U16) | c.uint(SceGxmColorSwizzle1Mode.G),
|
|
|
|
U16U16_GR = c.uint(SceGxmColorBaseFormat.U16U16) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
U16U16_RG = c.uint(SceGxmColorBaseFormat.U16U16) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
|
|
U2U10U10U10_ABGR = c.uint(SceGxmColorBaseFormat.U2U10U10U10) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U2U10U10U10_ARGB = c.uint(SceGxmColorBaseFormat.U2U10U10U10) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
U10U10U10U2_RGBA = c.uint(SceGxmColorBaseFormat.U2U10U10U10) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
U10U10U10U2_BGRA = c.uint(SceGxmColorBaseFormat.U2U10U10U10) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
U8_R = c.uint(SceGxmColorBaseFormat.U8) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
U8_A = c.uint(SceGxmColorBaseFormat.U8) | c.uint(SceGxmColorSwizzle1Mode.A),
|
|
|
|
S8_R = c.uint(SceGxmColorBaseFormat.S8) | c.uint(SceGxmColorSwizzle1Mode.R),
|
|
S8_A = c.uint(SceGxmColorBaseFormat.S8) | c.uint(SceGxmColorSwizzle1Mode.A),
|
|
|
|
U6S5S5_BGR = c.uint(SceGxmColorBaseFormat.S5S5U6) | c.uint(SceGxmColorSwizzle3Mode.BGR),
|
|
S5S5U6_RGB = c.uint(SceGxmColorBaseFormat.S5S5U6) | c.uint(SceGxmColorSwizzle3Mode.RGB),
|
|
|
|
U8U8_GR = c.uint(SceGxmColorBaseFormat.U8U8) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
U8U8_RG = c.uint(SceGxmColorBaseFormat.U8U8) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
U8U8_RA = c.uint(SceGxmColorBaseFormat.U8U8) | c.uint(SceGxmColorSwizzle2Mode.RA),
|
|
U8U8_AR = c.uint(SceGxmColorBaseFormat.U8U8) | c.uint(SceGxmColorSwizzle2Mode.AR),
|
|
|
|
S8S8_GR = c.uint(SceGxmColorBaseFormat.S8S8) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
S8S8_RG = c.uint(SceGxmColorBaseFormat.S8S8) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
S8S8_RA = c.uint(SceGxmColorBaseFormat.S8S8) | c.uint(SceGxmColorSwizzle2Mode.RA),
|
|
S8S8_AR = c.uint(SceGxmColorBaseFormat.S8S8) | c.uint(SceGxmColorSwizzle2Mode.AR),
|
|
|
|
U8S8S8U8_ABGR = c.uint(SceGxmColorBaseFormat.U8S8S8U8) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U8U8S8S8_ARGB = c.uint(SceGxmColorBaseFormat.U8S8S8U8) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
U8S8S8U8_RGBA = c.uint(SceGxmColorBaseFormat.U8S8S8U8) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
S8S8U8U8_BGRA = c.uint(SceGxmColorBaseFormat.U8S8S8U8) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
S8S8S8S8_ABGR = c.uint(SceGxmColorBaseFormat.S8S8S8S8) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
S8S8S8S8_ARGB = c.uint(SceGxmColorBaseFormat.S8S8S8S8) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
S8S8S8S8_RGBA = c.uint(SceGxmColorBaseFormat.S8S8S8S8) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
S8S8S8S8_BGRA = c.uint(SceGxmColorBaseFormat.S8S8S8S8) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
F16F16F16F16_ABGR = c.uint(SceGxmColorBaseFormat.F16F16F16F16) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
F16F16F16F16_ARGB = c.uint(SceGxmColorBaseFormat.F16F16F16F16) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
F16F16F16F16_RGBA = c.uint(SceGxmColorBaseFormat.F16F16F16F16) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
F16F16F16F16_BGRA = c.uint(SceGxmColorBaseFormat.F16F16F16F16) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
F32F32_GR = c.uint(SceGxmColorBaseFormat.F32F32) | c.uint(SceGxmColorSwizzle2Mode.GR),
|
|
F32F32_RG = c.uint(SceGxmColorBaseFormat.F32F32) | c.uint(SceGxmColorSwizzle2Mode.RG),
|
|
|
|
F10F11F11_BGR = c.uint(SceGxmColorBaseFormat.F11F11F10) | c.uint(SceGxmColorSwizzle3Mode.BGR),
|
|
F11F11F10_RGB = c.uint(SceGxmColorBaseFormat.F11F11F10) | c.uint(SceGxmColorSwizzle3Mode.RGB),
|
|
|
|
SE5M9M9M9_BGR = c.uint(SceGxmColorBaseFormat.SE5M9M9M9) | c.uint(SceGxmColorSwizzle3Mode.BGR),
|
|
SE5M9M9M9_RGB = c.uint(SceGxmColorBaseFormat.SE5M9M9M9) | c.uint(SceGxmColorSwizzle3Mode.RGB),
|
|
|
|
U2F10F10F10_ABGR = c.uint(SceGxmColorBaseFormat.U2F10F10F10) | c.uint(SceGxmColorSwizzle4Mode.ABGR),
|
|
U2F10F10F10_ARGB = c.uint(SceGxmColorBaseFormat.U2F10F10F10) | c.uint(SceGxmColorSwizzle4Mode.ARGB),
|
|
F10F10F10U2_RGBA = c.uint(SceGxmColorBaseFormat.U2F10F10F10) | c.uint(SceGxmColorSwizzle4Mode.RGBA),
|
|
F10F10F10U2_BGRA = c.uint(SceGxmColorBaseFormat.U2F10F10F10) | c.uint(SceGxmColorSwizzle4Mode.BGRA),
|
|
|
|
// Legacy formats
|
|
|
|
A8B8G8R8 = U8U8U8U8_ABGR,
|
|
A8R8G8B8 = U8U8U8U8_ARGB,
|
|
R5G6B5 = U5U6U5_RGB,
|
|
A1R5G5B5 = U1U5U5U5_ARGB,
|
|
A4R4G4B4 = U4U4U4U4_ARGB,
|
|
A8 = U8_A,
|
|
}
|
|
|
|
SceGxmColorSurfaceType :: enum c.uint {
|
|
LINEAR = 0x00000000,
|
|
TILED = 0x04000000,
|
|
SWIZZLED = 0x08000000,
|
|
}
|
|
|
|
SceGxmColorSurfaceGammaMode :: enum c.uint {
|
|
NONE = 0x00000000,
|
|
R = 0x00001000,
|
|
GR = 0x00003000,
|
|
BGR = 0x00001000,
|
|
}
|
|
|
|
SceGxmColorSurfaceDitherMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00000008,
|
|
}
|
|
|
|
SceGxmDepthStencilSurfaceType :: enum c.uint {
|
|
LINEAR = 0x00000000,
|
|
TILED = 0x00011000,
|
|
}
|
|
|
|
SceGxmOutputRegisterFormat :: enum c.int {
|
|
DECLARED,
|
|
UCHAR4,
|
|
CHAR4,
|
|
USHORT2,
|
|
SHORT2,
|
|
HALF4,
|
|
HALF2,
|
|
FLOAT2,
|
|
FLOAT,
|
|
}
|
|
|
|
SceGxmMultisampleMode :: enum c.int {
|
|
MULTISAMPLE_NONE,
|
|
MULTISAMPLE_2X,
|
|
MULTISAMPLE_4X
|
|
}
|
|
|
|
SceGxmTextureSwizzle4Mode :: enum c.uint {
|
|
SWIZZLE4_ABGR = 0x00000000,
|
|
SWIZZLE4_ARGB = 0x00001000,
|
|
SWIZZLE4_RGBA = 0x00002000,
|
|
SWIZZLE4_BGRA = 0x00003000,
|
|
SWIZZLE4_1BGR = 0x00004000,
|
|
SWIZZLE4_1RGB = 0x00005000,
|
|
SWIZZLE4_RGB1 = 0x00006000,
|
|
SWIZZLE4_BGR1 = 0x00007000,
|
|
}
|
|
|
|
SceGxmTextureSwizzle3Mode :: enum c.uint {
|
|
BGR = 0x00000000,
|
|
RGB = 0x00001000,
|
|
}
|
|
|
|
SceGxmTextureSwizzle2Mode :: enum c.uint {
|
|
SWIZZLE2_GR = 0x00000000,
|
|
SWIZZLE2_00GR = 0x00001000,
|
|
SWIZZLE2_GRRR = 0x00002000,
|
|
SWIZZLE2_RGGG = 0x00003000,
|
|
SWIZZLE2_GRGR = 0x00004000,
|
|
SWIZZLE2_00RG = 0x00005000,
|
|
}
|
|
|
|
SceGxmTextureSwizzle2ModeAlt :: enum c.uint {
|
|
SD = 0x00000000,
|
|
DS = 0x00001000,
|
|
}
|
|
|
|
SceGxmTextureSwizzle1Mode :: enum c.uint {
|
|
SWIZZLE1_R = 0x00000000,
|
|
SWIZZLE1_000R = 0x00001000,
|
|
SWIZZLE1_111R = 0x00002000,
|
|
SWIZZLE1_RRRR = 0x00003000,
|
|
SWIZZLE1_0RRR = 0x00004000,
|
|
SWIZZLE1_1RRR = 0x00005000,
|
|
SWIZZLE1_R000 = 0x00006000,
|
|
SWIZZLE1_R111 = 0x00007000,
|
|
}
|
|
|
|
SceGxmTextureSwizzleYUV422Mode :: enum c.uint {
|
|
YUYV_CSC0 = 0x00000000,
|
|
YVYU_CSC0 = 0x00001000,
|
|
UYVY_CSC0 = 0x00002000,
|
|
VYUY_CSC0 = 0x00003000,
|
|
YUYV_CSC1 = 0x00004000,
|
|
YVYU_CSC1 = 0x00005000,
|
|
UYVY_CSC1 = 0x00006000,
|
|
VYUY_CSC1 = 0x00007000,
|
|
}
|
|
|
|
SceGxmTextureSwizzleYUV420Mode :: enum c.uint {
|
|
YUV_CSC0 = 0x00000000,
|
|
YVU_CSC0 = 0x00001000,
|
|
YUV_CSC1 = 0x00002000,
|
|
YVU_CSC1 = 0x00003000,
|
|
}
|
|
|
|
SceGxmTextureBaseFormat :: enum c.uint {
|
|
U8 = 0x00000000,
|
|
S8 = 0x01000000,
|
|
U4U4U4U4 = 0x02000000,
|
|
U8U3U3U2 = 0x03000000,
|
|
U1U5U5U5 = 0x04000000,
|
|
U5U6U5 = 0x05000000,
|
|
S5S5U6 = 0x06000000,
|
|
U8U8 = 0x07000000,
|
|
S8S8 = 0x08000000,
|
|
U16 = 0x09000000,
|
|
S16 = 0x0A000000,
|
|
F16 = 0x0B000000,
|
|
U8U8U8U8 = 0x0C000000,
|
|
S8S8S8S8 = 0x0D000000,
|
|
U2U10U10U10 = 0x0E000000,
|
|
U16U16 = 0x0F000000,
|
|
S16S16 = 0x10000000,
|
|
F16F16 = 0x11000000,
|
|
F32 = 0x12000000,
|
|
F32M = 0x13000000,
|
|
X8S8S8U8 = 0x14000000,
|
|
X8U24 = 0x15000000,
|
|
U32 = 0x17000000,
|
|
S32 = 0x18000000,
|
|
SE5M9M9M9 = 0x19000000,
|
|
F11F11F10 = 0x1A000000,
|
|
F16F16F16F16 = 0x1B000000,
|
|
U16U16U16U16 = 0x1C000000,
|
|
S16S16S16S16 = 0x1D000000,
|
|
F32F32 = 0x1E000000,
|
|
U32U32 = 0x1F000000,
|
|
PVRT2BPP = 0x80000000,
|
|
PVRT4BPP = 0x81000000,
|
|
PVRTII2BPP = 0x82000000,
|
|
PVRTII4BPP = 0x83000000,
|
|
UBC1 = 0x85000000,
|
|
UBC2 = 0x86000000,
|
|
UBC3 = 0x87000000,
|
|
UBC4 = 0x88000000,
|
|
SBC4 = 0x89000000,
|
|
UBC5 = 0x8A000000,
|
|
SBC5 = 0x8B000000,
|
|
YUV420P2 = 0x90000000,
|
|
YUV420P3 = 0x91000000,
|
|
YUV422 = 0x92000000,
|
|
P4 = 0x94000000,
|
|
P8 = 0x95000000,
|
|
U8U8U8 = 0x98000000,
|
|
S8S8S8 = 0x99000000,
|
|
U2F10F10F10 = 0x9A000000,
|
|
}
|
|
|
|
SceGxmTextureFormat :: enum c.uint {
|
|
// Supported formats
|
|
|
|
U8_000R = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
U8_111R = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
U8_RRRR = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
U8_0RRR = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
U8_1RRR = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
U8_R000 = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
U8_R111 = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
U8_R = c.uint(SceGxmTextureBaseFormat.U8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
S8_000R = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
S8_111R = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
S8_RRRR = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
S8_0RRR = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
S8_1RRR = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
S8_R000 = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
S8_R111 = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
S8_R = c.uint(SceGxmTextureBaseFormat.S8) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
U4U4U4U4_ABGR = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U4U4U4U4_ARGB = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
U4U4U4U4_RGBA = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
U4U4U4U4_BGRA = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X4U4U4U4_1BGR = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X4U4U4U4_1RGB = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
U4U4U4X4_RGB1 = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
U4U4U4X4_BGR1 = c.uint(SceGxmTextureBaseFormat.U4U4U4U4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U8U3U3U2_ARGB = c.uint(SceGxmTextureBaseFormat.U8U3U3U2),
|
|
|
|
U1U5U5U5_ABGR = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U1U5U5U5_ARGB = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
U5U5U5U1_RGBA = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
U5U5U5U1_BGRA = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X1U5U5U5_1BGR = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X1U5U5U5_1RGB = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
U5U5U5X1_RGB1 = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
U5U5U5X1_BGR1 = c.uint(SceGxmTextureBaseFormat.U1U5U5U5) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U5U6U5_BGR = c.uint(SceGxmTextureBaseFormat.U5U6U5) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
U5U6U5_RGB = c.uint(SceGxmTextureBaseFormat.U5U6U5) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
U6S5S5_BGR = c.uint(SceGxmTextureBaseFormat.S5S5U6) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
S5S5U6_RGB = c.uint(SceGxmTextureBaseFormat.S5S5U6) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
U8U8_00GR = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
U8U8_GRRR = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
U8U8_RGGG = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
U8U8_GRGR = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
U8U8_00RG = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
U8U8_GR = c.uint(SceGxmTextureBaseFormat.U8U8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
S8S8_00GR = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
S8S8_GRRR = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
S8S8_RGGG = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
S8S8_GRGR = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
S8S8_00RG = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
S8S8_GR = c.uint(SceGxmTextureBaseFormat.S8S8) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
U16_000R = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
U16_111R = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
U16_RRRR = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
U16_0RRR = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
U16_1RRR = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
U16_R000 = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
U16_R111 = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
U16_R = c.uint(SceGxmTextureBaseFormat.U16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
S16_000R = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
S16_111R = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
S16_RRRR = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
S16_0RRR = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
S16_1RRR = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
S16_R000 = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
S16_R111 = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
S16_R = c.uint(SceGxmTextureBaseFormat.S16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
F16_000R = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
F16_111R = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
F16_RRRR = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
F16_0RRR = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
F16_1RRR = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
F16_R000 = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
F16_R111 = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
F16_R = c.uint(SceGxmTextureBaseFormat.F16) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
U8U8U8U8_ABGR = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U8U8U8U8_ARGB = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
U8U8U8U8_RGBA = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
U8U8U8U8_BGRA = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X8U8U8U8_1BGR = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X8U8U8U8_1RGB = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
U8U8U8X8_RGB1 = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
U8U8U8X8_BGR1 = c.uint(SceGxmTextureBaseFormat.U8U8U8U8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
S8S8S8S8_ABGR = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
S8S8S8S8_ARGB = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
S8S8S8S8_RGBA = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
S8S8S8S8_BGRA = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X8S8S8S8_1BGR = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X8S8S8S8_1RGB = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
S8S8S8X8_RGB1 = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
S8S8S8X8_BGR1 = c.uint(SceGxmTextureBaseFormat.S8S8S8S8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U2U10U10U10_ABGR = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U2U10U10U10_ARGB = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
U10U10U10U2_RGBA = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
U10U10U10U2_BGRA = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X2U10U10U10_1BGR = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X2U10U10U10_1RGB = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
U10U10U10X2_RGB1 = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
U10U10U10X2_BGR1 = c.uint(SceGxmTextureBaseFormat.U2U10U10U10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U16U16_00GR = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
U16U16_GRRR = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
U16U16_RGGG = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
U16U16_GRGR = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
U16U16_00RG = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
U16U16_GR = c.uint(SceGxmTextureBaseFormat.U16U16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
S16S16_00GR = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
S16S16_GRRR = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
S16S16_RGGG = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
S16S16_GRGR = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
S16S16_00RG = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
S16S16_GR = c.uint(SceGxmTextureBaseFormat.S16S16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
F16F16_00GR = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
F16F16_GRRR = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
F16F16_RGGG = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
F16F16_GRGR = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
F16F16_00RG = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
F16F16_GR = c.uint(SceGxmTextureBaseFormat.F16F16) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
F32_000R = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
F32_111R = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
F32_RRRR = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
F32_0RRR = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
F32_1RRR = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
F32_R000 = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
F32_R111 = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
F32_R = c.uint(SceGxmTextureBaseFormat.F32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
F32M_000R = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
F32M_111R = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
F32M_RRRR = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
F32M_0RRR = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
F32M_1RRR = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
F32M_R000 = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
F32M_R111 = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
F32M_R = c.uint(SceGxmTextureBaseFormat.F32M) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
X8S8S8U8_1BGR = c.uint(SceGxmTextureBaseFormat.X8S8S8U8) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
X8U8S8S8_1RGB = c.uint(SceGxmTextureBaseFormat.X8S8S8U8) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
X8U24_SD = c.uint(SceGxmTextureBaseFormat.X8U24) | c.uint(SceGxmTextureSwizzle2ModeAlt.SD),
|
|
U24X8_DS = c.uint(SceGxmTextureBaseFormat.X8U24) | c.uint(SceGxmTextureSwizzle2ModeAlt.DS),
|
|
|
|
U32_000R = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
U32_111R = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
U32_RRRR = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
U32_0RRR = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
U32_1RRR = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
U32_R000 = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
U32_R111 = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
U32_R = c.uint(SceGxmTextureBaseFormat.U32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
S32_000R = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
S32_111R = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
S32_RRRR = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
S32_0RRR = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
S32_1RRR = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
S32_R000 = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
S32_R111 = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
S32_R = c.uint(SceGxmTextureBaseFormat.S32) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
SE5M9M9M9_BGR = c.uint(SceGxmTextureBaseFormat.SE5M9M9M9) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
SE5M9M9M9_RGB = c.uint(SceGxmTextureBaseFormat.SE5M9M9M9) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
F10F11F11_BGR = c.uint(SceGxmTextureBaseFormat.F11F11F10) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
F11F11F10_RGB = c.uint(SceGxmTextureBaseFormat.F11F11F10) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
F16F16F16F16_ABGR = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
F16F16F16F16_ARGB = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
F16F16F16F16_RGBA = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
F16F16F16F16_BGRA = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X16F16F16F16_1BGR = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X16F16F16F16_1RGB = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
F16F16F16X16_RGB1 = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
F16F16F16X16_BGR1 = c.uint(SceGxmTextureBaseFormat.F16F16F16F16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U16U16U16U16_ABGR = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U16U16U16U16_ARGB = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
U16U16U16U16_RGBA = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
U16U16U16U16_BGRA = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X16U16U16U16_1BGR = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X16U16U16U16_1RGB = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
U16U16U16X16_RGB1 = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
U16U16U16X16_BGR1 = c.uint(SceGxmTextureBaseFormat.U16U16U16U16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
S16S16S16S16_ABGR = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
S16S16S16S16_ARGB = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
S16S16S16S16_RGBA = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
S16S16S16S16_BGRA = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X16S16S16S16_1BGR = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X16S16S16S16_1RGB = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
S16S16S16X16_RGB1 = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
S16S16S16X16_BGR1 = c.uint(SceGxmTextureBaseFormat.S16S16S16S16) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
F32F32_00GR = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
F32F32_GRRR = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
F32F32_RGGG = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
F32F32_GRGR = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
F32F32_00RG = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
F32F32_GR = c.uint(SceGxmTextureBaseFormat.F32F32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
U32U32_00GR = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
U32U32_GRRR = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
U32U32_RGGG = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
U32U32_GRGR = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
U32U32_00RG = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
U32U32_GR = c.uint(SceGxmTextureBaseFormat.U32U32) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
PVRT2BPP_ABGR = c.uint(SceGxmTextureBaseFormat.PVRT2BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
PVRT2BPP_1BGR = c.uint(SceGxmTextureBaseFormat.PVRT2BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
PVRT4BPP_ABGR = c.uint(SceGxmTextureBaseFormat.PVRT4BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
PVRT4BPP_1BGR = c.uint(SceGxmTextureBaseFormat.PVRT4BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
PVRTII2BPP_ABGR = c.uint(SceGxmTextureBaseFormat.PVRTII2BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
PVRTII2BPP_1BGR = c.uint(SceGxmTextureBaseFormat.PVRTII2BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
PVRTII4BPP_ABGR = c.uint(SceGxmTextureBaseFormat.PVRTII4BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
PVRTII4BPP_1BGR = c.uint(SceGxmTextureBaseFormat.PVRTII4BPP) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
UBC1_ABGR = c.uint(SceGxmTextureBaseFormat.UBC1) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
UBC1_1BGR = c.uint(SceGxmTextureBaseFormat.UBC1) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
UBC2_ABGR = c.uint(SceGxmTextureBaseFormat.UBC2) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
UBC2_1BGR = c.uint(SceGxmTextureBaseFormat.UBC2) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
UBC3_ABGR = c.uint(SceGxmTextureBaseFormat.UBC3) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
UBC3_1BGR = c.uint(SceGxmTextureBaseFormat.UBC3) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
|
|
UBC4_000R = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
UBC4_111R = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
UBC4_RRRR = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
UBC4_0RRR = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
UBC4_1RRR = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
UBC4_R000 = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
UBC4_R111 = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
UBC4_R = c.uint(SceGxmTextureBaseFormat.UBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
SBC4_000R = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_000R),
|
|
SBC4_111R = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_111R),
|
|
SBC4_RRRR = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_RRRR),
|
|
SBC4_0RRR = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_0RRR),
|
|
SBC4_1RRR = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_1RRR),
|
|
SBC4_R000 = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R000),
|
|
SBC4_R111 = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R111),
|
|
SBC4_R = c.uint(SceGxmTextureBaseFormat.SBC4) | c.uint(SceGxmTextureSwizzle1Mode.SWIZZLE1_R),
|
|
|
|
UBC5_00GR = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
UBC5_GRRR = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
UBC5_RGGG = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
UBC5_GRGR = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
UBC5_00RG = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
UBC5_GR = c.uint(SceGxmTextureBaseFormat.UBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
SBC5_00GR = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00GR),
|
|
SBC5_GRRR = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRRR),
|
|
SBC5_RGGG = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_RGGG),
|
|
SBC5_GRGR = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GRGR),
|
|
SBC5_00RG = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_00RG),
|
|
SBC5_GR = c.uint(SceGxmTextureBaseFormat.SBC5) | c.uint(SceGxmTextureSwizzle2Mode.SWIZZLE2_GR),
|
|
|
|
YUV420P2_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV420P2) | c.uint(SceGxmTextureSwizzleYUV420Mode.YUV_CSC0),
|
|
YVU420P2_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV420P2) | c.uint(SceGxmTextureSwizzleYUV420Mode.YVU_CSC0),
|
|
YUV420P2_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV420P2) | c.uint(SceGxmTextureSwizzleYUV420Mode.YUV_CSC1),
|
|
YVU420P2_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV420P2) | c.uint(SceGxmTextureSwizzleYUV420Mode.YVU_CSC1),
|
|
|
|
YUV420P3_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV420P3) | c.uint(SceGxmTextureSwizzleYUV420Mode.YUV_CSC0),
|
|
YVU420P3_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV420P3) | c.uint(SceGxmTextureSwizzleYUV420Mode.YVU_CSC0),
|
|
YUV420P3_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV420P3) | c.uint(SceGxmTextureSwizzleYUV420Mode.YUV_CSC1),
|
|
YVU420P3_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV420P3) | c.uint(SceGxmTextureSwizzleYUV420Mode.YVU_CSC1),
|
|
|
|
YUYV422_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.YUYV_CSC0),
|
|
YVYU422_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.YVYU_CSC0),
|
|
UYVY422_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.UYVY_CSC0),
|
|
VYUY422_CSC0 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.VYUY_CSC0),
|
|
YUYV422_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.YUYV_CSC1),
|
|
YVYU422_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.YVYU_CSC1),
|
|
UYVY422_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.UYVY_CSC1),
|
|
VYUY422_CSC1 = c.uint(SceGxmTextureBaseFormat.YUV422) | c.uint(SceGxmTextureSwizzleYUV422Mode.VYUY_CSC1),
|
|
|
|
P4_ABGR = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
P4_ARGB = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
P4_RGBA = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
P4_BGRA = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
P4_1BGR = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
P4_1RGB = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
P4_RGB1 = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
P4_BGR1 = c.uint(SceGxmTextureBaseFormat.P4) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
P8_ABGR = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
P8_ARGB = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
P8_RGBA = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
P8_BGRA = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
P8_1BGR = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
P8_1RGB = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
P8_RGB1 = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
P8_BGR1 = c.uint(SceGxmTextureBaseFormat.P8) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
U8U8U8_BGR = c.uint(SceGxmTextureBaseFormat.U8U8U8) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
U8U8U8_RGB = c.uint(SceGxmTextureBaseFormat.U8U8U8) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
S8S8S8_BGR = c.uint(SceGxmTextureBaseFormat.S8S8S8) | c.uint(SceGxmTextureSwizzle3Mode.BGR),
|
|
S8S8S8_RGB = c.uint(SceGxmTextureBaseFormat.S8S8S8) | c.uint(SceGxmTextureSwizzle3Mode.RGB),
|
|
|
|
U2F10F10F10_ABGR = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ABGR),
|
|
U2F10F10F10_ARGB = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_ARGB),
|
|
F10F10F10U2_RGBA = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGBA),
|
|
F10F10F10U2_BGRA = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGRA),
|
|
X2F10F10F10_1BGR = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1BGR),
|
|
X2F10F10F10_1RGB = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_1RGB),
|
|
F10F10F10X2_RGB1 = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_RGB1),
|
|
F10F10F10X2_BGR1 = c.uint(SceGxmTextureBaseFormat.U2F10F10F10) | c.uint(SceGxmTextureSwizzle4Mode.SWIZZLE4_BGR1),
|
|
|
|
// Legacy formats
|
|
|
|
L8 = U8_1RRR,
|
|
A8 = U8_R000,
|
|
R8 = U8_000R,
|
|
A4R4G4B4 = U4U4U4U4_ARGB,
|
|
A1R5G5B5 = U1U5U5U5_ARGB,
|
|
R5G6B5 = U5U6U5_RGB,
|
|
A8L8 = U8U8_GRRR,
|
|
L8A8 = U8U8_RGGG,
|
|
G8R8 = U8U8_00GR,
|
|
L16 = U16_1RRR,
|
|
A16 = U16_R000,
|
|
R16 = U16_000R,
|
|
D16 = U16_R,
|
|
LF16 = F16_1RRR,
|
|
AF16 = F16_R000,
|
|
RF16 = F16_000R,
|
|
A8R8G8B8 = U8U8U8U8_ARGB,
|
|
A8B8G8R8 = U8U8U8U8_ABGR,
|
|
AF16LF16 = F16F16_GRRR,
|
|
LF16AF16 = F16F16_RGGG,
|
|
GF16RF16 = F16F16_00GR,
|
|
LF32M = F32M_1RRR,
|
|
AF32M = F32M_R000,
|
|
RF32M = F32M_000R,
|
|
DF32M = F32M_R,
|
|
VYUY = VYUY422_CSC0,
|
|
YVYU = YVYU422_CSC0,
|
|
UBC1 = UBC1_ABGR,
|
|
UBC2 = UBC2_ABGR,
|
|
UBC3 = UBC3_ABGR,
|
|
PVRT2BPP = PVRT2BPP_ABGR,
|
|
PVRT4BPP = PVRT4BPP_ABGR,
|
|
PVRTII2BPP = PVRTII2BPP_ABGR,
|
|
PVRTII4BPP = PVRTII4BPP_ABGR,
|
|
}
|
|
|
|
SceGxmTextureType :: enum c.uint {
|
|
SWIZZLED = 0x00000000,
|
|
CUBE = 0x40000000,
|
|
LINEAR = 0x60000000,
|
|
TILED = 0x80000000,
|
|
SWIZZLED_ARBITRARY = 0xA0000000,
|
|
LINEAR_STRIDED = 0xC0000000,
|
|
CUBE_ARBITRARY = 0xE0000000,
|
|
}
|
|
|
|
SceGxmTextureFilter :: enum c.uint {
|
|
POINT = 0x00000000,
|
|
LINEAR = 0x00000001,
|
|
MIPMAP_LINEAR = 0x00000002,
|
|
MIPMAP_POINT = 0x00000003,
|
|
}
|
|
|
|
SceGxmTextureMipFilter :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00000200,
|
|
}
|
|
|
|
SceGxmTextureAddrMode :: enum c.uint {
|
|
REPEAT = 0x00000000,
|
|
MIRROR = 0x00000001,
|
|
CLAMP = 0x00000002,
|
|
MIRROR_CLAMP = 0x00000003,
|
|
REPEAT_IGNORE_BORDER = 0x00000004,
|
|
CLAMP_FULL_BORDER = 0x00000005,
|
|
CLAMP_IGNORE_BORDER = 0x00000006,
|
|
CLAMP_HALF_BORDER = 0x00000007,
|
|
}
|
|
|
|
SceGxmTextureGammaMode :: enum c.uint {
|
|
NONE = 0x00000000,
|
|
R = 0x08000000,
|
|
GR = 0x18000000,
|
|
BGR = 0x08000000,
|
|
}
|
|
|
|
SceGxmTextureNormalizeMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x80000000,
|
|
}
|
|
|
|
SceGxmIndexFormat :: enum c.uint {
|
|
U16 = 0x00000000,
|
|
U32 = 0x01000000,
|
|
}
|
|
|
|
SceGxmIndexSource :: enum c.uint {
|
|
INDEX_16BIT = 0x00000000,
|
|
INDEX_32BIT = 0x00000001,
|
|
INSTANCE_16BIT = 0x00000002,
|
|
INSTANCE_32BIT = 0x00000003,
|
|
}
|
|
|
|
SceGxmFragmentProgramMode :: enum c.uint {
|
|
DISABLED = 0x00200000,
|
|
ENABLED = 0x00000000,
|
|
}
|
|
|
|
SceGxmDepthWriteMode :: enum c.uint {
|
|
DISABLED = 0x00100000,
|
|
ENABLED = 0x00000000,
|
|
}
|
|
|
|
SceGxmLineFillLastPixelMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00080000,
|
|
}
|
|
|
|
SceGxmTwoSidedMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00000800,
|
|
}
|
|
|
|
SceGxmWClampMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00008000,
|
|
}
|
|
|
|
SceGxmViewportMode :: enum c.uint {
|
|
DISABLED = 0x00010000,
|
|
ENABLED = 0x00000000,
|
|
}
|
|
|
|
SceGxmWBufferMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00004000,
|
|
}
|
|
|
|
SceGxmDepthStencilForceLoadMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00000002,
|
|
}
|
|
|
|
SceGxmDepthStencilForceStoreMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00000004,
|
|
}
|
|
|
|
SceGxmSceneFlags :: enum c.uint {
|
|
FRAGMENT_SET_DEPENDENCY = 0x00000001,
|
|
VERTEX_WAIT_FOR_DEPENDENCY = 0x00000002,
|
|
FRAGMENT_TRANSFER_SYNC = 0x00000004,
|
|
VERTEX_TRANSFER_SYNC = 0x00000008,
|
|
}
|
|
|
|
SceGxmMidSceneFlags :: enum c.uint {
|
|
PRESERVE_DEFAULT_UNIFORM_BUFFERS = 0x00000001,
|
|
}
|
|
|
|
SceGxmColorSurfaceScaleMode :: enum c.uint {
|
|
NONE = 0x00000000,
|
|
MSAA_DOWNSCALE = 0x00000001,
|
|
}
|
|
|
|
SceGxmOutputRegisterSize :: enum c.uint {
|
|
REGISTER_SIZE_32BIT = 0x00000000,
|
|
REGISTER_SIZE_64BIT = 0x00000001,
|
|
}
|
|
|
|
SceGxmVisibilityTestMode :: enum c.uint {
|
|
DISABLED = 0x00000000,
|
|
ENABLED = 0x00004000,
|
|
}
|
|
|
|
SceGxmVisibilityTestOp :: enum c.uint {
|
|
INCREMENT = 0x00000000,
|
|
SET = 0x00040000,
|
|
}
|
|
|
|
SceGxmYuvProfile :: enum c.int {
|
|
BT601_STANDARD,
|
|
BT709_STANDARD,
|
|
BT601_FULL_RANGE,
|
|
BT709_FULL_RANGE,
|
|
}
|
|
|
|
SceGxmBlendFunc :: enum c.int {
|
|
NONE,
|
|
ADD,
|
|
SUBTRACT,
|
|
REVERSE_SUBTRACT,
|
|
MIN,
|
|
MAX
|
|
}
|
|
|
|
SceGxmBlendFactor :: enum c.int {
|
|
ZERO,
|
|
ONE,
|
|
SRC_COLOR,
|
|
ONE_MINUS_SRC_COLOR,
|
|
SRC_ALPHA,
|
|
ONE_MINUS_SRC_ALPHA,
|
|
DST_COLOR,
|
|
ONE_MINUS_DST_COLOR,
|
|
DST_ALPHA,
|
|
ONE_MINUS_DST_ALPHA,
|
|
SRC_ALPHA_SATURATE,
|
|
DST_ALPHA_SATURATE
|
|
}
|
|
|
|
SceGxmColorMask :: enum c.int {
|
|
NONE = 0,
|
|
A = (1 << 0),
|
|
R = (1 << 1),
|
|
G = (1 << 2),
|
|
B = (1 << 3),
|
|
ALL = (A | B | G | R)
|
|
}
|
|
|
|
SceGxmTransferFormat :: enum c.uint {
|
|
U8_R = 0x00000000,
|
|
U4U4U4U4_ABGR = 0x00010000,
|
|
U1U5U5U5_ABGR = 0x00020000,
|
|
U5U6U5_BGR = 0x00030000,
|
|
U8U8_GR = 0x00040000,
|
|
U8U8U8_BGR = 0x00050000,
|
|
U8U8U8U8_ABGR = 0x00060000,
|
|
VYUY422 = 0x00070000,
|
|
YVYU422 = 0x00080000,
|
|
UYVY422 = 0x00090000,
|
|
YUYV422 = 0x000a0000,
|
|
U2U10U10U10_ABGR = 0x000d0000,
|
|
RAW16 = 0x000f0000,
|
|
RAW32 = 0x00110000,
|
|
RAW64 = 0x00120000,
|
|
RAW128 = 0x00130000,
|
|
}
|
|
|
|
SceGxmTransferFlags :: enum c.uint {
|
|
FRAGMENT_SYNC = 0x00000001,
|
|
VERTEX_SYNC = 0x00000002,
|
|
}
|
|
|
|
SceGxmTransferColorKeyMode :: enum c.int {
|
|
NONE = 0,
|
|
PASS = 1,
|
|
REJECT = 2
|
|
}
|
|
|
|
SceGxmTransferType :: enum c.uint {
|
|
LINEAR = 0x00000000,
|
|
TILED = 0x00400000,
|
|
SWIZZLED = 0x00800000,
|
|
}
|
|
|
|
SceGxmBlendInfo :: bit_field c.int {
|
|
colorMask: c.uint8_t | 8, //!< Color Mask (One of ::SceGxmColorMask)
|
|
colorFunc: c.uint8_t | 4, //!< Color blend function (One of ::SceGxmBlendFunc)
|
|
alphaFunc: c.uint8_t | 4, //!< Alpha blend function (One of ::SceGxmBlendFunc)
|
|
colorSrc: c.uint8_t | 4, //!< Color source blend factor (One of ::SceGxmBlendFactor)
|
|
colorDst: c.uint8_t | 4, //!< Color destination blend factor (One of ::SceGxmBlendFactor)
|
|
alphaSrc: c.uint8_t | 4, //!< Alpha source blend factor (One of ::SceGxmBlendFactor)
|
|
alphaDst: c.uint8_t | 4, //!< Alpha destination blend factor (One of ::SceGxmBlendFactor)
|
|
}
|
|
#assert(size_of(SceGxmBlendInfo) == 4)
|
|
|
|
SceGxmRenderTarget :: struct{}
|
|
|
|
SceGxmSyncObject :: struct{}
|
|
|
|
SceGxmVertexAttribute :: struct {
|
|
streamIndex: c.uint16_t, //!< Vertex stream index
|
|
offset: c.uint16_t, //!< Offset for the stream data in bytes
|
|
format: c.uint8_t, //!< Stream data type (One of ::SceGxmAttributeFormat)
|
|
componentCount: c.uint8_t, //!< Number of components for the stream data
|
|
regIndex: c.uint16_t, //!< The register index in the vertex shader to link stream to.
|
|
}
|
|
#assert(size_of(SceGxmVertexAttribute) == 8)
|
|
|
|
SceGxmVertexStream :: struct {
|
|
stride: c.uint16_t,
|
|
indexSource: c.uint16_t,
|
|
}
|
|
#assert(size_of(SceGxmVertexStream) == 4)
|
|
|
|
SceGxmTextureHi8Bytes :: struct {
|
|
// Control Word 0
|
|
using _: struct #raw_union {
|
|
generic: bit_field c.int { // Non LINEAR_STRIDED textures
|
|
unk0 : c.uint32_t | 1, //!< Unknown field
|
|
stride_ext : c.uint32_t | 2, //!< Stride extension for a LINEAR_STRIDED texture
|
|
vaddr_mode : c.uint32_t | 3, //!< V Address Mode
|
|
uaddr_mode : c.uint32_t | 3, //!< U Address Mode
|
|
mip_filter : c.uint32_t | 1, //!< Mip filter for a non LINEAR_STRIDED texture
|
|
min_filter : c.uint32_t | 2, //!< Min filter for a non LINEAR_STRIDED texture)
|
|
mag_filter : c.uint32_t | 2, //!< Mag Filter (and Min filter if LINEAR_STRIDED texture)
|
|
unk1 : c.uint32_t | 3, //!< Unknown field
|
|
mip_count : c.uint32_t | 4, //!< Mip count for a non LINEAR_STRIDED texture
|
|
lod_bias : c.uint32_t | 6, //!< Level of Details value for a non LINEAR_STRIDED texture
|
|
gamma_mode : c.uint32_t | 2, //!< Gamma mode
|
|
unk2 : c.uint32_t | 2, //!< Unknown field
|
|
format0 : c.uint32_t | 1, //!< Texture format extension
|
|
},
|
|
linear_strided: bit_field c.int { // LINEAR_STRIDED textures
|
|
unk0 : c.uint32_t | 1, //!< Unknown field
|
|
stride_ext : c.uint32_t | 2, //!< Stride extension for a LINEAR_STRIDED texture
|
|
vaddr_mode : c.uint32_t | 3, //!< V Address Mode
|
|
uaddr_mode : c.uint32_t | 3, //!< U Address Mode
|
|
stride_low : c.uint32_t | 3, //!< Internal stride lower bits for a LINEAR_STRIDED texture
|
|
mag_filter : c.uint32_t | 2, //!< Mag Filter (and Min filter if LINEAR_STRIDED texture)
|
|
unk1 : c.uint32_t | 3, //!< Unknown field
|
|
stride : c.uint32_t | 10, //!< Stride for a LINEAR_STRIDED texture
|
|
gamma_mode : c.uint32_t | 2, //!< Gamma mode
|
|
unk2 : c.uint32_t | 2, //!< Unknown field
|
|
format0 : c.uint32_t | 1, //!< Texture format extension
|
|
},
|
|
},
|
|
// Control Word 1
|
|
using _ : struct #raw_union {
|
|
generic2: bit_field c.int { // Non SWIZZLED and non CUBE textures
|
|
height : c.uint32_t | 12, //!< Texture height for non SWIZZLED and non CUBE textures
|
|
width : c.uint32_t | 12, //!< Texture width for non SWIZZLED and non CUBE textures
|
|
base_format : c.uint32_t | 5, //!< Texture base format
|
|
type : c.uint32_t | 3, //!< Texture format type
|
|
},
|
|
swizzled_cube: bit_field c.int { // SWIZZLED and CUBE textures
|
|
height_pot : c.uint32_t | 4, //!< Power of 2 height value for SWIZZLED and CUBE textures
|
|
reserved0 : c.uint32_t | 12, //!< Reserved field
|
|
width_pot : c.uint32_t | 4, //!< Power of 2 width value for SWIZZLED and CUBE textures
|
|
reserved1 : c.uint32_t | 4, //!< Reserved field
|
|
base_format : c.uint32_t | 5, //!< Texture base format
|
|
type : c.uint32_t | 3, //!< Texture format type
|
|
},
|
|
},
|
|
}
|
|
#assert(size_of(SceGxmTextureHi8Bytes) == 8)
|
|
|
|
SceGxmTextureLo8Bytes :: bit_field c.longlong {
|
|
// Control Word 2
|
|
lod_min0: c.uint32_t | 2, //!< Level of Details higher bits
|
|
data_addr: c.uint32_t | 30, //!< Texture data address
|
|
// Control Word 3
|
|
palette_addr: c.uint32_t | 26, //!< Texture palette address
|
|
lod_min1: c.uint32_t | 2, //!< Level of Details lower bits
|
|
swizzle_format: c.uint32_t | 3, //!< Texture format swizzling
|
|
normalize_mode: c.uint32_t | 1, //!< Normalize mode
|
|
}
|
|
#assert(size_of(SceGxmTextureLo8Bytes) == 8)
|
|
|
|
//! Texture struct
|
|
SceGxmTexture :: struct {
|
|
using hi: SceGxmTextureHi8Bytes,
|
|
using lo: SceGxmTextureLo8Bytes,
|
|
}
|
|
|
|
#assert(size_of(SceGxmTexture) == 0x10)
|
|
|
|
SceGxmCommandList :: struct {
|
|
words: [8]c.uint32_t,
|
|
}
|
|
#assert(size_of(SceGxmCommandList) == 0x20)
|
|
|
|
SceGxmColorSurface :: struct {
|
|
pbeSidebandWord: c.uint,
|
|
pbeEmitWords: [6]c.uint,
|
|
outputRegisterSize: c.uint,
|
|
backgroundTex: SceGxmTexture,
|
|
}
|
|
#assert(size_of(SceGxmColorSurface) == 0x30)
|
|
|
|
SceGxmDepthStencilSurface :: struct {
|
|
zlsControl: c.uint,
|
|
depthData: rawptr,
|
|
stencilData: rawptr,
|
|
backgroundDepth: c.float,
|
|
backgroundControl: c.uint,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmDepthStencilSurface) == 0x14)
|
|
}
|
|
|
|
//! Represents an auxiliary surface
|
|
SceGxmAuxiliarySurface :: struct {
|
|
colorFormat: c.uint32_t, //!< Format of auxiliary surface data from SceGxmColorFormat
|
|
type: c.uint32_t, //!< Memory layout of the surface data from SceGxmColorSurfaceType
|
|
width: c.uint32_t, //!< Surface width
|
|
height: c.uint32_t, //!< Surface height
|
|
stride: c.uint32_t, //!< Surface stride in bytes
|
|
data: rawptr, //!< A pointer to the surface data
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmAuxiliarySurface) == 0x18)
|
|
}
|
|
|
|
SceGxmNotification :: struct {
|
|
address: ^c.uint,
|
|
value: c.uint,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmNotification) == 8)
|
|
}
|
|
|
|
SceGxmValidRegion :: struct {
|
|
xMax: c.uint32_t,
|
|
yMax: c.uint32_t,
|
|
}
|
|
#assert(size_of(SceGxmValidRegion) == 8)
|
|
|
|
SceGxmContext :: struct{}
|
|
|
|
SCE_GXM_MINIMUM_CONTEXT_HOST_MEM_SIZE :: (2 * 1024)
|
|
SCE_GXM_DEFAULT_PARAMETER_BUFFER_SIZE :: (16 * 1024 * 1024)
|
|
SCE_GXM_DEFAULT_VDM_RING_BUFFER_SIZE :: (128 * 1024)
|
|
SCE_GXM_DEFAULT_VERTEX_RING_BUFFER_SIZE :: (2 * 1024 * 1024)
|
|
SCE_GXM_DEFAULT_FRAGMENT_RING_BUFFER_SIZE :: (512 * 1024)
|
|
SCE_GXM_DEFAULT_FRAGMENT_USSE_RING_BUFFER_SIZE :: (16 * 1024)
|
|
|
|
SceGxmContextParams :: struct {
|
|
hostMem: rawptr,
|
|
hostMemSize: sce.Size,
|
|
vdmRingBufferMem: rawptr,
|
|
vdmRingBufferMemSize: sce.Size,
|
|
vertexRingBufferMem: rawptr,
|
|
vertexRingBufferMemSize: sce.Size,
|
|
fragmentRingBufferMem: rawptr,
|
|
fragmentRingBufferMemSize: sce.Size,
|
|
fragmentUsseRingBufferMem: rawptr,
|
|
fragmentUsseRingBufferMemSize: sce.Size,
|
|
fragmentUsseRingBufferOffset: c.uint,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmContextParams) == 0x2C)
|
|
}
|
|
|
|
SceGxmDeferredContextParams :: struct {
|
|
hostMem: rawptr,
|
|
hostMemSize: sce.Size,
|
|
vdmCallback: #type ^proc(args: rawptr, requestedSize: sce.Size, size: ^sce.Size) -> rawptr,
|
|
vertexCallback: #type ^proc(args: rawptr, requestedSize: sce.Size, size: ^sce.Size) -> rawptr,
|
|
fragmentCallback: #type ^proc(args: rawptr, requestedSize: sce.Size, size: ^sce.Size) -> rawptr,
|
|
callbackData: rawptr,
|
|
vdmRingBufferMem: rawptr,
|
|
vdmRingBufferMemSize: sce.Size,
|
|
vertexRingBufferMem: rawptr,
|
|
vertexRingBufferMemSize: sce.Size,
|
|
fragmentRingBufferMem: rawptr,
|
|
fragmentRingBufferMemSize: sce.Size,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmDeferredContextParams) == 0x30)
|
|
}
|
|
|
|
SceGxmVertexProgram :: struct{}
|
|
|
|
SceGxmFragmentProgram :: struct{}
|
|
|
|
SceGxmPrecomputedWordCount :: enum c.int {
|
|
VERTEX_STATE_WORD_COUNT = 7,
|
|
FRAGMENT_STATE_WORD_COUNT = 9,
|
|
DRAW_WORD_COUNT = 11,
|
|
}
|
|
|
|
SceGxmPrecomputedVertexState :: struct {
|
|
data: [SceGxmPrecomputedWordCount.VERTEX_STATE_WORD_COUNT]c.uint,
|
|
}
|
|
#assert(size_of(SceGxmPrecomputedVertexState) == 0x1C)
|
|
|
|
SceGxmPrecomputedFragmentState :: struct {
|
|
data: [SceGxmPrecomputedWordCount.FRAGMENT_STATE_WORD_COUNT]c.uint,
|
|
}
|
|
#assert(size_of(SceGxmPrecomputedFragmentState) == 0x24)
|
|
|
|
SceGxmPrecomputedDraw :: struct {
|
|
data: [SceGxmPrecomputedWordCount.DRAW_WORD_COUNT]c.uint,
|
|
}
|
|
#assert(size_of(SceGxmPrecomputedDraw) == 0x2C)
|
|
|
|
SCE_GXM_MAX_VERTEX_ATTRIBUTES :: 16
|
|
SCE_GXM_MAX_VERTEX_STREAMS :: 16
|
|
SCE_GXM_MAX_TEXTURE_UNITS :: 16
|
|
SCE_GXM_MAX_UNIFORM_BUFFERS :: 14
|
|
SCE_GXM_MAX_AUXILIARY_SURFACES :: 3
|
|
|
|
SCE_GXM_TILE_SHIFTX : c.uint : 5
|
|
SCE_GXM_TILE_SHIFTY : c.uint : 5
|
|
SCE_GXM_TILE_SIZEX : c.uint : (1 << SCE_GXM_TILE_SHIFTX)
|
|
SCE_GXM_TILE_SIZEY : c.uint : (1 << SCE_GXM_TILE_SHIFTY)
|
|
|
|
SCE_GXM_COLOR_SURFACE_ALIGNMENT : c.uint : 4
|
|
SCE_GXM_TEXTURE_ALIGNMENT : c.uint : 16
|
|
SCE_GXM_DEPTHSTENCIL_SURFACE_ALIGNMENT : c.uint : 16
|
|
SCE_GXM_PALETTE_ALIGNMENT : c.uint : 64
|
|
|
|
SceGxmProgram :: struct{}
|
|
|
|
SceGxmProgramParameter :: struct{}
|
|
|
|
SceGxmProgramType :: enum c.int {
|
|
VERTEX_PROGRAM,
|
|
FRAGMENT_PROGRAM
|
|
}
|
|
|
|
SceGxmParameterCategory :: enum c.int {
|
|
ATTRIBUTE,
|
|
UNIFORM,
|
|
SAMPLER,
|
|
AUXILIARY_SURFACE,
|
|
UNIFORM_BUFFER
|
|
}
|
|
|
|
SceGxmParameterType :: enum c.int {
|
|
F32,
|
|
F16,
|
|
C10,
|
|
U32,
|
|
S32,
|
|
U16,
|
|
S16,
|
|
U8,
|
|
S8,
|
|
AGGREGATE
|
|
}
|
|
|
|
SceGxmParameterSemantic :: enum c.int {
|
|
NONE,
|
|
ATTR,
|
|
BCOL,
|
|
BINORMAL,
|
|
BLENDINDICES,
|
|
BLENDWEIGHT,
|
|
COLOR,
|
|
DIFFUSE,
|
|
FOGCOORD,
|
|
NORMAL,
|
|
POINTSIZE,
|
|
POSITION,
|
|
SPECULAR,
|
|
TANGENT,
|
|
TEXCOORD
|
|
}
|
|
|
|
SceGxmShaderPatcher :: struct{}
|
|
|
|
SceGxmRegisteredProgram :: struct{}
|
|
|
|
SceGxmShaderPatcherId :: ^SceGxmRegisteredProgram
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmShaderPatcherId) == 4)
|
|
}
|
|
|
|
SceGxmShaderPatcherHostAllocCallback :: #type proc(userData: rawptr, size: sce.Size) -> rawptr
|
|
SceGxmShaderPatcherHostFreeCallback :: #type proc(userData: rawptr, mem: rawptr)
|
|
SceGxmShaderPatcherBufferAllocCallback :: #type proc(userData: rawptr, size: sce.Size) -> rawptr
|
|
SceGxmShaderPatcherBufferFreeCallback :: #type proc(userData: rawptr, mem: rawptr)
|
|
SceGxmShaderPatcherUsseAllocCallback :: #type proc(userData: rawptr, size: sce.Size, usseOffset: ^c.uint) -> rawptr
|
|
SceGxmShaderPatcherUsseFreeCallback :: #type proc(userData: rawptr, mem: rawptr)
|
|
|
|
SceGxmShaderPatcherParams :: struct {
|
|
userData: rawptr,
|
|
hostAllocCallback: ^SceGxmShaderPatcherHostAllocCallback,
|
|
hostFreeCallback: ^SceGxmShaderPatcherHostFreeCallback,
|
|
bufferAllocCallback: ^SceGxmShaderPatcherBufferAllocCallback,
|
|
bufferFreeCallback: ^SceGxmShaderPatcherBufferFreeCallback,
|
|
bufferMem: rawptr,
|
|
bufferMemSize: sce.Size,
|
|
vertexUsseAllocCallback: ^SceGxmShaderPatcherUsseAllocCallback,
|
|
vertexUsseFreeCallback: ^SceGxmShaderPatcherUsseFreeCallback,
|
|
vertexUsseMem: rawptr,
|
|
vertexUsseMemSize: sce.Size,
|
|
vertexUsseOffset: c.uint,
|
|
fragmentUsseAllocCallback: ^SceGxmShaderPatcherUsseAllocCallback,
|
|
fragmentUsseFreeCallback: ^SceGxmShaderPatcherUsseFreeCallback,
|
|
fragmentUsseMem: rawptr,
|
|
fragmentUsseMemSize: sce.Size,
|
|
fragmentUsseOffset: c.uint,
|
|
}
|
|
when size_of(rawptr) == 4 {
|
|
#assert(size_of(SceGxmShaderPatcherParams) == 0x44)
|
|
}
|
|
|
|
SceGxmRenderTargetFlags :: enum c.int {
|
|
CUSTOM_MULTISAMPLE_LOCATIONS = (1 << 0)
|
|
}
|
|
|
|
SceGxmRenderTargetParams :: struct {
|
|
flags: c.uint32_t, //!< Bitwise combined flags from ::SceGxmRenderTargetFlags.
|
|
width: c.uint16_t, //!< The width of the render target in pixels.
|
|
height: c.uint16_t, //!< The height of the render target in pixels.
|
|
scenesPerFrame: c.uint16_t, //!< The expected number of scenes per frame, in the range [1,SCE_GXM_MAX_SCENES_PER_RENDERTARGET].
|
|
multisampleMode: c.uint16_t, //!< A value from the #SceGxmMultisampleMode enum.
|
|
multisampleLocations: c.uint32_t, //!< If enabled in the flags, the multisample locations to use.
|
|
driverMemBlock: sce.UID, //!< The uncached LPDDR memblock for the render target GPU data structures or SCE_UID_INVALID_UID to specify memory should be allocated in libgxm.
|
|
}
|
|
#assert(size_of(SceGxmRenderTargetParams) == 0x14)
|
|
|
|
|
|
// TODO: should be c.int
|
|
/** GXT error codes */
|
|
SceGxtErrorCode :: enum c.uint {
|
|
INVALID_VALUE = 0x805D0000,
|
|
INVALID_POINTER = 0x805D0001,
|
|
INVALID_ALIGNMENT = 0x805D0002
|
|
}
|
|
|
|
/** Header for a GXT file */
|
|
SceGxtHeader :: struct {
|
|
tag: c.uint32_t, //!< GXT Identifier
|
|
version: c.uint32_t, //!< Version number
|
|
numTextures: c.uint32_t, //!< Number of textures
|
|
dataOffset: c.uint32_t, //!< Offset to the texture data
|
|
dataSize: c.uint32_t, //!< Total size of the texture data
|
|
numP4Palettes: c.uint32_t, //!< Number of 16 entry palettes
|
|
numP8Palettes: c.uint32_t, //!< Number of 256 entry palettes
|
|
pad: c.uint32_t, //!< Padding
|
|
}
|
|
#assert(size_of(SceGxtHeader) == 0x20)
|
|
|
|
/** This structure contains information about each texture in the GXT file */
|
|
SceGxtTextureInfo :: struct {
|
|
dataOffset: c.uint32_t, //!< Offset to the texture data
|
|
dataSize: c.uint32_t, //!< Size of the texture data
|
|
paletteIndex: c.uint32_t, //!< Index of the palette
|
|
flags: c.uint32_t, //!< Texture flags
|
|
type: c.uint32_t, //!< Texture type
|
|
format: c.uint32_t, //!< Texture format
|
|
width: c.uint16_t, //!< Texture width
|
|
height: c.uint16_t, //!< Texture height
|
|
mipCount: c.uint8_t, //!< Number of mipmaps
|
|
pad: [3]c.uint8_t, //!< Padding
|
|
}
|
|
#assert(size_of(SceGxtTextureInfo) == 0x20)
|
|
|