---
name: "SDL_Vulkan_DestroySurface"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_Vulkan_DestroySurface"
---

# SDL\_Vulkan\_DestroySurface(3)

Destroy the Vulkan rendering surface of a window.

## NAME

SDL\_Vulkan\_DestroySurface - Destroy the Vulkan rendering surface of a window.

## HEADER FILE

Defined in SDL3/SDL\_vulkan.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**void SDL\_Vulkan\_DestroySurface(VkInstance instance,**                            **VkSurfaceKHR surface,**                            **const struct VkAllocationCallbacks \*allocator);**

## DESCRIPTION

This should be called before  **SDL\_DestroyWindow** , if

**SDL\_Vulkan\_CreateSurface**\
  was called after

**SDL\_CreateWindow** .

The **instance** must have been created with extensions returned by

**SDL\_Vulkan\_GetInstanceExtensions** () enabled and **surface** must have been created successfully by an

**SDL\_Vulkan\_CreateSurface** () call.

If **allocator** is NULL, Vulkan will use the system default allocator. This argument is passed directly to Vulkan and isn't used by SDL itself.

## FUNCTION PARAMETERS

- *instance*

  the Vulkan instance handle.

- *surface*

  vkSurfaceKHR handle to destroy.

- *allocator*

  a VkAllocationCallbacks struct, which lets the app set the allocator that destroys the surface. Can be NULL.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_Vulkan\_GetInstanceExtensions**(3)](/SDL_Vulkan_GetInstanceExtensions/3.md), **•**(3), [**SDL\_Vulkan\_CreateSurface**(3)](/SDL_Vulkan_CreateSurface/3.md)
