| 506 | } |
| 507 | |
| 508 | VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) { |
| 509 | if (capabilities.currentExtent.width != std::numeric_limits<uint32_t>::max()) { |
| 510 | return capabilities.currentExtent; |
| 511 | } else { |
| 512 | int width, height; |
| 513 | glfwGetFramebufferSize(window, &width, &height); |
| 514 | |
| 515 | VkExtent2D actualExtent = { |
| 516 | static_cast<uint32_t>(width), |
| 517 | static_cast<uint32_t>(height) |
| 518 | }; |
| 519 | |
| 520 | actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); |
| 521 | actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); |
| 522 | |
| 523 | return actualExtent; |
| 524 | } |
| 525 | } |
| 526 | |
| 527 | SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device) { |
| 528 | SwapChainSupportDetails details; |
nothing calls this directly
no outgoing calls
no test coverage detected