233#define SDL_GPU_TEXTUREUSAGE_SAMPLER (1u << 0)
234#define SDL_GPU_TEXTUREUSAGE_COLOR_TARGET (1u << 1)
235#define SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET (1u << 2)
236#define SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ (1u << 3)
237#define SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ (1u << 4)
238#define SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE (1u << 5)
268#define SDL_GPU_BUFFERUSAGE_VERTEX (1u << 0)
269#define SDL_GPU_BUFFERUSAGE_INDEX (1u << 1)
270#define SDL_GPU_BUFFERUSAGE_INDIRECT (1u << 2)
271#define SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ (1u << 3)
272#define SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ (1u << 4)
273#define SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE (1u << 5)
289#define SDL_GPU_SHADERFORMAT_PRIVATE (1u << 0)
290#define SDL_GPU_SHADERFORMAT_SPIRV (1u << 1)
291#define SDL_GPU_SHADERFORMAT_DXBC (1u << 2)
292#define SDL_GPU_SHADERFORMAT_DXIL (1u << 3)
293#define SDL_GPU_SHADERFORMAT_MSL (1u << 4)
294#define SDL_GPU_SHADERFORMAT_METALLIB (1u << 5)
430#define SDL_GPU_COLORCOMPONENT_R (1u << 0)
431#define SDL_GPU_COLORCOMPONENT_G (1u << 1)
432#define SDL_GPU_COLORCOMPONENT_B (1u << 2)
433#define SDL_GPU_COLORCOMPONENT_A (1u << 3)
707#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_R_FLOAT "SDL.gpu.createtexture.d3d12.clear.r"
708#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_G_FLOAT "SDL.gpu.createtexture.d3d12.clear.g"
709#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_B_FLOAT "SDL.gpu.createtexture.d3d12.clear.b"
710#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_A_FLOAT "SDL.gpu.createtexture.d3d12.clear.a"
711#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_DEPTH_FLOAT "SDL.gpu.createtexture.d3d12.clear.depth"
712#define SDL_PROP_GPU_CREATETEXTURE_D3D12_CLEAR_STENCIL_UINT8 "SDL.gpu.createtexture.d3d12.clear.stencil"
1009#define SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOL "SDL.gpu.device.create.debugmode"
1010#define SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOL "SDL.gpu.device.create.preferlowpower"
1011#define SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING "SDL.gpu.device.create.name"
1012#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOL "SDL.gpu.device.create.shaders.private"
1013#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOL "SDL.gpu.device.create.shaders.spirv"
1014#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOL "SDL.gpu.device.create.shaders.dxbc"
1015#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOL "SDL.gpu.device.create.shaders.dxil"
1016#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOL "SDL.gpu.device.create.shaders.msl"
1017#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOL "SDL.gpu.device.create.shaders.metallib"
1018#define SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING "SDL.gpu.device.create.d3d12.semantic"
1504 Uint32 dataLengthInBytes);
1522 Uint32 dataLengthInBytes);
1540 Uint32 dataLengthInBytes);
1611 Uint32 colorAttachmentCount,
1953 Uint32 storageTextureBindingCount,
1955 Uint32 storageBufferBindingCount);
2598#ifdef SDL_PLATFORM_GDK
2613extern SDL_DECLSPEC
void SDLCALL SDL_GDKSuspendGPU(
SDL_GPUDevice *device);
2628extern SDL_DECLSPEC
void SDLCALL SDL_GDKResumeGPU(
SDL_GPUDevice *device);
void SDL_BindGPUVertexBuffers(SDL_GPURenderPass *renderPass, Uint32 firstBinding, SDL_GPUBufferBinding *pBindings, Uint32 bindingCount)
void SDL_DestroyGPUDevice(SDL_GPUDevice *device)
void SDL_EndGPUCopyPass(SDL_GPUCopyPass *copyPass)
void SDL_ReleaseGPUGraphicsPipeline(SDL_GPUDevice *device, SDL_GPUGraphicsPipeline *graphicsPipeline)
void SDL_ReleaseGPUComputePipeline(SDL_GPUDevice *device, SDL_GPUComputePipeline *computePipeline)
SDL_GPUDriver SDL_GetGPUDriver(SDL_GPUDevice *device)
void SDL_DrawGPUPrimitives(SDL_GPURenderPass *renderPass, Uint32 vertexCount, Uint32 instanceCount, Uint32 firstVertex, Uint32 firstInstance)
@ SDL_GPU_CUBEMAPFACE_NEGATIVEY
@ SDL_GPU_CUBEMAPFACE_POSITIVEY
@ SDL_GPU_CUBEMAPFACE_NEGATIVEX
@ SDL_GPU_CUBEMAPFACE_NEGATIVEZ
@ SDL_GPU_CUBEMAPFACE_POSITIVEX
@ SDL_GPU_CUBEMAPFACE_POSITIVEZ
SDL_GPUCopyPass * SDL_BeginGPUCopyPass(SDL_GPUCommandBuffer *commandBuffer)
SDL_GPUDevice * SDL_CreateGPUDevice(SDL_GPUShaderFormat formatFlags, SDL_bool debugMode, const char *name)
struct SDL_GPUTransferBuffer SDL_GPUTransferBuffer
Uint32 SDL_GPUTextureFormatTexelBlockSize(SDL_GPUTextureFormat textureFormat)
void SDL_DownloadFromGPUTexture(SDL_GPUCopyPass *copyPass, SDL_GPUTextureRegion *source, SDL_GPUTextureTransferInfo *destination)
@ SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE
@ SDL_GPU_FRONTFACE_CLOCKWISE
SDL_GPUDevice * SDL_CreateGPUDeviceWithProperties(SDL_PropertiesID props)
void SDL_BindGPUComputeStorageTextures(SDL_GPUComputePass *computePass, Uint32 firstSlot, SDL_GPUTexture **storageTextures, Uint32 bindingCount)
@ SDL_GPU_VERTEXINPUTRATE_INSTANCE
@ SDL_GPU_VERTEXINPUTRATE_VERTEX
@ SDL_GPU_PRIMITIVETYPE_TRIANGLELIST
@ SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP
@ SDL_GPU_PRIMITIVETYPE_POINTLIST
@ SDL_GPU_PRIMITIVETYPE_LINESTRIP
@ SDL_GPU_PRIMITIVETYPE_LINELIST
void SDL_ReleaseGPUTransferBuffer(SDL_GPUDevice *device, SDL_GPUTransferBuffer *transferBuffer)
void SDL_SetGPUScissor(SDL_GPURenderPass *renderPass, SDL_Rect *scissor)
SDL_GPUCommandBuffer * SDL_AcquireGPUCommandBuffer(SDL_GPUDevice *device)
void SDL_EndGPURenderPass(SDL_GPURenderPass *renderPass)
SDL_bool SDL_ClaimWindowForGPUDevice(SDL_GPUDevice *device, SDL_Window *window)
Uint32 SDL_GPUShaderFormat
void SDL_DrawGPUIndexedPrimitives(SDL_GPURenderPass *renderPass, Uint32 indexCount, Uint32 instanceCount, Uint32 firstIndex, Sint32 vertexOffset, Uint32 firstInstance)
void SDL_BindGPUComputePipeline(SDL_GPUComputePass *computePass, SDL_GPUComputePipeline *computePipeline)
SDL_bool SDL_WindowSupportsGPUSwapchainComposition(SDL_GPUDevice *device, SDL_Window *window, SDL_GPUSwapchainComposition swapchainComposition)
void SDL_SetGPUTextureName(SDL_GPUDevice *device, SDL_GPUTexture *texture, const char *text)
void SDL_SetGPUViewport(SDL_GPURenderPass *renderPass, SDL_GPUViewport *viewport)
struct SDL_GPURenderPass SDL_GPURenderPass
@ SDL_GPU_INDEXELEMENTSIZE_16BIT
@ SDL_GPU_INDEXELEMENTSIZE_32BIT
void SDL_EndGPUComputePass(SDL_GPUComputePass *computePass)
@ SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA
@ SDL_GPU_BLENDFACTOR_CONSTANT_COLOR
@ SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR
@ SDL_GPU_BLENDFACTOR_DST_ALPHA
@ SDL_GPU_BLENDFACTOR_ZERO
@ SDL_GPU_BLENDFACTOR_DST_COLOR
@ SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA
@ SDL_GPU_BLENDFACTOR_SRC_ALPHA
@ SDL_GPU_BLENDFACTOR_SRC_COLOR
@ SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR
@ SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE
@ SDL_GPU_BLENDFACTOR_ONE
@ SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR
void SDL_DrawGPUPrimitivesIndirect(SDL_GPURenderPass *renderPass, SDL_GPUBuffer *buffer, Uint32 offsetInBytes, Uint32 drawCount, Uint32 stride)
SDL_GPUSampler * SDL_CreateGPUSampler(SDL_GPUDevice *device, SDL_GPUSamplerCreateInfo *samplerCreateInfo)
@ SDL_GPU_STOREOP_DONT_CARE
void SDL_DownloadFromGPUBuffer(SDL_GPUCopyPass *copyPass, SDL_GPUBufferRegion *source, SDL_GPUTransferBufferLocation *destination)
void SDL_UploadToGPUBuffer(SDL_GPUCopyPass *copyPass, SDL_GPUTransferBufferLocation *source, SDL_GPUBufferRegion *destination, SDL_bool cycle)
SDL_GPUShader * SDL_CreateGPUShader(SDL_GPUDevice *device, SDL_GPUShaderCreateInfo *shaderCreateInfo)
SDL_GPUBuffer * SDL_CreateGPUBuffer(SDL_GPUDevice *device, SDL_GPUBufferCreateInfo *bufferCreateInfo)
void SDL_DispatchGPUComputeIndirect(SDL_GPUComputePass *computePass, SDL_GPUBuffer *buffer, Uint32 offsetInBytes)
@ SDL_GPU_SAMPLERMIPMAPMODE_NEAREST
@ SDL_GPU_SAMPLERMIPMAPMODE_LINEAR
void SDL_WaitForGPUFences(SDL_GPUDevice *device, SDL_bool waitAll, SDL_GPUFence **pFences, Uint32 fenceCount)
struct SDL_GPUSampler SDL_GPUSampler
void SDL_UnmapGPUTransferBuffer(SDL_GPUDevice *device, SDL_GPUTransferBuffer *transferBuffer)
struct SDL_GPUCommandBuffer SDL_GPUCommandBuffer
void SDL_PushGPUVertexUniformData(SDL_GPUCommandBuffer *commandBuffer, Uint32 slotIndex, const void *data, Uint32 dataLengthInBytes)
@ SDL_GPU_LOADOP_DONT_CARE
@ SDL_GPU_STENCILOP_DECREMENT_AND_WRAP
@ SDL_GPU_STENCILOP_INVERT
@ SDL_GPU_STENCILOP_REPLACE
@ SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP
@ SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP
@ SDL_GPU_STENCILOP_INCREMENT_AND_WRAP
struct SDL_GPUFence SDL_GPUFence
void SDL_DrawGPUIndexedPrimitivesIndirect(SDL_GPURenderPass *renderPass, SDL_GPUBuffer *buffer, Uint32 offsetInBytes, Uint32 drawCount, Uint32 stride)
@ SDL_GPU_BLENDOP_REVERSE_SUBTRACT
@ SDL_GPU_BLENDOP_SUBTRACT
void SDL_PushGPUDebugGroup(SDL_GPUCommandBuffer *commandBuffer, const char *name)
void SDL_BlitGPUTexture(SDL_GPUCommandBuffer *commandBuffer, SDL_GPUBlitRegion *source, SDL_GPUBlitRegion *destination, SDL_FlipMode flipMode, SDL_GPUFilter filterMode, SDL_bool cycle)
void SDL_ReleaseGPUSampler(SDL_GPUDevice *device, SDL_GPUSampler *sampler)
Uint8 SDL_GPUColorComponentFlags
SDL_GPUComputePipeline * SDL_CreateGPUComputePipeline(SDL_GPUDevice *device, SDL_GPUComputePipelineCreateInfo *computePipelineCreateInfo)
struct SDL_GPUGraphicsPipeline SDL_GPUGraphicsPipeline
void SDL_ReleaseGPUTexture(SDL_GPUDevice *device, SDL_GPUTexture *texture)
void SDL_GenerateMipmapsForGPUTexture(SDL_GPUCommandBuffer *commandBuffer, SDL_GPUTexture *texture)
SDL_GPUTexture * SDL_CreateGPUTexture(SDL_GPUDevice *device, SDL_GPUTextureCreateInfo *textureCreateInfo)
SDL_GPUVertexElementFormat
@ SDL_GPU_VERTEXELEMENTFORMAT_INT4
@ SDL_GPU_VERTEXELEMENTFORMAT_INT
@ SDL_GPU_VERTEXELEMENTFORMAT_HALF2
@ SDL_GPU_VERTEXELEMENTFORMAT_BYTE2
@ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4
@ SDL_GPU_VERTEXELEMENTFORMAT_USHORT4
@ SDL_GPU_VERTEXELEMENTFORMAT_INT2
@ SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_UINT2
@ SDL_GPU_VERTEXELEMENTFORMAT_BYTE4
@ SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4
@ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_UINT3
@ SDL_GPU_VERTEXELEMENTFORMAT_UINT
@ SDL_GPU_VERTEXELEMENTFORMAT_UINT4
@ SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3
@ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2
@ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2
@ SDL_GPU_VERTEXELEMENTFORMAT_SHORT4
@ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT
@ SDL_GPU_VERTEXELEMENTFORMAT_SHORT2
@ SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_HALF4
@ SDL_GPU_VERTEXELEMENTFORMAT_USHORT2
@ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM
@ SDL_GPU_VERTEXELEMENTFORMAT_INT3
void SDL_ReleaseGPUShader(SDL_GPUDevice *device, SDL_GPUShader *shader)
struct SDL_GPUComputePipeline SDL_GPUComputePipeline
struct SDL_GPUTexture SDL_GPUTexture
void SDL_ReleaseGPUBuffer(SDL_GPUDevice *device, SDL_GPUBuffer *buffer)
Uint32 SDL_GPUTextureUsageFlags
void SDL_ReleaseGPUFence(SDL_GPUDevice *device, SDL_GPUFence *fence)
void SDL_BindGPUComputeStorageBuffers(SDL_GPUComputePass *computePass, Uint32 firstSlot, SDL_GPUBuffer **storageBuffers, Uint32 bindingCount)
SDL_GPUTexture * SDL_AcquireGPUSwapchainTexture(SDL_GPUCommandBuffer *commandBuffer, SDL_Window *window, Uint32 *pWidth, Uint32 *pHeight)
Uint32 SDL_GPUBufferUsageFlags
@ SDL_GPU_PRESENTMODE_VSYNC
@ SDL_GPU_PRESENTMODE_IMMEDIATE
@ SDL_GPU_PRESENTMODE_MAILBOX
void SDL_CopyGPUBufferToBuffer(SDL_GPUCopyPass *copyPass, SDL_GPUBufferLocation *source, SDL_GPUBufferLocation *destination, Uint32 size, SDL_bool cycle)
SDL_bool SDL_WindowSupportsGPUPresentMode(SDL_GPUDevice *device, SDL_Window *window, SDL_GPUPresentMode presentMode)
SDL_bool SDL_GPUTextureSupportsSampleCount(SDL_GPUDevice *device, SDL_GPUTextureFormat format, SDL_GPUSampleCount sampleCount)
void SDL_SubmitGPUCommandBuffer(SDL_GPUCommandBuffer *commandBuffer)
SDL_GPUFence * SDL_SubmitGPUCommandBufferAndAcquireFence(SDL_GPUCommandBuffer *commandBuffer)
SDL_GPUComputePass * SDL_BeginGPUComputePass(SDL_GPUCommandBuffer *commandBuffer, SDL_GPUStorageTextureWriteOnlyBinding *storageTextureBindings, Uint32 storageTextureBindingCount, SDL_GPUStorageBufferWriteOnlyBinding *storageBufferBindings, Uint32 storageBufferBindingCount)
void SDL_PushGPUComputeUniformData(SDL_GPUCommandBuffer *commandBuffer, Uint32 slotIndex, const void *data, Uint32 dataLengthInBytes)
SDL_bool SDL_GPUTextureSupportsFormat(SDL_GPUDevice *device, SDL_GPUTextureFormat format, SDL_GPUTextureType type, SDL_GPUTextureUsageFlags usage)
struct SDL_GPUBuffer SDL_GPUBuffer
SDL_GPUGraphicsPipeline * SDL_CreateGPUGraphicsPipeline(SDL_GPUDevice *device, SDL_GPUGraphicsPipelineCreateInfo *pipelineCreateInfo)
@ SDL_GPU_COMPAREOP_NEVER
@ SDL_GPU_COMPAREOP_GREATER
@ SDL_GPU_COMPAREOP_GREATER_OR_EQUAL
@ SDL_GPU_COMPAREOP_ALWAYS
@ SDL_GPU_COMPAREOP_LESS_OR_EQUAL
@ SDL_GPU_COMPAREOP_NOT_EQUAL
@ SDL_GPU_COMPAREOP_EQUAL
struct SDL_GPUCopyPass SDL_GPUCopyPass
void SDL_DispatchGPUCompute(SDL_GPUComputePass *computePass, Uint32 groupCountX, Uint32 groupCountY, Uint32 groupCountZ)
void SDL_BindGPUVertexStorageBuffers(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUBuffer **storageBuffers, Uint32 bindingCount)
void SDL_CopyGPUTextureToTexture(SDL_GPUCopyPass *copyPass, SDL_GPUTextureLocation *source, SDL_GPUTextureLocation *destination, Uint32 w, Uint32 h, Uint32 d, SDL_bool cycle)
SDL_GPURenderPass * SDL_BeginGPURenderPass(SDL_GPUCommandBuffer *commandBuffer, SDL_GPUColorAttachmentInfo *colorAttachmentInfos, Uint32 colorAttachmentCount, SDL_GPUDepthStencilAttachmentInfo *depthStencilAttachmentInfo)
void SDL_BindGPUIndexBuffer(SDL_GPURenderPass *renderPass, SDL_GPUBufferBinding *pBinding, SDL_GPUIndexElementSize indexElementSize)
SDL_bool SDL_QueryGPUFence(SDL_GPUDevice *device, SDL_GPUFence *fence)
void SDL_BindGPUGraphicsPipeline(SDL_GPURenderPass *renderPass, SDL_GPUGraphicsPipeline *graphicsPipeline)
SDL_GPUTransferBufferUsage
@ SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD
@ SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD
void SDL_BindGPUFragmentSamplers(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUTextureSamplerBinding *textureSamplerBindings, Uint32 bindingCount)
void SDL_InsertGPUDebugLabel(SDL_GPUCommandBuffer *commandBuffer, const char *text)
struct SDL_GPUShader SDL_GPUShader
void SDL_BindGPUVertexSamplers(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUTextureSamplerBinding *textureSamplerBindings, Uint32 bindingCount)
void SDL_PushGPUFragmentUniformData(SDL_GPUCommandBuffer *commandBuffer, Uint32 slotIndex, const void *data, Uint32 dataLengthInBytes)
SDL_GPUTextureFormat SDL_GetGPUSwapchainTextureFormat(SDL_GPUDevice *device, SDL_Window *window)
SDL_GPUSwapchainComposition
@ SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048
@ SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR
@ SDL_GPU_SWAPCHAINCOMPOSITION_SDR
@ SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR
SDL_bool SDL_SetGPUSwapchainParameters(SDL_GPUDevice *device, SDL_Window *window, SDL_GPUSwapchainComposition swapchainComposition, SDL_GPUPresentMode presentMode)
void SDL_PopGPUDebugGroup(SDL_GPUCommandBuffer *commandBuffer)
SDL_GPUTransferBuffer * SDL_CreateGPUTransferBuffer(SDL_GPUDevice *device, SDL_GPUTransferBufferCreateInfo *transferBufferCreateInfo)
void SDL_BindGPUFragmentStorageTextures(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUTexture **storageTextures, Uint32 bindingCount)
@ SDL_GPU_SHADERSTAGE_FRAGMENT
@ SDL_GPU_SHADERSTAGE_VERTEX
void SDL_ReleaseWindowFromGPUDevice(SDL_GPUDevice *device, SDL_Window *window)
void SDL_SetGPUBufferName(SDL_GPUDevice *device, SDL_GPUBuffer *buffer, const char *text)
@ SDL_GPU_TEXTURETYPE_CUBE
@ SDL_GPU_TEXTURETYPE_2D_ARRAY
void * SDL_MapGPUTransferBuffer(SDL_GPUDevice *device, SDL_GPUTransferBuffer *transferBuffer, SDL_bool cycle)
SDL_GPUSamplerAddressMode
@ SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT
@ SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE
@ SDL_GPU_SAMPLERADDRESSMODE_REPEAT
void SDL_BindGPUVertexStorageTextures(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUTexture **storageTextures, Uint32 bindingCount)
@ SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM
@ SDL_GPU_TEXTUREFORMAT_D16_UNORM
@ SDL_GPU_TEXTUREFORMAT_R16G16_INT
@ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT
@ SDL_GPU_TEXTUREFORMAT_R8_UINT
@ SDL_GPU_TEXTUREFORMAT_R8G8_SNORM
@ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM
@ SDL_GPU_TEXTUREFORMAT_A8_UNORM
@ SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT
@ SDL_GPU_TEXTUREFORMAT_R16_UINT
@ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM
@ SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM
@ SDL_GPU_TEXTUREFORMAT_R16_INT
@ SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM
@ SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT
@ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM
@ SDL_GPU_TEXTUREFORMAT_R16_UNORM
@ SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT
@ SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT
@ SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM
@ SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM
@ SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT
@ SDL_GPU_TEXTUREFORMAT_R8_SNORM
@ SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_R8_UNORM
@ SDL_GPU_TEXTUREFORMAT_D24_UNORM
@ SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_INVALID
@ SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM
@ SDL_GPU_TEXTUREFORMAT_R16G16_SNORM
@ SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM
@ SDL_GPU_TEXTUREFORMAT_R8G8_INT
@ SDL_GPU_TEXTUREFORMAT_D32_FLOAT
@ SDL_GPU_TEXTUREFORMAT_R8_INT
@ SDL_GPU_TEXTUREFORMAT_R8G8_UINT
@ SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT
@ SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM
@ SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM
@ SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_R32_FLOAT
@ SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT
@ SDL_GPU_TEXTUREFORMAT_R8G8_UNORM
@ SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB
@ SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM
@ SDL_GPU_TEXTUREFORMAT_R16G16_UNORM
@ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM
@ SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT
@ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT
@ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT
@ SDL_GPU_TEXTUREFORMAT_R16G16_UINT
@ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT
@ SDL_GPU_TEXTUREFORMAT_R16_SNORM
@ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT
@ SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM
@ SDL_GPU_TEXTUREFORMAT_R16_FLOAT
struct SDL_GPUComputePass SDL_GPUComputePass
struct SDL_GPUDevice SDL_GPUDevice
void SDL_UploadToGPUTexture(SDL_GPUCopyPass *copyPass, SDL_GPUTextureTransferInfo *source, SDL_GPUTextureRegion *destination, SDL_bool cycle)
void SDL_WaitForGPUIdle(SDL_GPUDevice *device)
void SDL_BindGPUFragmentStorageBuffers(SDL_GPURenderPass *renderPass, Uint32 firstSlot, SDL_GPUBuffer **storageBuffers, Uint32 bindingCount)
struct SDL_Window SDL_Window
SDL_GPUBufferUsageFlags usageFlags
SDL_GPUBlendFactor dstAlphaBlendFactor
SDL_GPUBlendOp colorBlendOp
SDL_GPUBlendFactor dstColorBlendFactor
SDL_GPUBlendOp alphaBlendOp
SDL_GPUBlendFactor srcAlphaBlendFactor
SDL_GPUColorComponentFlags colorWriteMask
SDL_GPUBlendFactor srcColorBlendFactor
SDL_GPUColorAttachmentBlendState blendState
SDL_GPUTextureFormat format
const char * entryPointName
Uint32 readOnlyStorageTextureCount
Uint32 writeOnlyStorageBufferCount
SDL_GPUShaderFormat format
Uint32 readOnlyStorageBufferCount
Uint32 uniformBufferCount
Uint32 writeOnlyStorageTextureCount
SDL_GPUDepthStencilValue depthStencilClearValue
SDL_GPULoadOp stencilLoadOp
SDL_GPUStoreOp stencilStoreOp
SDL_bool stencilTestEnable
SDL_GPUCompareOp compareOp
SDL_bool depthWriteEnable
SDL_GPUStencilOpState frontStencilState
SDL_GPUStencilOpState backStencilState
Uint32 colorAttachmentCount
SDL_GPUColorAttachmentDescription * colorAttachmentDescriptions
SDL_bool hasDepthStencilAttachment
SDL_GPUTextureFormat depthStencilFormat
SDL_GPURasterizerState rasterizerState
SDL_GPUVertexInputState vertexInputState
SDL_GPUGraphicsPipelineAttachmentInfo attachmentInfo
SDL_GPUPrimitiveType primitiveType
SDL_GPUShader * fragmentShader
SDL_GPUMultisampleState multisampleState
SDL_GPUDepthStencilState depthStencilState
SDL_GPUShader * vertexShader
SDL_GPUSampleCount sampleCount
SDL_GPUFrontFace frontFace
float depthBiasSlopeFactor
float depthBiasConstantFactor
SDL_GPUSamplerMipmapMode mipmapMode
SDL_GPUSamplerAddressMode addressModeU
SDL_GPUSamplerAddressMode addressModeV
SDL_GPUCompareOp compareOp
SDL_bool anisotropyEnable
SDL_GPUSamplerAddressMode addressModeW
SDL_GPUShaderFormat format
Uint32 uniformBufferCount
Uint32 storageTextureCount
Uint32 storageBufferCount
const char * entryPointName
SDL_GPUStencilOp depthFailOp
SDL_GPUCompareOp compareOp
SDL_GPUTextureFormat format
SDL_GPUTextureUsageFlags usageFlags
SDL_GPUSampleCount sampleCount
SDL_GPUTransferBuffer * transferBuffer
SDL_GPUTransferBufferUsage usage
SDL_GPUTransferBuffer * transferBuffer
SDL_GPUVertexElementFormat format
SDL_GPUVertexInputRate inputRate