A structure specifying code and metadata for creating a shader object.
Defined in <SDL3/SDL_gpu.h>
typedef struct SDL_GPUShaderCreateInfo
{size_t code_size; /**< The size in bytes of the code pointed to. */
const Uint8 *code; /**< A pointer to shader code. */
const char *entrypoint; /**< A pointer to a null-terminated UTF-8 string specifying the entry point function name for the shader. */
/**< The format of the shader code. */
SDL_GPUShaderFormat format; /**< The stage the shader program corresponds to. */
SDL_GPUShaderStage stage; /**< The number of samplers defined in the shader. */
Uint32 num_samplers; /**< The number of storage textures defined in the shader. */
Uint32 num_storage_textures; /**< The number of storage buffers defined in the shader. */
Uint32 num_storage_buffers; /**< The number of uniform buffers defined in the shader. */
Uint32 num_uniform_buffers;
/**< A properties ID for extensions. Should be 0 if no extensions are needed. */
SDL_PropertiesID props; } SDL_GPUShaderCreateInfo;
This struct is available since SDL 3.1.3