| 206 | } |
| 207 | |
| 208 | static int |
| 209 | FlushRenderCommands(SDL_Renderer *renderer) |
| 210 | { |
| 211 | int retval; |
| 212 | |
| 213 | SDL_assert((renderer->render_commands == NULL) == (renderer->render_commands_tail == NULL)); |
| 214 | |
| 215 | if (renderer->render_commands == NULL) { /* nothing to do! */ |
| 216 | SDL_assert(renderer->vertex_data_used == 0); |
| 217 | return 0; |
| 218 | } |
| 219 | |
| 220 | DebugLogRenderCommands(renderer->render_commands); |
| 221 | |
| 222 | retval = renderer->RunCommandQueue(renderer, renderer->render_commands, renderer->vertex_data, renderer->vertex_data_used); |
| 223 | |
| 224 | /* Move the whole render command queue to the unused pool so we can reuse them next time. */ |
| 225 | if (renderer->render_commands_tail != NULL) { |
| 226 | renderer->render_commands_tail->next = renderer->render_commands_pool; |
| 227 | renderer->render_commands_pool = renderer->render_commands; |
| 228 | renderer->render_commands_tail = NULL; |
| 229 | renderer->render_commands = NULL; |
| 230 | } |
| 231 | renderer->vertex_data_used = 0; |
| 232 | renderer->render_command_generation++; |
| 233 | renderer->color_queued = SDL_FALSE; |
| 234 | renderer->viewport_queued = SDL_FALSE; |
| 235 | renderer->cliprect_queued = SDL_FALSE; |
| 236 | return retval; |
| 237 | } |
| 238 | |
| 239 | static int |
| 240 | FlushRenderCommandsIfTextureNeeded(SDL_Texture *texture) |
no test coverage detected