# SDL_GPUPrimitiveType Specifies the primitive topology of a graphics pipeline. ## Header File Defined in [](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gpu.h) ## Syntax ```c 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; ``` ## Remarks 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. ## Version This enum is available since SDL 3.2.0. ## See Also - [SDL_CreateGPUGraphicsPipeline](SDL_CreateGPUGraphicsPipeline) ---- [CategoryAPI](CategoryAPI), [CategoryAPIEnum](CategoryAPIEnum), [CategoryGPU](CategoryGPU)