MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / AllocateRenderCommand

Function AllocateRenderCommand

deps/SDL2/src/render/SDL_render.c:296–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

294}
295
296static SDL_RenderCommand *
297AllocateRenderCommand(SDL_Renderer *renderer)
298{
299 SDL_RenderCommand *retval = NULL;
300
301 /* !!! FIXME: are there threading limitations in SDL's render API? If not, we need to mutex this. */
302 retval = renderer->render_commands_pool;
303 if (retval != NULL) {
304 renderer->render_commands_pool = retval->next;
305 retval->next = NULL;
306 } else {
307 retval = SDL_calloc(1, sizeof (*retval));
308 if (!retval) {
309 SDL_OutOfMemory();
310 return NULL;
311 }
312 }
313
314 SDL_assert((renderer->render_commands == NULL) == (renderer->render_commands_tail == NULL));
315 if (renderer->render_commands_tail != NULL) {
316 renderer->render_commands_tail->next = retval;
317 } else {
318 renderer->render_commands = retval;
319 }
320 renderer->render_commands_tail = retval;
321
322 return retval;
323}
324
325static int
326QueueCmdSetViewport(SDL_Renderer *renderer)

Callers 6

QueueCmdSetViewportFunction · 0.85
QueueCmdSetClipRectFunction · 0.85
QueueCmdSetDrawColorFunction · 0.85
QueueCmdClearFunction · 0.85
PrepQueueCmdDrawSolidFunction · 0.85
PrepQueueCmdDrawTextureFunction · 0.85

Calls 1

SDL_callocFunction · 0.85

Tested by

no test coverage detected