60 [[nodiscard]] uint32_t
findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties)
const;
64 [[nodiscard]] VkFormat
findSupportedFormat(
const std::vector<VkFormat> &candidates, VkImageTiling tiling, VkFormatFeatureFlags features)
const;
69 void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer &buffer, VkDeviceMemory &bufferMemory)
const;
72 void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size)
const;
73 void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height, uint32_t layerCount)
const;
75 void createImageWithInfo(
const VkImageCreateInfo &imageInfo, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory)
const;
76 void transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels = 1, uint32_t layerCount = 1)
const;
This file contains the Window class.
VkInstance getInstance() const
void transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels=1, uint32_t layerCount=1) const
void endSingleTimeCommands(VkCommandBuffer commandBuffer) const
SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device) const
VkPhysicalDevice getPhysicalDevice() const
const bool enableValidationLayers
VkQueue graphicsQueue() const
bool checkValidationLayerSupport() const
void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer &buffer, VkDeviceMemory &bufferMemory) const
void setupDebugMessenger()
VkPhysicalDeviceProperties m_properties
void pickPhysicalDevice()
VkCommandPool m_commandPool
QueueFamilyIndices findPhysicalQueueFamilies() const
VkDebugUtilsMessengerEXT m_debugMessenger
bool checkDeviceExtensionSupport(VkPhysicalDevice device) const
VkCommandPool getCommandPool() const
void createLogicalDevice()
Device & operator=(Device &&)=delete
void createImageWithInfo(const VkImageCreateInfo &imageInfo, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory) const
VkPhysicalDeviceProperties getProperties() const
QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) const
VkCommandBuffer beginSingleTimeCommands() const
Device(const Device &)=delete
const std::vector< const char * > m_deviceExtensions
void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) const
VkQueue presentQueue() const
bool isDeviceSuitable(VkPhysicalDevice device) const
VkSurfaceKHR surface() const
Device & operator=(const Device &)=delete
VkQueue getGraphicsQueue() const
uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) const
std::vector< const char * > getRequiredExtensions() const
const std::vector< const char * > m_validationLayers
void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height, uint32_t layerCount) const
static void populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT &createInfo)
void hasGlfwRequiredInstanceExtensions() const
VkPhysicalDevice m_physicalDevice
VkFormat findSupportedFormat(const std::vector< VkFormat > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features) const
SwapChainSupportDetails getSwapChainSupport() const
void createWindowSurface(VkInstance instance, VkSurfaceKHR *surface) const
bool presentFamilyHasValue
bool graphicsFamilyHasValue
std::vector< VkPresentModeKHR > presentModes
VkSurfaceCapabilitiesKHR capabilities
std::vector< VkSurfaceFormatKHR > formats