sdl3bind/castholm/v0.2.0-3.2.8/json/gpu.json

3913 lines
98 KiB
JSON

{
"header": "SDL_gpu.h",
"opaque_types": [
{
"name": "SDL_GPUDevice"
},
{
"name": "SDL_GPUBuffer"
},
{
"name": "SDL_GPUTransferBuffer"
},
{
"name": "SDL_GPUTexture"
},
{
"name": "SDL_GPUSampler"
},
{
"name": "SDL_GPUShader"
},
{
"name": "SDL_GPUComputePipeline"
},
{
"name": "SDL_GPUGraphicsPipeline"
},
{
"name": "SDL_GPUCommandBuffer"
},
{
"name": "SDL_GPURenderPass"
},
{
"name": "SDL_GPUComputePass"
},
{
"name": "SDL_GPUCopyPass"
},
{
"name": "SDL_GPUFence"
}
],
"typedefs": [],
"function_pointers": [],
"c_type_aliases": [],
"enums": [
{
"name": "SDL_GPUPrimitiveType",
"values": [
{
"name": "SDL_GPU_PRIMITIVETYPE_TRIANGLELIST",
"comment": "A series of separate triangles."
},
{
"name": "SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP",
"comment": "A series of connected triangles."
},
{
"name": "SDL_GPU_PRIMITIVETYPE_LINELIST",
"comment": "A series of separate lines."
},
{
"name": "SDL_GPU_PRIMITIVETYPE_LINESTRIP",
"comment": "A series of connected lines."
},
{
"name": "SDL_GPU_PRIMITIVETYPE_POINTLIST",
"comment": "A series of separate points."
}
]
},
{
"name": "SDL_GPULoadOp",
"values": [
{
"name": "SDL_GPU_LOADOP_LOAD",
"comment": "The previous contents of the texture will be preserved."
},
{
"name": "SDL_GPU_LOADOP_CLEAR",
"comment": "The contents of the texture will be cleared to a color."
},
{
"name": "SDL_GPU_LOADOP_DONT_CARE",
"comment": "The previous contents of the texture need not be preserved. The contents will be undefined."
}
]
},
{
"name": "SDL_GPUStoreOp",
"values": [
{
"name": "SDL_GPU_STOREOP_STORE",
"comment": "The contents generated during the render pass will be written to memory."
},
{
"name": "SDL_GPU_STOREOP_DONT_CARE",
"comment": "The contents generated during the render pass are not needed and may be discarded. The contents will be undefined."
},
{
"name": "SDL_GPU_STOREOP_RESOLVE",
"comment": "The multisample contents generated during the render pass will be resolved to a non-multisample texture. The contents in the multisample texture may then be discarded and will be undefined."
},
{
"name": "SDL_GPU_STOREOP_RESOLVE_AND_STORE",
"comment": "The multisample contents generated during the render pass will be resolved to a non-multisample texture. The contents in the multisample texture will be written to memory."
}
]
},
{
"name": "SDL_GPUIndexElementSize",
"values": [
{
"name": "SDL_GPU_INDEXELEMENTSIZE_16BIT",
"comment": "The index elements are 16-bit."
},
{
"name": "SDL_GPU_INDEXELEMENTSIZE_32BIT",
"comment": "The index elements are 32-bit."
}
]
},
{
"name": "SDL_GPUTextureFormat",
"values": [
{
"name": "SDL_GPU_TEXTUREFORMAT_INVALID"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_A8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_D16_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_D24_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_D32_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT"
},
{
"name": "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT"
}
]
},
{
"name": "SDL_GPUTextureType",
"values": [
{
"name": "SDL_GPU_TEXTURETYPE_2D",
"comment": "The texture is a 2-dimensional image."
},
{
"name": "SDL_GPU_TEXTURETYPE_2D_ARRAY",
"comment": "The texture is a 2-dimensional array image."
},
{
"name": "SDL_GPU_TEXTURETYPE_3D",
"comment": "The texture is a 3-dimensional image."
},
{
"name": "SDL_GPU_TEXTURETYPE_CUBE",
"comment": "The texture is a cube image."
},
{
"name": "SDL_GPU_TEXTURETYPE_CUBE_ARRAY",
"comment": "The texture is a cube array image."
}
]
},
{
"name": "SDL_GPUSampleCount",
"values": [
{
"name": "SDL_GPU_SAMPLECOUNT_1",
"comment": "No multisampling."
},
{
"name": "SDL_GPU_SAMPLECOUNT_2",
"comment": "MSAA 2x"
},
{
"name": "SDL_GPU_SAMPLECOUNT_4",
"comment": "MSAA 4x"
},
{
"name": "SDL_GPU_SAMPLECOUNT_8",
"comment": "MSAA 8x"
}
]
},
{
"name": "SDL_GPUCubeMapFace",
"values": [
{
"name": "SDL_GPU_CUBEMAPFACE_POSITIVEX"
},
{
"name": "SDL_GPU_CUBEMAPFACE_NEGATIVEX"
},
{
"name": "SDL_GPU_CUBEMAPFACE_POSITIVEY"
},
{
"name": "SDL_GPU_CUBEMAPFACE_NEGATIVEY"
},
{
"name": "SDL_GPU_CUBEMAPFACE_POSITIVEZ"
},
{
"name": "SDL_GPU_CUBEMAPFACE_NEGATIVEZ"
}
]
},
{
"name": "SDL_GPUTransferBufferUsage",
"values": [
{
"name": "SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD"
},
{
"name": "SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD"
}
]
},
{
"name": "SDL_GPUShaderStage",
"values": [
{
"name": "SDL_GPU_SHADERSTAGE_VERTEX"
},
{
"name": "SDL_GPU_SHADERSTAGE_FRAGMENT"
}
]
},
{
"name": "SDL_GPUVertexElementFormat",
"values": [
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_INVALID"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_INT"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_INT2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_INT3"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_INT4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UINT"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UINT2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UINT3"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UINT4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_HALF2"
},
{
"name": "SDL_GPU_VERTEXELEMENTFORMAT_HALF4"
}
]
},
{
"name": "SDL_GPUVertexInputRate",
"values": [
{
"name": "SDL_GPU_VERTEXINPUTRATE_VERTEX",
"comment": "Attribute addressing is a function of the vertex index."
},
{
"name": "SDL_GPU_VERTEXINPUTRATE_INSTANCE",
"comment": "Attribute addressing is a function of the instance index."
}
]
},
{
"name": "SDL_GPUFillMode",
"values": [
{
"name": "SDL_GPU_FILLMODE_FILL",
"comment": "Polygons will be rendered via rasterization."
},
{
"name": "SDL_GPU_FILLMODE_LINE",
"comment": "Polygon edges will be drawn as line segments."
}
]
},
{
"name": "SDL_GPUCullMode",
"values": [
{
"name": "SDL_GPU_CULLMODE_NONE",
"comment": "No triangles are culled."
},
{
"name": "SDL_GPU_CULLMODE_FRONT",
"comment": "Front-facing triangles are culled."
},
{
"name": "SDL_GPU_CULLMODE_BACK",
"comment": "Back-facing triangles are culled."
}
]
},
{
"name": "SDL_GPUFrontFace",
"values": [
{
"name": "SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE",
"comment": "A triangle with counter-clockwise vertex winding will be considered front-facing."
},
{
"name": "SDL_GPU_FRONTFACE_CLOCKWISE",
"comment": "A triangle with clockwise vertex winding will be considered front-facing."
}
]
},
{
"name": "SDL_GPUCompareOp",
"values": [
{
"name": "SDL_GPU_COMPAREOP_INVALID"
},
{
"name": "SDL_GPU_COMPAREOP_NEVER",
"comment": "The comparison always evaluates false."
},
{
"name": "SDL_GPU_COMPAREOP_LESS",
"comment": "The comparison evaluates reference < test."
},
{
"name": "SDL_GPU_COMPAREOP_EQUAL",
"comment": "The comparison evaluates reference == test."
},
{
"name": "SDL_GPU_COMPAREOP_LESS_OR_EQUAL",
"comment": "The comparison evaluates reference <= test."
},
{
"name": "SDL_GPU_COMPAREOP_GREATER",
"comment": "The comparison evaluates reference > test."
},
{
"name": "SDL_GPU_COMPAREOP_NOT_EQUAL",
"comment": "The comparison evaluates reference != test."
},
{
"name": "SDL_GPU_COMPAREOP_GREATER_OR_EQUAL",
"comment": "The comparison evalutes reference >= test."
},
{
"name": "SDL_GPU_COMPAREOP_ALWAYS",
"comment": "The comparison always evaluates true."
}
]
},
{
"name": "SDL_GPUStencilOp",
"values": [
{
"name": "SDL_GPU_STENCILOP_INVALID"
},
{
"name": "SDL_GPU_STENCILOP_KEEP",
"comment": "Keeps the current value."
},
{
"name": "SDL_GPU_STENCILOP_ZERO",
"comment": "Sets the value to 0."
},
{
"name": "SDL_GPU_STENCILOP_REPLACE",
"comment": "Sets the value to reference."
},
{
"name": "SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP",
"comment": "Increments the current value and clamps to the maximum value."
},
{
"name": "SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP",
"comment": "Decrements the current value and clamps to 0."
},
{
"name": "SDL_GPU_STENCILOP_INVERT",
"comment": "Bitwise-inverts the current value."
},
{
"name": "SDL_GPU_STENCILOP_INCREMENT_AND_WRAP",
"comment": "Increments the current value and wraps back to 0."
},
{
"name": "SDL_GPU_STENCILOP_DECREMENT_AND_WRAP",
"comment": "Decrements the current value and wraps to the maximum value."
}
]
},
{
"name": "SDL_GPUBlendOp",
"values": [
{
"name": "SDL_GPU_BLENDOP_INVALID"
},
{
"name": "SDL_GPU_BLENDOP_ADD",
"comment": "(source * source_factor) + (destination * destination_factor)"
},
{
"name": "SDL_GPU_BLENDOP_SUBTRACT",
"comment": "(source * source_factor) - (destination * destination_factor)"
},
{
"name": "SDL_GPU_BLENDOP_REVERSE_SUBTRACT",
"comment": "(destination * destination_factor) - (source * source_factor)"
},
{
"name": "SDL_GPU_BLENDOP_MIN",
"comment": "min(source, destination)"
},
{
"name": "SDL_GPU_BLENDOP_MAX"
}
]
},
{
"name": "SDL_GPUBlendFactor",
"values": [
{
"name": "SDL_GPU_BLENDFACTOR_INVALID"
},
{
"name": "SDL_GPU_BLENDFACTOR_ZERO",
"comment": "0"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE",
"comment": "1"
},
{
"name": "SDL_GPU_BLENDFACTOR_SRC_COLOR",
"comment": "source color"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR",
"comment": "1 - source color"
},
{
"name": "SDL_GPU_BLENDFACTOR_DST_COLOR",
"comment": "destination color"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR",
"comment": "1 - destination color"
},
{
"name": "SDL_GPU_BLENDFACTOR_SRC_ALPHA",
"comment": "source alpha"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA",
"comment": "1 - source alpha"
},
{
"name": "SDL_GPU_BLENDFACTOR_DST_ALPHA",
"comment": "destination alpha"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA",
"comment": "1 - destination alpha"
},
{
"name": "SDL_GPU_BLENDFACTOR_CONSTANT_COLOR",
"comment": "blend constant"
},
{
"name": "SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR",
"comment": "1 - blend constant"
},
{
"name": "SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE"
}
]
},
{
"name": "SDL_GPUFilter",
"values": [
{
"name": "SDL_GPU_FILTER_NEAREST",
"comment": "Point filtering."
},
{
"name": "SDL_GPU_FILTER_LINEAR",
"comment": "Linear filtering."
}
]
},
{
"name": "SDL_GPUSamplerMipmapMode",
"values": [
{
"name": "SDL_GPU_SAMPLERMIPMAPMODE_NEAREST",
"comment": "Point filtering."
},
{
"name": "SDL_GPU_SAMPLERMIPMAPMODE_LINEAR",
"comment": "Linear filtering."
}
]
},
{
"name": "SDL_GPUSamplerAddressMode",
"values": [
{
"name": "SDL_GPU_SAMPLERADDRESSMODE_REPEAT",
"comment": "Specifies that the coordinates will wrap around."
},
{
"name": "SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT",
"comment": "Specifies that the coordinates will wrap around mirrored."
},
{
"name": "SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE",
"comment": "Specifies that the coordinates will clamp to the 0-1 range."
}
]
},
{
"name": "SDL_GPUPresentMode",
"values": [
{
"name": "SDL_GPU_PRESENTMODE_VSYNC"
},
{
"name": "SDL_GPU_PRESENTMODE_IMMEDIATE"
},
{
"name": "SDL_GPU_PRESENTMODE_MAILBOX"
}
]
},
{
"name": "SDL_GPUSwapchainComposition",
"values": [
{
"name": "SDL_GPU_SWAPCHAINCOMPOSITION_SDR"
},
{
"name": "SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR"
},
{
"name": "SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR"
},
{
"name": "SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084"
}
]
}
],
"structs": [
{
"name": "SDL_GPUViewport",
"fields": [
{
"name": "x",
"type": "float",
"comment": "The left offset of the viewport."
},
{
"name": "y",
"type": "float",
"comment": "The top offset of the viewport."
},
{
"name": "w",
"type": "float",
"comment": "The width of the viewport."
},
{
"name": "h",
"type": "float",
"comment": "The height of the viewport."
},
{
"name": "min_depth",
"type": "float",
"comment": "The minimum depth of the viewport."
},
{
"name": "max_depth",
"type": "float",
"comment": "The maximum depth of the viewport."
}
]
},
{
"name": "SDL_GPUTextureTransferInfo",
"fields": [
{
"name": "transfer_buffer",
"type": "SDL_GPUTransferBuffer *",
"comment": "The transfer buffer used in the transfer operation."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The starting byte of the image data in the transfer buffer."
},
{
"name": "pixels_per_row",
"type": "Uint32",
"comment": "The number of pixels from one row to the next."
},
{
"name": "rows_per_layer",
"type": "Uint32",
"comment": "The number of rows from one layer/depth-slice to the next."
}
]
},
{
"name": "SDL_GPUTransferBufferLocation",
"fields": [
{
"name": "transfer_buffer",
"type": "SDL_GPUTransferBuffer *",
"comment": "The transfer buffer used in the transfer operation."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The starting byte of the buffer data in the transfer buffer."
}
]
},
{
"name": "SDL_GPUTextureLocation",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture used in the copy operation."
},
{
"name": "mip_level",
"type": "Uint32",
"comment": "The mip level index of the location."
},
{
"name": "layer",
"type": "Uint32",
"comment": "The layer index of the location."
},
{
"name": "x",
"type": "Uint32",
"comment": "The left offset of the location."
},
{
"name": "y",
"type": "Uint32",
"comment": "The top offset of the location."
},
{
"name": "z",
"type": "Uint32",
"comment": "The front offset of the location."
}
]
},
{
"name": "SDL_GPUTextureRegion",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture used in the copy operation."
},
{
"name": "mip_level",
"type": "Uint32",
"comment": "The mip level index to transfer."
},
{
"name": "layer",
"type": "Uint32",
"comment": "The layer index to transfer."
},
{
"name": "x",
"type": "Uint32",
"comment": "The left offset of the region."
},
{
"name": "y",
"type": "Uint32",
"comment": "The top offset of the region."
},
{
"name": "z",
"type": "Uint32",
"comment": "The front offset of the region."
},
{
"name": "w",
"type": "Uint32",
"comment": "The width of the region."
},
{
"name": "h",
"type": "Uint32",
"comment": "The height of the region."
},
{
"name": "d",
"type": "Uint32",
"comment": "The depth of the region."
}
]
},
{
"name": "SDL_GPUBlitRegion",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture."
},
{
"name": "mip_level",
"type": "Uint32",
"comment": "The mip level index of the region."
},
{
"name": "layer_or_depth_plane",
"type": "Uint32",
"comment": "The layer index or depth plane of the region. This value is treated as a layer index on 2D array and cube textures, and as a depth plane on 3D textures."
},
{
"name": "x",
"type": "Uint32",
"comment": "The left offset of the region."
},
{
"name": "y",
"type": "Uint32",
"comment": "The top offset of the region."
},
{
"name": "w",
"type": "Uint32",
"comment": "The width of the region."
},
{
"name": "h",
"type": "Uint32",
"comment": "The height of the region."
}
]
},
{
"name": "SDL_GPUBufferLocation",
"fields": [
{
"name": "buffer",
"type": "SDL_GPUBuffer *",
"comment": "The buffer."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The starting byte within the buffer."
}
]
},
{
"name": "SDL_GPUBufferRegion",
"fields": [
{
"name": "buffer",
"type": "SDL_GPUBuffer *",
"comment": "The buffer."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The starting byte within the buffer."
},
{
"name": "size",
"type": "Uint32",
"comment": "The size in bytes of the region."
}
]
},
{
"name": "SDL_GPUIndirectDrawCommand",
"fields": [
{
"name": "num_vertices",
"type": "Uint32",
"comment": "The number of vertices to draw."
},
{
"name": "num_instances",
"type": "Uint32",
"comment": "The number of instances to draw."
},
{
"name": "first_vertex",
"type": "Uint32",
"comment": "The index of the first vertex to draw."
},
{
"name": "first_instance",
"type": "Uint32",
"comment": "The ID of the first instance to draw."
}
]
},
{
"name": "SDL_GPUIndexedIndirectDrawCommand",
"fields": [
{
"name": "num_indices",
"type": "Uint32",
"comment": "The number of indices to draw per instance."
},
{
"name": "num_instances",
"type": "Uint32",
"comment": "The number of instances to draw."
},
{
"name": "first_index",
"type": "Uint32",
"comment": "The base index within the index buffer."
},
{
"name": "vertex_offset",
"type": "Sint32",
"comment": "The value added to the vertex index before indexing into the vertex buffer."
},
{
"name": "first_instance",
"type": "Uint32",
"comment": "The ID of the first instance to draw."
}
]
},
{
"name": "SDL_GPUIndirectDispatchCommand",
"fields": [
{
"name": "groupcount_x",
"type": "Uint32",
"comment": "The number of local workgroups to dispatch in the X dimension."
},
{
"name": "groupcount_y",
"type": "Uint32",
"comment": "The number of local workgroups to dispatch in the Y dimension."
},
{
"name": "groupcount_z",
"type": "Uint32",
"comment": "The number of local workgroups to dispatch in the Z dimension."
}
]
},
{
"name": "SDL_GPUSamplerCreateInfo",
"fields": [
{
"name": "min_filter",
"type": "SDL_GPUFilter",
"comment": "The minification filter to apply to lookups."
},
{
"name": "mag_filter",
"type": "SDL_GPUFilter",
"comment": "The magnification filter to apply to lookups."
},
{
"name": "mipmap_mode",
"type": "SDL_GPUSamplerMipmapMode",
"comment": "The mipmap filter to apply to lookups."
},
{
"name": "address_mode_u",
"type": "SDL_GPUSamplerAddressMode",
"comment": "The addressing mode for U coordinates outside [0, 1)."
},
{
"name": "address_mode_v",
"type": "SDL_GPUSamplerAddressMode",
"comment": "The addressing mode for V coordinates outside [0, 1)."
},
{
"name": "address_mode_w",
"type": "SDL_GPUSamplerAddressMode",
"comment": "The addressing mode for W coordinates outside [0, 1)."
},
{
"name": "mip_lod_bias",
"type": "float",
"comment": "The bias to be added to mipmap LOD calculation."
},
{
"name": "max_anisotropy",
"type": "float",
"comment": "The anisotropy value clamp used by the sampler. If enable_anisotropy is false, this is ignored."
},
{
"name": "compare_op",
"type": "SDL_GPUCompareOp",
"comment": "The comparison operator to apply to fetched data before filtering."
},
{
"name": "min_lod",
"type": "float",
"comment": "Clamps the minimum of the computed LOD value."
},
{
"name": "max_lod",
"type": "float",
"comment": "Clamps the maximum of the computed LOD value."
},
{
"name": "enable_anisotropy",
"type": "bool",
"comment": "true to enable anisotropic filtering."
},
{
"name": "enable_compare",
"type": "bool",
"comment": "true to enable comparison against a reference value during lookups."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUVertexBufferDescription",
"fields": [
{
"name": "slot",
"type": "Uint32",
"comment": "The binding slot of the vertex buffer."
},
{
"name": "pitch",
"type": "Uint32",
"comment": "The byte pitch between consecutive elements of the vertex buffer."
},
{
"name": "input_rate",
"type": "SDL_GPUVertexInputRate",
"comment": "Whether attribute addressing is a function of the vertex index or instance index."
},
{
"name": "instance_step_rate",
"type": "Uint32",
"comment": "Reserved for future use. Must be set to 0."
}
]
},
{
"name": "SDL_GPUVertexAttribute",
"fields": [
{
"name": "location",
"type": "Uint32",
"comment": "The shader input location index."
},
{
"name": "buffer_slot",
"type": "Uint32",
"comment": "The binding slot of the associated vertex buffer."
},
{
"name": "format",
"type": "SDL_GPUVertexElementFormat",
"comment": "The size and type of the attribute data."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The byte offset of this attribute relative to the start of the vertex element."
}
]
},
{
"name": "SDL_GPUVertexInputState",
"fields": [
{
"name": "vertex_buffer_descriptions",
"type": "const SDL_GPUVertexBufferDescription *",
"comment": "A pointer to an array of vertex buffer descriptions."
},
{
"name": "num_vertex_buffers",
"type": "Uint32",
"comment": "The number of vertex buffer descriptions in the above array."
},
{
"name": "vertex_attributes",
"type": "const SDL_GPUVertexAttribute *",
"comment": "A pointer to an array of vertex attribute descriptions."
},
{
"name": "num_vertex_attributes",
"type": "Uint32",
"comment": "The number of vertex attribute descriptions in the above array."
}
]
},
{
"name": "SDL_GPUStencilOpState",
"fields": [
{
"name": "fail_op",
"type": "SDL_GPUStencilOp",
"comment": "The action performed on samples that fail the stencil test."
},
{
"name": "pass_op",
"type": "SDL_GPUStencilOp",
"comment": "The action performed on samples that pass the depth and stencil tests."
},
{
"name": "depth_fail_op",
"type": "SDL_GPUStencilOp",
"comment": "The action performed on samples that pass the stencil test and fail the depth test."
},
{
"name": "compare_op",
"type": "SDL_GPUCompareOp",
"comment": "The comparison operator used in the stencil test."
}
]
},
{
"name": "SDL_GPUColorTargetBlendState",
"fields": [
{
"name": "src_color_blendfactor",
"type": "SDL_GPUBlendFactor",
"comment": "The value to be multiplied by the source RGB value."
},
{
"name": "dst_color_blendfactor",
"type": "SDL_GPUBlendFactor",
"comment": "The value to be multiplied by the destination RGB value."
},
{
"name": "color_blend_op",
"type": "SDL_GPUBlendOp",
"comment": "The blend operation for the RGB components."
},
{
"name": "src_alpha_blendfactor",
"type": "SDL_GPUBlendFactor",
"comment": "The value to be multiplied by the source alpha."
},
{
"name": "dst_alpha_blendfactor",
"type": "SDL_GPUBlendFactor",
"comment": "The value to be multiplied by the destination alpha."
},
{
"name": "alpha_blend_op",
"type": "SDL_GPUBlendOp",
"comment": "The blend operation for the alpha component."
},
{
"name": "color_write_mask",
"type": "SDL_GPUColorComponentFlags",
"comment": "A bitmask specifying which of the RGBA components are enabled for writing. Writes to all channels if enable_color_write_mask is false."
},
{
"name": "enable_blend",
"type": "bool",
"comment": "Whether blending is enabled for the color target."
},
{
"name": "enable_color_write_mask",
"type": "bool",
"comment": "Whether the color write mask is enabled."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUShaderCreateInfo",
"fields": [
{
"name": "code_size",
"type": "size_t",
"comment": "The size in bytes of the code pointed to."
},
{
"name": "code",
"type": "const Uint8 *",
"comment": "A pointer to shader code."
},
{
"name": "entrypoint",
"type": "const char *",
"comment": "A pointer to a null-terminated UTF-8 string specifying the entry point function name for the shader."
},
{
"name": "format",
"type": "SDL_GPUShaderFormat",
"comment": "The format of the shader code."
},
{
"name": "stage",
"type": "SDL_GPUShaderStage",
"comment": "The stage the shader program corresponds to."
},
{
"name": "num_samplers",
"type": "Uint32",
"comment": "The number of samplers defined in the shader."
},
{
"name": "num_storage_textures",
"type": "Uint32",
"comment": "The number of storage textures defined in the shader."
},
{
"name": "num_storage_buffers",
"type": "Uint32",
"comment": "The number of storage buffers defined in the shader."
},
{
"name": "num_uniform_buffers",
"type": "Uint32",
"comment": "The number of uniform buffers defined in the shader."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUTextureCreateInfo",
"fields": [
{
"name": "_type",
"type": "SDL_GPUTextureType",
"comment": "The base dimensionality of the texture."
},
{
"name": "format",
"type": "SDL_GPUTextureFormat",
"comment": "The pixel format of the texture."
},
{
"name": "usage",
"type": "SDL_GPUTextureUsageFlags",
"comment": "How the texture is intended to be used by the client."
},
{
"name": "width",
"type": "Uint32",
"comment": "The width of the texture."
},
{
"name": "height",
"type": "Uint32",
"comment": "The height of the texture."
},
{
"name": "layer_count_or_depth",
"type": "Uint32",
"comment": "The layer count or depth of the texture. This value is treated as a layer count on 2D array textures, and as a depth value on 3D textures."
},
{
"name": "num_levels",
"type": "Uint32",
"comment": "The number of mip levels in the texture."
},
{
"name": "sample_count",
"type": "SDL_GPUSampleCount",
"comment": "The number of samples per texel. Only applies if the texture is used as a render target."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUBufferCreateInfo",
"fields": [
{
"name": "usage",
"type": "SDL_GPUBufferUsageFlags",
"comment": "How the buffer is intended to be used by the client."
},
{
"name": "size",
"type": "Uint32",
"comment": "The size in bytes of the buffer."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUTransferBufferCreateInfo",
"fields": [
{
"name": "usage",
"type": "SDL_GPUTransferBufferUsage",
"comment": "How the transfer buffer is intended to be used by the client."
},
{
"name": "size",
"type": "Uint32",
"comment": "The size in bytes of the transfer buffer."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPURasterizerState",
"fields": [
{
"name": "fill_mode",
"type": "SDL_GPUFillMode",
"comment": "Whether polygons will be filled in or drawn as lines."
},
{
"name": "cull_mode",
"type": "SDL_GPUCullMode",
"comment": "The facing direction in which triangles will be culled."
},
{
"name": "front_face",
"type": "SDL_GPUFrontFace",
"comment": "The vertex winding that will cause a triangle to be determined as front-facing."
},
{
"name": "depth_bias_constant_factor",
"type": "float",
"comment": "A scalar factor controlling the depth value added to each fragment."
},
{
"name": "depth_bias_clamp",
"type": "float",
"comment": "The maximum depth bias of a fragment."
},
{
"name": "depth_bias_slope_factor",
"type": "float",
"comment": "A scalar factor applied to a fragment's slope in depth calculations."
},
{
"name": "enable_depth_bias",
"type": "bool",
"comment": "true to bias fragment depth values."
},
{
"name": "enable_depth_clip",
"type": "bool",
"comment": "true to enable depth clip, false to enable depth clamp."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUMultisampleState",
"fields": [
{
"name": "sample_count",
"type": "SDL_GPUSampleCount",
"comment": "The number of samples to be used in rasterization."
},
{
"name": "sample_mask",
"type": "Uint32",
"comment": "Reserved for future use. Must be set to 0."
},
{
"name": "enable_mask",
"type": "bool",
"comment": "Reserved for future use. Must be set to false."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUDepthStencilState",
"fields": [
{
"name": "compare_op",
"type": "SDL_GPUCompareOp",
"comment": "The comparison operator used for depth testing."
},
{
"name": "back_stencil_state",
"type": "SDL_GPUStencilOpState",
"comment": "The stencil op state for back-facing triangles."
},
{
"name": "front_stencil_state",
"type": "SDL_GPUStencilOpState",
"comment": "The stencil op state for front-facing triangles."
},
{
"name": "compare_mask",
"type": "Uint8",
"comment": "Selects the bits of the stencil values participating in the stencil test."
},
{
"name": "write_mask",
"type": "Uint8",
"comment": "Selects the bits of the stencil values updated by the stencil test."
},
{
"name": "enable_depth_test",
"type": "bool",
"comment": "true enables the depth test."
},
{
"name": "enable_depth_write",
"type": "bool",
"comment": "true enables depth writes. Depth writes are always disabled when enable_depth_test is false."
},
{
"name": "enable_stencil_test",
"type": "bool",
"comment": "true enables the stencil test."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUColorTargetDescription",
"fields": [
{
"name": "format",
"type": "SDL_GPUTextureFormat",
"comment": "The pixel format of the texture to be used as a color target."
},
{
"name": "blend_state",
"type": "SDL_GPUColorTargetBlendState",
"comment": "The blend state to be used for the color target."
}
]
},
{
"name": "SDL_GPUGraphicsPipelineTargetInfo",
"fields": [
{
"name": "color_target_descriptions",
"type": "const SDL_GPUColorTargetDescription *",
"comment": "A pointer to an array of color target descriptions."
},
{
"name": "num_color_targets",
"type": "Uint32",
"comment": "The number of color target descriptions in the above array."
},
{
"name": "depth_stencil_format",
"type": "SDL_GPUTextureFormat",
"comment": "The pixel format of the depth-stencil target. Ignored if has_depth_stencil_target is false."
},
{
"name": "has_depth_stencil_target",
"type": "bool",
"comment": "true specifies that the pipeline uses a depth-stencil target."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUGraphicsPipelineCreateInfo",
"fields": [
{
"name": "vertex_shader",
"type": "SDL_GPUShader *",
"comment": "The vertex shader used by the graphics pipeline."
},
{
"name": "fragment_shader",
"type": "SDL_GPUShader *",
"comment": "The fragment shader used by the graphics pipeline."
},
{
"name": "vertex_input_state",
"type": "SDL_GPUVertexInputState",
"comment": "The vertex layout of the graphics pipeline."
},
{
"name": "primitive_type",
"type": "SDL_GPUPrimitiveType",
"comment": "The primitive topology of the graphics pipeline."
},
{
"name": "rasterizer_state",
"type": "SDL_GPURasterizerState",
"comment": "The rasterizer state of the graphics pipeline."
},
{
"name": "multisample_state",
"type": "SDL_GPUMultisampleState",
"comment": "The multisample state of the graphics pipeline."
},
{
"name": "depth_stencil_state",
"type": "SDL_GPUDepthStencilState",
"comment": "The depth-stencil state of the graphics pipeline."
},
{
"name": "target_info",
"type": "SDL_GPUGraphicsPipelineTargetInfo",
"comment": "Formats and blend modes for the render targets of the graphics pipeline."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUComputePipelineCreateInfo",
"fields": [
{
"name": "code_size",
"type": "size_t",
"comment": "The size in bytes of the compute shader code pointed to."
},
{
"name": "code",
"type": "const Uint8 *",
"comment": "A pointer to compute shader code."
},
{
"name": "entrypoint",
"type": "const char *",
"comment": "A pointer to a null-terminated UTF-8 string specifying the entry point function name for the shader."
},
{
"name": "format",
"type": "SDL_GPUShaderFormat",
"comment": "The format of the compute shader code."
},
{
"name": "num_samplers",
"type": "Uint32",
"comment": "The number of samplers defined in the shader."
},
{
"name": "num_readonly_storage_textures",
"type": "Uint32",
"comment": "The number of readonly storage textures defined in the shader."
},
{
"name": "num_readonly_storage_buffers",
"type": "Uint32",
"comment": "The number of readonly storage buffers defined in the shader."
},
{
"name": "num_readwrite_storage_textures",
"type": "Uint32",
"comment": "The number of read-write storage textures defined in the shader."
},
{
"name": "num_readwrite_storage_buffers",
"type": "Uint32",
"comment": "The number of read-write storage buffers defined in the shader."
},
{
"name": "num_uniform_buffers",
"type": "Uint32",
"comment": "The number of uniform buffers defined in the shader."
},
{
"name": "threadcount_x",
"type": "Uint32",
"comment": "The number of threads in the X dimension. This should match the value in the shader."
},
{
"name": "threadcount_y",
"type": "Uint32",
"comment": "The number of threads in the Y dimension. This should match the value in the shader."
},
{
"name": "threadcount_z",
"type": "Uint32",
"comment": "The number of threads in the Z dimension. This should match the value in the shader."
},
{
"name": "props",
"type": "SDL_PropertiesID",
"comment": "A properties ID for extensions. Should be 0 if no extensions are needed."
}
]
},
{
"name": "SDL_GPUColorTargetInfo",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture that will be used as a color target by a render pass."
},
{
"name": "mip_level",
"type": "Uint32",
"comment": "The mip level to use as a color target."
},
{
"name": "layer_or_depth_plane",
"type": "Uint32",
"comment": "The layer index or depth plane to use as a color target. This value is treated as a layer index on 2D array and cube textures, and as a depth plane on 3D textures."
},
{
"name": "clear_color",
"type": "SDL_FColor",
"comment": "The color to clear the color target to at the start of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used."
},
{
"name": "load_op",
"type": "SDL_GPULoadOp",
"comment": "What is done with the contents of the color target at the beginning of the render pass."
},
{
"name": "store_op",
"type": "SDL_GPUStoreOp",
"comment": "What is done with the results of the render pass."
},
{
"name": "resolve_texture",
"type": "SDL_GPUTexture *",
"comment": "The texture that will receive the results of a multisample resolve operation. Ignored if a RESOLVE* store_op is not used."
},
{
"name": "resolve_mip_level",
"type": "Uint32",
"comment": "The mip level of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used."
},
{
"name": "resolve_layer",
"type": "Uint32",
"comment": "The layer index of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used."
},
{
"name": "cycle",
"type": "bool",
"comment": "true cycles the texture if the texture is bound and load_op is not LOAD"
},
{
"name": "cycle_resolve_texture",
"type": "bool",
"comment": "true cycles the resolve texture if the resolve texture is bound. Ignored if a RESOLVE* store_op is not used."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUDepthStencilTargetInfo",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture that will be used as the depth stencil target by the render pass."
},
{
"name": "clear_depth",
"type": "float",
"comment": "The value to clear the depth component to at the beginning of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used."
},
{
"name": "load_op",
"type": "SDL_GPULoadOp",
"comment": "What is done with the depth contents at the beginning of the render pass."
},
{
"name": "store_op",
"type": "SDL_GPUStoreOp",
"comment": "What is done with the depth results of the render pass."
},
{
"name": "stencil_load_op",
"type": "SDL_GPULoadOp",
"comment": "What is done with the stencil contents at the beginning of the render pass."
},
{
"name": "stencil_store_op",
"type": "SDL_GPUStoreOp",
"comment": "What is done with the stencil results of the render pass."
},
{
"name": "cycle",
"type": "bool",
"comment": "true cycles the texture if the texture is bound and any load ops are not LOAD"
},
{
"name": "clear_stencil",
"type": "Uint8",
"comment": "The value to clear the stencil component to at the beginning of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUBlitInfo",
"fields": [
{
"name": "source",
"type": "SDL_GPUBlitRegion",
"comment": "The source region for the blit."
},
{
"name": "destination",
"type": "SDL_GPUBlitRegion",
"comment": "The destination region for the blit."
},
{
"name": "load_op",
"type": "SDL_GPULoadOp",
"comment": "What is done with the contents of the destination before the blit."
},
{
"name": "clear_color",
"type": "SDL_FColor",
"comment": "The color to clear the destination region to before the blit. Ignored if load_op is not SDL_GPU_LOADOP_CLEAR."
},
{
"name": "flip_mode",
"type": "SDL_FlipMode",
"comment": "The flip mode for the source region."
},
{
"name": "filter",
"type": "SDL_GPUFilter",
"comment": "The filter mode used when blitting."
},
{
"name": "cycle",
"type": "bool",
"comment": "true cycles the destination texture if it is already bound."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUBufferBinding",
"fields": [
{
"name": "buffer",
"type": "SDL_GPUBuffer *",
"comment": "The buffer to bind. Must have been created with SDL_GPU_BUFFERUSAGE_VERTEX for SDL_BindGPUVertexBuffers, or SDL_GPU_BUFFERUSAGE_INDEX for SDL_BindGPUIndexBuffer."
},
{
"name": "offset",
"type": "Uint32",
"comment": "The starting byte of the data to bind in the buffer."
}
]
},
{
"name": "SDL_GPUTextureSamplerBinding",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture to bind. Must have been created with SDL_GPU_TEXTUREUSAGE_SAMPLER."
},
{
"name": "sampler",
"type": "SDL_GPUSampler *",
"comment": "The sampler to bind."
}
]
},
{
"name": "SDL_GPUStorageBufferReadWriteBinding",
"fields": [
{
"name": "buffer",
"type": "SDL_GPUBuffer *",
"comment": "The buffer to bind. Must have been created with SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE."
},
{
"name": "cycle",
"type": "bool",
"comment": "true cycles the buffer if it is already bound."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
},
{
"name": "SDL_GPUStorageTextureReadWriteBinding",
"fields": [
{
"name": "texture",
"type": "SDL_GPUTexture *",
"comment": "The texture to bind. Must have been created with SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE or SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE."
},
{
"name": "mip_level",
"type": "Uint32",
"comment": "The mip level index to bind."
},
{
"name": "layer",
"type": "Uint32",
"comment": "The layer index to bind."
},
{
"name": "cycle",
"type": "bool",
"comment": "true cycles the texture if it is already bound."
},
{
"name": "padding1",
"type": "Uint8"
},
{
"name": "padding2",
"type": "Uint8"
},
{
"name": "padding3",
"type": "Uint8"
}
]
}
],
"unions": [],
"flags": [
{
"name": "SDL_GPUTextureUsageFlags",
"underlying_type": "Uint32",
"values": [
{
"name": "SDL_GPU_TEXTUREUSAGE_SAMPLER",
"value": "(1u << 0)",
"comment": "Texture supports sampling."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_COLOR_TARGET",
"value": "(1u << 1)",
"comment": "Texture is a color render target."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET",
"value": "(1u << 2)",
"comment": "Texture is a depth stencil target."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ",
"value": "(1u << 3)",
"comment": "Texture supports storage reads in graphics stages."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ",
"value": "(1u << 4)",
"comment": "Texture supports storage reads in the compute stage."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE",
"value": "(1u << 5)",
"comment": "Texture supports storage writes in the compute stage."
},
{
"name": "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE",
"value": "(1u << 6)",
"comment": "Texture supports reads and writes in the same compute shader. This is NOT equivalent to READ | WRITE."
}
]
},
{
"name": "SDL_GPUBufferUsageFlags",
"underlying_type": "Uint32",
"values": [
{
"name": "SDL_GPU_BUFFERUSAGE_VERTEX",
"value": "(1u << 0)",
"comment": "Buffer is a vertex buffer."
},
{
"name": "SDL_GPU_BUFFERUSAGE_INDEX",
"value": "(1u << 1)",
"comment": "Buffer is an index buffer."
},
{
"name": "SDL_GPU_BUFFERUSAGE_INDIRECT",
"value": "(1u << 2)",
"comment": "Buffer is an indirect buffer."
},
{
"name": "SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ",
"value": "(1u << 3)",
"comment": "Buffer supports storage reads in graphics stages."
},
{
"name": "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ",
"value": "(1u << 4)",
"comment": "Buffer supports storage reads in the compute stage."
},
{
"name": "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE",
"value": "(1u << 5)",
"comment": "Buffer supports storage writes in the compute stage."
}
]
},
{
"name": "SDL_GPUShaderFormat",
"underlying_type": "Uint32",
"values": [
{
"name": "SDL_GPU_SHADERFORMAT_PRIVATE",
"value": "(1u << 0)",
"comment": "Shaders for NDA'd platforms."
},
{
"name": "SDL_GPU_SHADERFORMAT_SPIRV",
"value": "(1u << 1)",
"comment": "SPIR-V shaders for Vulkan."
},
{
"name": "SDL_GPU_SHADERFORMAT_DXBC",
"value": "(1u << 2)",
"comment": "DXBC SM5_1 shaders for D3D12."
},
{
"name": "SDL_GPU_SHADERFORMAT_DXIL",
"value": "(1u << 3)",
"comment": "DXIL SM6_0 shaders for D3D12."
},
{
"name": "SDL_GPU_SHADERFORMAT_MSL",
"value": "(1u << 4)",
"comment": "MSL shaders for Metal."
},
{
"name": "SDL_GPU_SHADERFORMAT_METALLIB",
"value": "(1u << 5)",
"comment": "Precompiled metallib shaders for Metal."
}
]
},
{
"name": "SDL_GPUColorComponentFlags",
"underlying_type": "Uint8",
"values": [
{
"name": "SDL_GPU_COLORCOMPONENT_R",
"value": "(1u << 0)",
"comment": "the red component"
},
{
"name": "SDL_GPU_COLORCOMPONENT_G",
"value": "(1u << 1)",
"comment": "the green component"
},
{
"name": "SDL_GPU_COLORCOMPONENT_B",
"value": "(1u << 2)",
"comment": "the blue component"
},
{
"name": "SDL_GPU_COLORCOMPONENT_A",
"value": "(1u << 3)",
"comment": "the alpha component"
}
]
}
],
"functions": [
{
"name": "SDL_GPUSupportsShaderFormats",
"return_type": "bool",
"parameters": [
{
"name": "format_flags",
"type": "SDL_GPUShaderFormat"
},
{
"name": "name",
"type": "const char *"
}
]
},
{
"name": "SDL_GPUSupportsProperties",
"return_type": "bool",
"parameters": [
{
"name": "props",
"type": "SDL_PropertiesID"
}
]
},
{
"name": "SDL_CreateGPUDevice",
"return_type": "SDL_GPUDevice *",
"parameters": [
{
"name": "format_flags",
"type": "SDL_GPUShaderFormat"
},
{
"name": "debug_mode",
"type": "bool"
},
{
"name": "name",
"type": "const char *"
}
]
},
{
"name": "SDL_CreateGPUDeviceWithProperties",
"return_type": "SDL_GPUDevice *",
"parameters": [
{
"name": "props",
"type": "SDL_PropertiesID"
}
]
},
{
"name": "SDL_DestroyGPUDevice",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_GetNumGPUDrivers",
"return_type": "int",
"parameters": []
},
{
"name": "SDL_GetGPUDriver",
"return_type": "const char *",
"parameters": [
{
"name": "index",
"type": "int"
}
]
},
{
"name": "SDL_GetGPUDeviceDriver",
"return_type": "const char *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_GetGPUShaderFormats",
"return_type": "SDL_GPUShaderFormat",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_CreateGPUComputePipeline",
"return_type": "SDL_GPUComputePipeline *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUComputePipelineCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUGraphicsPipeline",
"return_type": "SDL_GPUGraphicsPipeline *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUGraphicsPipelineCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUSampler",
"return_type": "SDL_GPUSampler *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUSamplerCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUShader",
"return_type": "SDL_GPUShader *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUShaderCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUTexture",
"return_type": "SDL_GPUTexture *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUTextureCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUBuffer",
"return_type": "SDL_GPUBuffer *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUBufferCreateInfo *"
}
]
},
{
"name": "SDL_CreateGPUTransferBuffer",
"return_type": "SDL_GPUTransferBuffer *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "createinfo",
"type": "const SDL_GPUTransferBufferCreateInfo *"
}
]
},
{
"name": "SDL_SetGPUBufferName",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "buffer",
"type": "SDL_GPUBuffer *"
},
{
"name": "text",
"type": "const char *"
}
]
},
{
"name": "SDL_SetGPUTextureName",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "texture",
"type": "SDL_GPUTexture *"
},
{
"name": "text",
"type": "const char *"
}
]
},
{
"name": "SDL_InsertGPUDebugLabel",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "text",
"type": "const char *"
}
]
},
{
"name": "SDL_PushGPUDebugGroup",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "name",
"type": "const char *"
}
]
},
{
"name": "SDL_PopGPUDebugGroup",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
}
]
},
{
"name": "SDL_ReleaseGPUTexture",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "texture",
"type": "SDL_GPUTexture *"
}
]
},
{
"name": "SDL_ReleaseGPUSampler",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "sampler",
"type": "SDL_GPUSampler *"
}
]
},
{
"name": "SDL_ReleaseGPUBuffer",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "buffer",
"type": "SDL_GPUBuffer *"
}
]
},
{
"name": "SDL_ReleaseGPUTransferBuffer",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "transfer_buffer",
"type": "SDL_GPUTransferBuffer *"
}
]
},
{
"name": "SDL_ReleaseGPUComputePipeline",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "compute_pipeline",
"type": "SDL_GPUComputePipeline *"
}
]
},
{
"name": "SDL_ReleaseGPUShader",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "shader",
"type": "SDL_GPUShader *"
}
]
},
{
"name": "SDL_ReleaseGPUGraphicsPipeline",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "graphics_pipeline",
"type": "SDL_GPUGraphicsPipeline *"
}
]
},
{
"name": "SDL_AcquireGPUCommandBuffer",
"return_type": "SDL_GPUCommandBuffer *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_PushGPUVertexUniformData",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "slot_index",
"type": "Uint32"
},
{
"name": "data",
"type": "const void *"
},
{
"name": "length",
"type": "Uint32"
}
]
},
{
"name": "SDL_PushGPUFragmentUniformData",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "slot_index",
"type": "Uint32"
},
{
"name": "data",
"type": "const void *"
},
{
"name": "length",
"type": "Uint32"
}
]
},
{
"name": "SDL_PushGPUComputeUniformData",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "slot_index",
"type": "Uint32"
},
{
"name": "data",
"type": "const void *"
},
{
"name": "length",
"type": "Uint32"
}
]
},
{
"name": "SDL_BeginGPURenderPass",
"return_type": "SDL_GPURenderPass *",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "color_target_infos",
"type": "const SDL_GPUColorTargetInfo *"
},
{
"name": "num_color_targets",
"type": "Uint32"
},
{
"name": "depth_stencil_target_info",
"type": "const SDL_GPUDepthStencilTargetInfo *"
}
]
},
{
"name": "SDL_BindGPUGraphicsPipeline",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "graphics_pipeline",
"type": "SDL_GPUGraphicsPipeline *"
}
]
},
{
"name": "SDL_SetGPUViewport",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "viewport",
"type": "const SDL_GPUViewport *"
}
]
},
{
"name": "SDL_SetGPUScissor",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "scissor",
"type": "const SDL_Rect *"
}
]
},
{
"name": "SDL_SetGPUBlendConstants",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "blend_constants",
"type": "SDL_FColor"
}
]
},
{
"name": "SDL_SetGPUStencilReference",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "reference",
"type": "Uint8"
}
]
},
{
"name": "SDL_BindGPUVertexBuffers",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "bindings",
"type": "const SDL_GPUBufferBinding *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUIndexBuffer",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "binding",
"type": "const SDL_GPUBufferBinding *"
},
{
"name": "index_element_size",
"type": "SDL_GPUIndexElementSize"
}
]
},
{
"name": "SDL_BindGPUVertexSamplers",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "texture_sampler_bindings",
"type": "const SDL_GPUTextureSamplerBinding *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUVertexStorageTextures",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_textures",
"type": "SDL_GPUTexture *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUVertexStorageBuffers",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_buffers",
"type": "SDL_GPUBuffer *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUFragmentSamplers",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "texture_sampler_bindings",
"type": "const SDL_GPUTextureSamplerBinding *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUFragmentStorageTextures",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_textures",
"type": "SDL_GPUTexture *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUFragmentStorageBuffers",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_buffers",
"type": "SDL_GPUBuffer *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_DrawGPUIndexedPrimitives",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "num_indices",
"type": "Uint32"
},
{
"name": "num_instances",
"type": "Uint32"
},
{
"name": "first_index",
"type": "Uint32"
},
{
"name": "vertex_offset",
"type": "Sint32"
},
{
"name": "first_instance",
"type": "Uint32"
}
]
},
{
"name": "SDL_DrawGPUPrimitives",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "num_vertices",
"type": "Uint32"
},
{
"name": "num_instances",
"type": "Uint32"
},
{
"name": "first_vertex",
"type": "Uint32"
},
{
"name": "first_instance",
"type": "Uint32"
}
]
},
{
"name": "SDL_DrawGPUPrimitivesIndirect",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "buffer",
"type": "SDL_GPUBuffer *"
},
{
"name": "offset",
"type": "Uint32"
},
{
"name": "draw_count",
"type": "Uint32"
}
]
},
{
"name": "SDL_DrawGPUIndexedPrimitivesIndirect",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
},
{
"name": "buffer",
"type": "SDL_GPUBuffer *"
},
{
"name": "offset",
"type": "Uint32"
},
{
"name": "draw_count",
"type": "Uint32"
}
]
},
{
"name": "SDL_EndGPURenderPass",
"return_type": "void",
"parameters": [
{
"name": "render_pass",
"type": "SDL_GPURenderPass *"
}
]
},
{
"name": "SDL_BeginGPUComputePass",
"return_type": "SDL_GPUComputePass *",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "storage_texture_bindings",
"type": "const SDL_GPUStorageTextureReadWriteBinding *"
},
{
"name": "num_storage_texture_bindings",
"type": "Uint32"
},
{
"name": "storage_buffer_bindings",
"type": "const SDL_GPUStorageBufferReadWriteBinding *"
},
{
"name": "num_storage_buffer_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUComputePipeline",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "compute_pipeline",
"type": "SDL_GPUComputePipeline *"
}
]
},
{
"name": "SDL_BindGPUComputeSamplers",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "texture_sampler_bindings",
"type": "const SDL_GPUTextureSamplerBinding *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUComputeStorageTextures",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_textures",
"type": "SDL_GPUTexture *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_BindGPUComputeStorageBuffers",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "first_slot",
"type": "Uint32"
},
{
"name": "storage_buffers",
"type": "SDL_GPUBuffer *const *"
},
{
"name": "num_bindings",
"type": "Uint32"
}
]
},
{
"name": "SDL_DispatchGPUCompute",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "groupcount_x",
"type": "Uint32"
},
{
"name": "groupcount_y",
"type": "Uint32"
},
{
"name": "groupcount_z",
"type": "Uint32"
}
]
},
{
"name": "SDL_DispatchGPUComputeIndirect",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
},
{
"name": "buffer",
"type": "SDL_GPUBuffer *"
},
{
"name": "offset",
"type": "Uint32"
}
]
},
{
"name": "SDL_EndGPUComputePass",
"return_type": "void",
"parameters": [
{
"name": "compute_pass",
"type": "SDL_GPUComputePass *"
}
]
},
{
"name": "SDL_MapGPUTransferBuffer",
"return_type": "void *",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "transfer_buffer",
"type": "SDL_GPUTransferBuffer *"
},
{
"name": "cycle",
"type": "bool"
}
]
},
{
"name": "SDL_UnmapGPUTransferBuffer",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "transfer_buffer",
"type": "SDL_GPUTransferBuffer *"
}
]
},
{
"name": "SDL_BeginGPUCopyPass",
"return_type": "SDL_GPUCopyPass *",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
}
]
},
{
"name": "SDL_UploadToGPUTexture",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUTextureTransferInfo *"
},
{
"name": "destination",
"type": "const SDL_GPUTextureRegion *"
},
{
"name": "cycle",
"type": "bool"
}
]
},
{
"name": "SDL_UploadToGPUBuffer",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUTransferBufferLocation *"
},
{
"name": "destination",
"type": "const SDL_GPUBufferRegion *"
},
{
"name": "cycle",
"type": "bool"
}
]
},
{
"name": "SDL_CopyGPUTextureToTexture",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUTextureLocation *"
},
{
"name": "destination",
"type": "const SDL_GPUTextureLocation *"
},
{
"name": "w",
"type": "Uint32"
},
{
"name": "h",
"type": "Uint32"
},
{
"name": "d",
"type": "Uint32"
},
{
"name": "cycle",
"type": "bool"
}
]
},
{
"name": "SDL_CopyGPUBufferToBuffer",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUBufferLocation *"
},
{
"name": "destination",
"type": "const SDL_GPUBufferLocation *"
},
{
"name": "size",
"type": "Uint32"
},
{
"name": "cycle",
"type": "bool"
}
]
},
{
"name": "SDL_DownloadFromGPUTexture",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUTextureRegion *"
},
{
"name": "destination",
"type": "const SDL_GPUTextureTransferInfo *"
}
]
},
{
"name": "SDL_DownloadFromGPUBuffer",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
},
{
"name": "source",
"type": "const SDL_GPUBufferRegion *"
},
{
"name": "destination",
"type": "const SDL_GPUTransferBufferLocation *"
}
]
},
{
"name": "SDL_EndGPUCopyPass",
"return_type": "void",
"parameters": [
{
"name": "copy_pass",
"type": "SDL_GPUCopyPass *"
}
]
},
{
"name": "SDL_GenerateMipmapsForGPUTexture",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "texture",
"type": "SDL_GPUTexture *"
}
]
},
{
"name": "SDL_BlitGPUTexture",
"return_type": "void",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "info",
"type": "const SDL_GPUBlitInfo *"
}
]
},
{
"name": "SDL_WindowSupportsGPUSwapchainComposition",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
},
{
"name": "swapchain_composition",
"type": "SDL_GPUSwapchainComposition"
}
]
},
{
"name": "SDL_WindowSupportsGPUPresentMode",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
},
{
"name": "present_mode",
"type": "SDL_GPUPresentMode"
}
]
},
{
"name": "SDL_ClaimWindowForGPUDevice",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
}
]
},
{
"name": "SDL_ReleaseWindowFromGPUDevice",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
}
]
},
{
"name": "SDL_SetGPUSwapchainParameters",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
},
{
"name": "swapchain_composition",
"type": "SDL_GPUSwapchainComposition"
},
{
"name": "present_mode",
"type": "SDL_GPUPresentMode"
}
]
},
{
"name": "SDL_SetGPUAllowedFramesInFlight",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "allowed_frames_in_flight",
"type": "Uint32"
}
]
},
{
"name": "SDL_GetGPUSwapchainTextureFormat",
"return_type": "SDL_GPUTextureFormat",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
}
]
},
{
"name": "SDL_AcquireGPUSwapchainTexture",
"return_type": "bool",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "window",
"type": "SDL_Window *"
},
{
"name": "swapchain_texture",
"type": "SDL_GPUTexture **"
},
{
"name": "swapchain_texture_width",
"type": "Uint32 *"
},
{
"name": "swapchain_texture_height",
"type": "Uint32 *"
}
]
},
{
"name": "SDL_WaitForGPUSwapchain",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "window",
"type": "SDL_Window *"
}
]
},
{
"name": "SDL_WaitAndAcquireGPUSwapchainTexture",
"return_type": "bool",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
},
{
"name": "window",
"type": "SDL_Window *"
},
{
"name": "swapchain_texture",
"type": "SDL_GPUTexture **"
},
{
"name": "swapchain_texture_width",
"type": "Uint32 *"
},
{
"name": "swapchain_texture_height",
"type": "Uint32 *"
}
]
},
{
"name": "SDL_SubmitGPUCommandBuffer",
"return_type": "bool",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
}
]
},
{
"name": "SDL_SubmitGPUCommandBufferAndAcquireFence",
"return_type": "SDL_GPUFence *",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
}
]
},
{
"name": "SDL_CancelGPUCommandBuffer",
"return_type": "bool",
"parameters": [
{
"name": "command_buffer",
"type": "SDL_GPUCommandBuffer *"
}
]
},
{
"name": "SDL_WaitForGPUIdle",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_WaitForGPUFences",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "wait_all",
"type": "bool"
},
{
"name": "fences",
"type": "SDL_GPUFence *const *"
},
{
"name": "num_fences",
"type": "Uint32"
}
]
},
{
"name": "SDL_QueryGPUFence",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "fence",
"type": "SDL_GPUFence *"
}
]
},
{
"name": "SDL_ReleaseGPUFence",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "fence",
"type": "SDL_GPUFence *"
}
]
},
{
"name": "SDL_GPUTextureFormatTexelBlockSize",
"return_type": "Uint32",
"parameters": [
{
"name": "format",
"type": "SDL_GPUTextureFormat"
}
]
},
{
"name": "SDL_GPUTextureSupportsFormat",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "format",
"type": "SDL_GPUTextureFormat"
},
{
"name": "_type",
"type": "SDL_GPUTextureType"
},
{
"name": "usage",
"type": "SDL_GPUTextureUsageFlags"
}
]
},
{
"name": "SDL_GPUTextureSupportsSampleCount",
"return_type": "bool",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
},
{
"name": "format",
"type": "SDL_GPUTextureFormat"
},
{
"name": "sample_count",
"type": "SDL_GPUSampleCount"
}
]
},
{
"name": "SDL_CalculateGPUTextureFormatSize",
"return_type": "Uint32",
"parameters": [
{
"name": "format",
"type": "SDL_GPUTextureFormat"
},
{
"name": "width",
"type": "Uint32"
},
{
"name": "height",
"type": "Uint32"
},
{
"name": "depth_or_layer_count",
"type": "Uint32"
}
]
},
{
"name": "SDL_GDKSuspendGPU",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
},
{
"name": "SDL_GDKResumeGPU",
"return_type": "void",
"parameters": [
{
"name": "device",
"type": "SDL_GPUDevice *"
}
]
}
]
}