54 [[nodiscard]] uint32_t
findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags propertiesp)
const;
56 [[nodiscard]] VkFormat
findSupportedFormat(
const std::vector<VkFormat> &candidates, VkImageTiling tiling, VkFormatFeatureFlags features)
const;
59 void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags propertiesp, VkBuffer &buffer, VkDeviceMemory &bufferMemory)
const;
62 void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size)
const;
63 void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height, uint32_t layerCount)
const;
65 void createImageWithInfo(
const VkImageCreateInfo &imageInfo, VkMemoryPropertyFlags properties, VkImage &image, VkDeviceMemory &imageMemory)
const;
This file contains the Window class.
const std::vector< const char * > validationLayers
VkDebugUtilsMessengerEXT debugMessenger
void endSingleTimeCommands(VkCommandBuffer commandBuffer) const
SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device) const
VkPhysicalDevice getPhysicalDevice() const
const bool enableValidationLayers
VkPhysicalDevice physicalDevice
VkQueue graphicsQueue() const
bool checkValidationLayerSupport() const
void setupDebugMessenger()
VkPhysicalDeviceProperties m_properties
uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags propertiesp) const
void pickPhysicalDevice()
QueueFamilyIndices findPhysicalQueueFamilies() const
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
QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) const
VkCommandBuffer beginSingleTimeCommands() const
Device(const Device &)=delete
VkCommandPool commandPool
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
const std::vector< const char * > deviceExtensions
std::vector< const char * > getRequiredExtensions() const
void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height, uint32_t layerCount) const
static void populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT &createInfo)
void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags propertiesp, VkBuffer &buffer, VkDeviceMemory &bufferMemory) const
void hasGlfwRequiredInstanceExtensions() const
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