Add SDL_CreateGPURenderer

This commit is contained in:
Topi-Matti Ritala
2025-04-07 18:19:27 +03:00
committed by Sam Lantinga
parent 5a59b5f321
commit f7b7188837
8 changed files with 97 additions and 15 deletions

View File

@@ -1128,21 +1128,26 @@ static void GPU_DestroyRenderer(SDL_Renderer *renderer)
}
for (Uint32 i = 0; i < SDL_arraysize(data->samplers); ++i) {
SDL_ReleaseGPUSampler(data->device, data->samplers[i]);
if (data->samplers[i]) {
SDL_ReleaseGPUSampler(data->device, data->samplers[i]);
}
}
if (data->backbuffer.texture) {
SDL_ReleaseGPUTexture(data->device, data->backbuffer.texture);
}
if (renderer->window) {
if (renderer->window && data->device) {
SDL_ReleaseWindowFromGPUDevice(data->device, renderer->window);
}
ReleaseVertexBuffer(data);
GPU_DestroyPipelineCache(&data->pipeline_cache);
GPU_ReleaseShaders(&data->shaders, data->device);
SDL_DestroyGPUDevice(data->device);
if (data->device) {
GPU_ReleaseShaders(&data->shaders, data->device);
SDL_DestroyGPUDevice(data->device);
}
SDL_free(data);
}