# SDL_GetRenderDriver

Use this function to get the name of a built in 2D rendering driver.

## Header File

Defined in [<SDL3/SDL_render.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_render.h)

## Syntax

```c
const char * SDL_GetRenderDriver(int index);
```

## Function Parameters

|     |           |                                                                                                                         |
| --- | --------- | ----------------------------------------------------------------------------------------------------------------------- |
| int | **index** | the index of the rendering driver; the value ranges from 0 to [SDL_GetNumRenderDrivers](SDL_GetNumRenderDrivers)() - 1. |

## Return Value

(const char *) Returns the name of the rendering driver at the requested
index, or NULL if an invalid index was specified.

## Remarks

The list of rendering drivers is given in the order that they are normally
initialized by default; the drivers that seem more reasonable to choose
first (as far as the SDL developers believe) are earlier in the list.

The names of drivers are all simple, low-ASCII identifiers, like "opengl",
"direct3d12" or "metal". These never have Unicode characters, and are not
meant to be proper names.

## Thread Safety

It is safe to call this function from any thread.

## Version

This function is available since SDL 3.2.0.

## See Also

- [SDL_GetNumRenderDrivers](SDL_GetNumRenderDrivers)


## Code examples

```c
// Log drivers that are available, in the order of priority SDL chooses them.
// Useful for e.g. debugging which ones a particular build of SDL contains.
SDL_Log("Available renderer drivers:");
for (int i = 0; i < SDL_GetNumRenderDrivers(); i++) {
    SDL_Log("%d. %s", i + 1, SDL_GetRenderDriver(i));
}
```

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryRender](CategoryRender)

