From dc86ccce959b7b5d1149dbd93a5de56183c9b654 Mon Sep 17 00:00:00 2001 From: Greg Wells Date: Sat, 24 May 2025 14:47:49 -0400 Subject: [PATCH] idk why there didnt commit --- .../vulkan_presentation_queue.h | 15 +- .../src/presentation_queue/vulkan_swapchain.h | 154 +++++++++--------- .../vulkan_swapchain_support.h | 38 ++--- 3 files changed, 104 insertions(+), 103 deletions(-) diff --git a/rendering_api/vulkan/src/presentation_queue/vulkan_presentation_queue.h b/rendering_api/vulkan/src/presentation_queue/vulkan_presentation_queue.h index 7d368a2..3886ea2 100644 --- a/rendering_api/vulkan/src/presentation_queue/vulkan_presentation_queue.h +++ b/rendering_api/vulkan/src/presentation_queue/vulkan_presentation_queue.h @@ -1,11 +1,12 @@ #pragma once -#include "vulkan_swapchain_support.h" +#include "core/presentation_queue/gryphn_presentation_queue.h" +#include -struct gnPlatformPresentationQueue { +typedef struct gnPlatformPresentationQueue_t { VkSwapchainKHR swapChain; - VkDevice* device; - gnOutputDevice* outputDevice; + // VkDevice* device; + // gnOutputDevice* outputDevice; - vulkanSwapchainDetails swapchainDetails; - VkResult result; -}; + // vulkanSwapchainDetails swapchainDetails; + // VkResult result; +} gnPlatformPresentationQueue; diff --git a/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain.h b/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain.h index a51326b..1173d4d 100644 --- a/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain.h +++ b/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain.h @@ -1,99 +1,99 @@ -#pragma once -#include -#include -#include // Necessary for uint32_t -#include // Necessary for std::numeric_limits -#include // Necessary for std::clamp -#include "vector" -#include "set" -#include +// #pragma once +// #include +// #include +// #include // Necessary for uint32_t +// #include // Necessary for std::numeric_limits +// #include // Necessary for std::clamp +// #include "vector" +// #include "set" +// #include -const std::vector deviceExtensions = { - VK_KHR_SWAPCHAIN_EXTENSION_NAME, - "VK_KHR_portability_subset" -}; +// const std::vector deviceExtensions = { +// VK_KHR_SWAPCHAIN_EXTENSION_NAME, +// "VK_KHR_portability_subset" +// }; -static VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats) { - for (const auto& availableFormat : availableFormats) { - if (availableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) { - return availableFormat; - } - } +// static VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats) { +// for (const auto& availableFormat : availableFormats) { +// if (availableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) { +// return availableFormat; +// } +// } - return availableFormats[0]; -} +// return availableFormats[0]; +// } -static VkPresentModeKHR chooseSwapPresentMode(const std::vector& availablePresentModes) { - for (const auto& availablePresentMode : availablePresentModes) { - if (availablePresentMode == VK_PRESENT_MODE_MAILBOX_KHR) { - return availablePresentMode; - } - } +// static VkPresentModeKHR chooseSwapPresentMode(const std::vector& availablePresentModes) { +// for (const auto& availablePresentMode : availablePresentModes) { +// if (availablePresentMode == VK_PRESENT_MODE_MAILBOX_KHR) { +// return availablePresentMode; +// } +// } - return VK_PRESENT_MODE_FIFO_KHR; -} +// return VK_PRESENT_MODE_FIFO_KHR; +// } -static VkExtent2D chooseSwapExtent(gnVec2 size, const VkSurfaceCapabilitiesKHR& capabilities) { - if (capabilities.currentExtent.width != std::numeric_limits::max()) { - return capabilities.currentExtent; - } else { - // int width, height; - // glfwGetFramebufferSize(window, &width, &height); +// static VkExtent2D chooseSwapExtent(gnVec2 size, const VkSurfaceCapabilitiesKHR& capabilities) { +// if (capabilities.currentExtent.width != std::numeric_limits::max()) { +// return capabilities.currentExtent; +// } else { +// // int width, height; +// // glfwGetFramebufferSize(window, &width, &height); - VkExtent2D actualExtent = { - static_cast(size.x), - static_cast(size.y) - }; +// VkExtent2D actualExtent = { +// static_cast(size.x), +// static_cast(size.y) +// }; - actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); - actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); +// actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); +// actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); - return actualExtent; - } -} +// return actualExtent; +// } +// } -static bool checkDeviceExtensionSupport(std::vector deviceExtensions, const VkPhysicalDevice& device) { - uint32_t extensionCount; - vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); +// static bool checkDeviceExtensionSupport(std::vector deviceExtensions, const VkPhysicalDevice& device) { +// uint32_t extensionCount; +// vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); - std::vector availableExtensions(extensionCount); - vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); +// std::vector availableExtensions(extensionCount); +// vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); - std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); +// std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); - for (const auto& extension : availableExtensions) { - requiredExtensions.erase(extension.extensionName); - } +// for (const auto& extension : availableExtensions) { +// requiredExtensions.erase(extension.extensionName); +// } - return requiredExtensions.empty(); -} +// return requiredExtensions.empty(); +// } -struct SwapChainSupportDetails { - VkSurfaceCapabilitiesKHR capabilities; - std::vector formats; - std::vector presentModes; -}; +// struct SwapChainSupportDetails { +// VkSurfaceCapabilitiesKHR capabilities; +// std::vector formats; +// std::vector presentModes; +// }; -static SwapChainSupportDetails querySwapChainSupport(const VkSurfaceKHR& surface, const VkPhysicalDevice& device) { - SwapChainSupportDetails details; +// static SwapChainSupportDetails querySwapChainSupport(const VkSurfaceKHR& surface, const VkPhysicalDevice& device) { +// SwapChainSupportDetails details; - vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &details.capabilities); +// vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &details.capabilities); - uint32_t formatCount; - vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, nullptr); +// uint32_t formatCount; +// vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, nullptr); - if (formatCount != 0) { - details.formats.resize(formatCount); - vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, details.formats.data()); - } +// if (formatCount != 0) { +// details.formats.resize(formatCount); +// vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, details.formats.data()); +// } - uint32_t presentModeCount; - vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, nullptr); +// uint32_t presentModeCount; +// vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, nullptr); - if (presentModeCount != 0) { - details.presentModes.resize(presentModeCount); - vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, details.presentModes.data()); - } +// if (presentModeCount != 0) { +// details.presentModes.resize(presentModeCount); +// vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, details.presentModes.data()); +// } - return details; -} +// return details; +// } diff --git a/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain_support.h b/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain_support.h index 739bddb..7128694 100644 --- a/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain_support.h +++ b/rendering_api/vulkan/src/presentation_queue/vulkan_swapchain_support.h @@ -1,24 +1,24 @@ -#pragma once -#include "vulkan/vulkan.h" -#include "vulkan_swapchain.h" -#include "../output_device/vulkan_output_devices.h" +// #pragma once +// #include "vulkan/vulkan.h" +// #include "vulkan_swapchain.h" +// #include "../output_device/vulkan_output_devices.h" -struct vulkanSwapchainDetails { - VkSurfaceFormatKHR surfaceFormat; - VkPresentModeKHR presentMode; - VkExtent2D extent; +// struct vulkanSwapchainDetails { +// VkSurfaceFormatKHR surfaceFormat; +// VkPresentModeKHR presentMode; +// VkExtent2D extent; - SwapChainSupportDetails swapChainSupport; -}; +// SwapChainSupportDetails swapChainSupport; +// }; -static vulkanSwapchainDetails vulkanGetSwapchainDetails(gnVec2 size, const VkSurfaceKHR& surface, const VkPhysicalDevice& physicalDevice) { - SwapChainSupportDetails swapChainSupport = querySwapChainSupport(surface, physicalDevice); +// static vulkanSwapchainDetails vulkanGetSwapchainDetails(gnVec2 size, const VkSurfaceKHR& surface, const VkPhysicalDevice& physicalDevice) { +// SwapChainSupportDetails swapChainSupport = querySwapChainSupport(surface, physicalDevice); - VkSurfaceFormatKHR surfaceFormat = chooseSwapSurfaceFormat(swapChainSupport.formats); - VkPresentModeKHR presentMode = chooseSwapPresentMode(swapChainSupport.presentModes); - VkExtent2D extent = chooseSwapExtent(size, swapChainSupport.capabilities); +// VkSurfaceFormatKHR surfaceFormat = chooseSwapSurfaceFormat(swapChainSupport.formats); +// VkPresentModeKHR presentMode = chooseSwapPresentMode(swapChainSupport.presentModes); +// VkExtent2D extent = chooseSwapExtent(size, swapChainSupport.capabilities); - return { - surfaceFormat, presentMode, extent, swapChainSupport - }; -} +// return { +// surfaceFormat, presentMode, extent, swapChainSupport +// }; +// }