Add the SDL_GPU API

Project Lead: Evan Hemsley <evan@moonside.games>

Co-designer, Metal Port, Console Ports:

Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>

Production, QA, Debug:

Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>

SDL_Render Driver, Bugfixes:

Co-authored-by: Andrei Alexeyev <akari@taisei-project.org>

Additional D3D12 Programming, Bugfixes:

Co-authored-by: Bart van der Werf <bluelive@gmail.com>

Bugfixes and Feedback:

Co-authored-by: Zakary Strange <zakarystrange@gmail.com>
Co-authored-by: meyraud705 <meyraud705@gmail.com>
Co-authored-by: Joshua T. Fisher <playmer@gmail.com>
Co-authored-by: Topi Ritala <ritalat@fastmail.com>
Co-authored-by: David Gow <david@ingeniumdigital.com>

Original API Proposal:

Co-authored-by: Ryan C. Gordon <icculus@icculus.org>
This commit is contained in:
cosmonaut 2024-03-18 11:43:23 -07:00 committed by Sam Lantinga
parent 8ddb099d3e
commit 2e7d5bb429
96 changed files with 60218 additions and 66 deletions

View file

@ -1060,6 +1060,87 @@ SDL3_0.0.0 {
SDL_wcsnstr;
SDL_wcsstr;
SDL_wcstol;
SDL_CreateGpuDevice;
SDL_CreateGpuDeviceWithProperties;
SDL_DestroyGpuDevice;
SDL_GetGpuDriver;
SDL_CreateGpuComputePipeline;
SDL_CreateGpuGraphicsPipeline;
SDL_CreateGpuSampler;
SDL_CreateGpuShader;
SDL_CreateGpuTexture;
SDL_CreateGpuBuffer;
SDL_CreateGpuTransferBuffer;
SDL_SetGpuBufferName;
SDL_SetGpuTextureName;
SDL_InsertGpuDebugLabel;
SDL_PushGpuDebugGroup;
SDL_PopGpuDebugGroup;
SDL_ReleaseGpuTexture;
SDL_ReleaseGpuSampler;
SDL_ReleaseGpuBuffer;
SDL_ReleaseGpuTransferBuffer;
SDL_ReleaseGpuComputePipeline;
SDL_ReleaseGpuShader;
SDL_ReleaseGpuGraphicsPipeline;
SDL_BeginGpuRenderPass;
SDL_BindGpuGraphicsPipeline;
SDL_SetGpuViewport;
SDL_SetGpuScissor;
SDL_BindGpuVertexBuffers;
SDL_BindGpuIndexBuffer;
SDL_BindGpuVertexSamplers;
SDL_BindGpuVertexStorageTextures;
SDL_BindGpuVertexStorageBuffers;
SDL_BindGpuFragmentSamplers;
SDL_BindGpuFragmentStorageTextures;
SDL_BindGpuFragmentStorageBuffers;
SDL_PushGpuVertexUniformData;
SDL_PushGpuFragmentUniformData;
SDL_DrawGpuIndexedPrimitives;
SDL_DrawGpuPrimitives;
SDL_DrawGpuPrimitivesIndirect;
SDL_DrawGpuIndexedPrimitivesIndirect;
SDL_EndGpuRenderPass;
SDL_BeginGpuComputePass;
SDL_BindGpuComputePipeline;
SDL_BindGpuComputeStorageTextures;
SDL_BindGpuComputeStorageBuffers;
SDL_PushGpuComputeUniformData;
SDL_DispatchGpuCompute;
SDL_DispatchGpuComputeIndirect;
SDL_EndGpuComputePass;
SDL_MapGpuTransferBuffer;
SDL_UnmapGpuTransferBuffer;
SDL_BeginGpuCopyPass;
SDL_UploadToGpuTexture;
SDL_UploadToGpuBuffer;
SDL_CopyGpuTextureToTexture;
SDL_CopyGpuBufferToBuffer;
SDL_GenerateGpuMipmaps;
SDL_DownloadFromGpuTexture;
SDL_DownloadFromGpuBuffer;
SDL_EndGpuCopyPass;
SDL_BlitGpu;
SDL_SupportsGpuSwapchainComposition;
SDL_SupportsGpuPresentMode;
SDL_ClaimGpuWindow;
SDL_UnclaimGpuWindow;
SDL_SetGpuSwapchainParameters;
SDL_GetGpuSwapchainTextureFormat;
SDL_AcquireGpuCommandBuffer;
SDL_AcquireGpuSwapchainTexture;
SDL_SubmitGpu;
SDL_SubmitGpuAndAcquireFence;
SDL_WaitGpu;
SDL_WaitGpuForFences;
SDL_QueryGpuFence;
SDL_ReleaseGpuFence;
SDL_GpuTextureFormatTexelBlockSize;
SDL_SupportsGpuTextureFormat;
SDL_SupportsGpuSampleCount;
SDL_GDKSuspendGpu;
SDL_GDKResumeGpu;
# extra symbols go here (don't modify this line)
local: *;
};