diff --git a/lib/sdl3/parser/SDL_gpu.json b/lib/sdl3/parser/SDL_gpu.json index 0bf05c3..fab83a0 100644 --- a/lib/sdl3/parser/SDL_gpu.json +++ b/lib/sdl3/parser/SDL_gpu.json @@ -1,189 +1,3578 @@ { "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"} + { + "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": [ - {"name": "SDL_GPUShaderFormat", "underlying_type": "Uint32"} - ], - "function_pointers": [ + { + "name": "SDL_GPUShaderFormat", + "underlying_type": "Uint32" + } ], + "function_pointers": [], "enums": [ - {"name": "SDL_GPUPrimitiveType", "values": []}, - {"name": "SDL_GPULoadOp", "values": []}, - {"name": "SDL_GPUStoreOp", "values": []}, - {"name": "SDL_GPUIndexElementSize", "values": []}, - {"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_GPUSampleCount", "values": []}, - {"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_GPUFillMode", "values": []}, - {"name": "SDL_GPUCullMode", "values": []}, - {"name": "SDL_GPUFrontFace", "values": []}, - {"name": "SDL_GPUCompareOp", "values": [{"name": "SDL_GPU_COMPAREOP_INVALID"}]}, - {"name": "SDL_GPUStencilOp", "values": [{"name": "SDL_GPU_STENCILOP_INVALID"}]}, - {"name": "SDL_GPUBlendOp", "values": [{"name": "SDL_GPU_BLENDOP_INVALID"}]}, - {"name": "SDL_GPUBlendFactor", "values": [{"name": "SDL_GPU_BLENDFACTOR_INVALID"}]}, - {"name": "SDL_GPUFilter", "values": []}, - {"name": "SDL_GPUSamplerMipmapMode", "values": []}, - {"name": "SDL_GPUSamplerAddressMode", "values": []}, - {"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"}]} + { + "name": "SDL_GPUPrimitiveType", + "values": [] + }, + { + "name": "SDL_GPULoadOp", + "values": [] + }, + { + "name": "SDL_GPUStoreOp", + "values": [] + }, + { + "name": "SDL_GPUIndexElementSize", + "values": [] + }, + { + "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_GPUSampleCount", + "values": [] + }, + { + "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_GPUFillMode", + "values": [] + }, + { + "name": "SDL_GPUCullMode", + "values": [] + }, + { + "name": "SDL_GPUFrontFace", + "values": [] + }, + { + "name": "SDL_GPUCompareOp", + "values": [ + { + "name": "SDL_GPU_COMPAREOP_INVALID" + } + ] + }, + { + "name": "SDL_GPUStencilOp", + "values": [ + { + "name": "SDL_GPU_STENCILOP_INVALID" + } + ] + }, + { + "name": "SDL_GPUBlendOp", + "values": [ + { + "name": "SDL_GPU_BLENDOP_INVALID" + } + ] + }, + { + "name": "SDL_GPUBlendFactor", + "values": [ + { + "name": "SDL_GPU_BLENDFACTOR_INVALID" + } + ] + }, + { + "name": "SDL_GPUFilter", + "values": [] + }, + { + "name": "SDL_GPUSamplerMipmapMode", + "values": [] + }, + { + "name": "SDL_GPUSamplerAddressMode", + "values": [] + }, + { + "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": [ + { + "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_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"}]} + { + "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_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 *"}]} + { + "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 *" + } + ] + } ] -} +} \ No newline at end of file diff --git a/lib/sdl3/parser/SDL_init.json b/lib/sdl3/parser/SDL_init.json new file mode 100644 index 0000000..267d3b6 --- /dev/null +++ b/lib/sdl3/parser/SDL_init.json @@ -0,0 +1,239 @@ +{ + "header": "SDL_init.h", + "opaque_types": [], + "typedefs": [], + "function_pointers": [ + { + "name": "SDL_AppInit_func", + "return_type": "SDL_AppResult", + "parameters": [ + { + "name": "appstate", + "type": "void **" + }, + { + "name": "argc", + "type": "int" + }, + { + "name": "argv[]", + "type": "char *" + } + ] + }, + { + "name": "SDL_AppIterate_func", + "return_type": "SDL_AppResult", + "parameters": [ + { + "name": "appstate", + "type": "void *" + } + ] + }, + { + "name": "SDL_AppEvent_func", + "return_type": "SDL_AppResult", + "parameters": [ + { + "name": "appstate", + "type": "void *" + }, + { + "name": "event", + "type": "SDL_Event *" + } + ] + }, + { + "name": "SDL_AppQuit_func", + "return_type": "void", + "parameters": [ + { + "name": "appstate", + "type": "void *" + }, + { + "name": "result", + "type": "SDL_AppResult" + } + ] + }, + { + "name": "SDL_MainThreadCallback", + "return_type": "void", + "parameters": [ + { + "name": "userdata", + "type": "void *" + } + ] + } + ], + "enums": [ + { + "name": "SDL_AppResult", + "values": [] + } + ], + "structs": [], + "unions": [], + "flags": [ + { + "name": "SDL_InitFlags", + "underlying_type": "Uint32", + "values": [ + { + "name": "SDL_INIT_AUDIO", + "value": "0x00000010u", + "comment": "`SDL_INIT_AUDIO` implies `SDL_INIT_EVENTS`" + }, + { + "name": "SDL_INIT_VIDEO", + "value": "0x00000020u", + "comment": "`SDL_INIT_VIDEO` implies `SDL_INIT_EVENTS`, should be initialized on the main thread" + }, + { + "name": "SDL_INIT_JOYSTICK", + "value": "0x00000200u", + "comment": "`SDL_INIT_JOYSTICK` implies `SDL_INIT_EVENTS`, should be initialized on the same thread as SDL_INIT_VIDEO on Windows if you don't set SDL_HINT_JOYSTICK_THREAD" + }, + { + "name": "SDL_INIT_HAPTIC", + "value": "0x00001000u" + }, + { + "name": "SDL_INIT_GAMEPAD", + "value": "0x00002000u", + "comment": "`SDL_INIT_GAMEPAD` implies `SDL_INIT_JOYSTICK`" + }, + { + "name": "SDL_INIT_EVENTS", + "value": "0x00004000u" + }, + { + "name": "SDL_INIT_SENSOR", + "value": "0x00008000u", + "comment": "`SDL_INIT_SENSOR` implies `SDL_INIT_EVENTS`" + }, + { + "name": "SDL_INIT_CAMERA", + "value": "0x00010000u", + "comment": "`SDL_INIT_CAMERA` implies `SDL_INIT_EVENTS`" + } + ] + } + ], + "functions": [ + { + "name": "SDL_Init", + "return_type": "bool", + "parameters": [ + { + "name": "flags", + "type": "SDL_InitFlags" + } + ] + }, + { + "name": "SDL_InitSubSystem", + "return_type": "bool", + "parameters": [ + { + "name": "flags", + "type": "SDL_InitFlags" + } + ] + }, + { + "name": "SDL_QuitSubSystem", + "return_type": "void", + "parameters": [ + { + "name": "flags", + "type": "SDL_InitFlags" + } + ] + }, + { + "name": "SDL_WasInit", + "return_type": "SDL_InitFlags", + "parameters": [ + { + "name": "flags", + "type": "SDL_InitFlags" + } + ] + }, + { + "name": "SDL_Quit", + "return_type": "void", + "parameters": [] + }, + { + "name": "SDL_IsMainThread", + "return_type": "bool", + "parameters": [] + }, + { + "name": "SDL_RunOnMainThread", + "return_type": "bool", + "parameters": [ + { + "name": "callback", + "type": "SDL_MainThreadCallback" + }, + { + "name": "userdata", + "type": "void *" + }, + { + "name": "wait_complete", + "type": "bool" + } + ] + }, + { + "name": "SDL_SetAppMetadata", + "return_type": "bool", + "parameters": [ + { + "name": "appname", + "type": "const char *" + }, + { + "name": "appversion", + "type": "const char *" + }, + { + "name": "appidentifier", + "type": "const char *" + } + ] + }, + { + "name": "SDL_SetAppMetadataProperty", + "return_type": "bool", + "parameters": [ + { + "name": "name", + "type": "const char *" + }, + { + "name": "value", + "type": "const char *" + } + ] + }, + { + "name": "SDL_GetAppMetadataProperty", + "return_type": "const char *", + "parameters": [ + { + "name": "name", + "type": "const char *" + } + ] + } + ] +} \ No newline at end of file diff --git a/lib/sdl3/parser/src/parser.zig b/lib/sdl3/parser/src/parser.zig index 5aa3e43..6e290dc 100644 --- a/lib/sdl3/parser/src/parser.zig +++ b/lib/sdl3/parser/src/parser.zig @@ -181,11 +181,21 @@ pub fn main() !void { try serializer.addDeclarations(decls); const json_output = try serializer.finalize(); - // json_output is owned by serializer, so we need to write it before deinit + // json_output is owned by serializer + + // Parse and re-format JSON with proper indentation + const parsed = try std.json.parseFromSlice(std.json.Value, allocator, json_output, .{}); + defer parsed.deinit(); + + var formatted_output = std.ArrayList(u8){}; + defer formatted_output.deinit(allocator); + + const formatter = std.json.fmt(parsed.value, .{ .whitespace = .indent_2 }); + try std.fmt.format(formatted_output.writer(allocator), "{f}", .{formatter}); try std.fs.cwd().writeFile(.{ .sub_path = json_path, - .data = json_output, + .data = formatted_output.items, }); serializer.deinit(); std.debug.print("Generated JSON: {s}\n", .{json_path});