SDL_gp es una librería de gráficos 2D minimalista y de alto rendimiento distribuida como archivo de cabecera único (single header) para SDL3. Se trata de un port de sokol_gp, la conocida librería escrita por Eduard Nöth, adaptada para funcionar sobre SDL_gpu, la capa de aceleración por GPU de SDL3, de nivel más bajo que la utilizada por sokol. La principal diferencia respecto a sokol_gp es que SDL_gpu no gestiona recursos internamente, por lo que SDL_gp incorpora un sistema propio de gestión de recursos inspirado en el de sokol.
La librería ofrece un API estilo "painter" (inmediato) que permite dibujar primitivas (rectángulos, sprites), configurar blend modes, definir el viewport, aplicar transformaciones (traslación, rotación y escalado) y gestionar el estado del pipeline gráfico con un diseño similar al de sokol_gp, lo que facilita migrar proyectos existentes. Para utilizarla basta con adquirir un command buffer de SDL_GPU, llamar a SDL_GPBegin, registrar las llamadas de dibujo, ejecutar SDL_GPFlush para enviar los comandos a la GPU y cerrar el fotograma con SDL_GPEnd.
El repositorio incluye también APIs para el manejo de errores (SDL_GPGetLastError y SDL_GPGetErrorMessage), carga y destrucción de imágenes desde SDL_Surface, creación de shaders, construcción de pipelines gráficos y control fino de estado (color, blend mode, sampler, uniform data, scissor y viewport). Funciona como capa de alto nivel sobre SDL_gpu y está pensada para desarrolladores de juegos, herramientas o aplicaciones gráficas que necesiten un renderer 2D sencillo, rápido y portable sobre SDL3.
