This is new wiki software and old wiki content. It's a work in progress!
Here's the explanation.
Be gentle, report bugs, leave feedback on pages, or just edit them yourself! Thanks!

SDL Wiki


Get the size of the window's underlying drawable dimensions in pixels.


void SDL_Vulkan_GetDrawableSize(SDL_Window * window,
                                int *w, int *h);

Function Parameters


an SDL_Window for which the size is to be queried


Pointer to the variable to write the width to or NULL


Pointer to the variable to write the height to or NULL


This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with high-DPI support (Apple calls this "Retina"), and not disabled by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint.


This function is available in SDL 2.0.8

Code Examples

// may instead choose to use std::clamp() in C++17
#define CLAMP(x, lo, hi)    ((x) < (lo) ? (lo) : (x) > (hi) ? (hi) : (x))

SDL_Window *window;
VkSurfaceKHR surface;
VkPhysicalDevice physicalDevice;

// window = SDL_CreateWindow(...);
if (!SDL_Vulkan_CreateSurface(window, instance, &surface)) {
    // handle error
// physicalDevice = ...;

// ...

// Create Swapchain

VkSurfaceCapabilitiesKHR capabilities;
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, &capabilities);

int width;
int height;
SDL_Vulkan_GetDrawableSize(window, &width, &height);

width = CLAMP(width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width);
height = CLAMP(height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height);

// ...

// vkCreateSwapchainKHR(...);

CategoryAPI, CategoryVulkan

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.