Ubuntu Manpages

SDL_GPUPrimitiveType

Specifies the primitive topology of a graphics pipeline.

#include <SDL3/SDL_gpu.h>
typedef enum SDL_GPUPrimitiveType
{
    SDL_GPU_PRIMITIVETYPE_TRIANGLELIST,  /**< A series of separate triangles. */
    SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP, /**< A series of connected triangles. */
    SDL_GPU_PRIMITIVETYPE_LINELIST,      /**< A series of separate lines. */
    SDL_GPU_PRIMITIVETYPE_LINESTRIP,     /**< A series of connected lines. */
    SDL_GPU_PRIMITIVETYPE_POINTLIST      /**< A series of separate points. */
} SDL_GPUPrimitiveType;

If you are using POINTLIST you must include a point size output in the vertex shader.

• For HLSL compiling to SPIRV you must decorate a float output with [[vk::builtin("PointSize")]].

• For GLSL you must set the gl_PointSize builtin.

• For MSL you must include a float output with the [[point_size]] decorator.

Note that sized point topology is totally unsupported on D3D12. Any size other than 1 will be ignored. In general, you should avoid using point topology for both compatibility and performance reasons. You WILL regret using it.

This enum is available since SDL 3.2.0.

SDL_CreateGPUGraphicsPipeline(3)