| 471 | } |
| 472 | |
| 473 | VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) { |
| 474 | if (capabilities.currentExtent.width != std::numeric_limits<uint32_t>::max()) { |
| 475 | return capabilities.currentExtent; |
| 476 | } else { |
| 477 | int width, height; |
| 478 | glfwGetFramebufferSize(window, &width, &height); |
| 479 | |
| 480 | VkExtent2D actualExtent = { |
| 481 | static_cast<uint32_t>(width), |
| 482 | static_cast<uint32_t>(height) |
| 483 | }; |
| 484 | |
| 485 | actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); |
| 486 | actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); |
| 487 | |
| 488 | return actualExtent; |
| 489 | } |
| 490 | } |
| 491 | |
| 492 | SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device) { |
| 493 | SwapChainSupportDetails details; |
nothing calls this directly
no outgoing calls
no test coverage detected