Changes in vulkan-utils.hpp [e8445f0:5049354] in opengl-game
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vulkan-utils.hpp
re8445f0 r5049354 39 39 40 40 static VkResult createDebugUtilsMessengerEXT(VkInstance instance, 41 42 43 41 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 42 const VkAllocationCallbacks* pAllocator, 43 VkDebugUtilsMessengerEXT* pDebugMessenger); 44 44 45 45 static void destroyDebugUtilsMessengerEXT(VkInstance instance, 46 47 46 VkDebugUtilsMessengerEXT debugMessenger, 47 const VkAllocationCallbacks* pAllocator); 48 48 49 49 static QueueFamilyIndices findQueueFamilies(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface); 50 50 static bool checkDeviceExtensionSupport(VkPhysicalDevice physicalDevice, 51 51 const vector<const char*>& deviceExtensions); 52 52 static VkSurfaceCapabilitiesKHR querySwapChainCapabilities(VkPhysicalDevice physicalDevice, 53 53 VkSurfaceKHR surface); 54 54 static vector<VkSurfaceFormatKHR> querySwapChainFormats(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface); 55 55 static vector<VkPresentModeKHR> querySwapChainPresentModes(VkPhysicalDevice physicalDevice, 56 56 VkSurfaceKHR surface); 57 57 static VkSurfaceFormatKHR chooseSwapSurfaceFormat(const vector<VkSurfaceFormatKHR>& availableFormats, 58 58 const vector<VkFormat>& requestedFormats, VkColorSpaceKHR requestedColorSpace); 59 59 static VkPresentModeKHR chooseSwapPresentMode(const vector<VkPresentModeKHR>& availablePresentModes, 60 60 const vector<VkPresentModeKHR>& requestedPresentModes); 61 61 static VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities, int width, int height); 62 62 static VkImageView createImageView(VkDevice device, VkImage image, VkFormat format, 63 63 VkImageAspectFlags aspectFlags); 64 64 static VkFormat findSupportedFormat(VkPhysicalDevice physicalDevice, const vector<VkFormat>& candidates, 65 65 VkImageTiling tiling, VkFormatFeatureFlags features); 66 66 static void createBuffer(VkDevice device, VkPhysicalDevice physicalDevice, VkDeviceSize size, 67 68 67 VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, 68 VkDeviceMemory& bufferMemory); 69 69 static uint32_t findMemoryType(VkPhysicalDevice physicalDevice, uint32_t typeFilter, 70 70 VkMemoryPropertyFlags properties); 71 71 72 72 static void createVulkanImageFromFile(VkDevice device, VkPhysicalDevice physicalDevice, 73 VkCommandPool commandPool, string filename, VulkanImage& image, 74 VkQueue graphicsQueue); 73 VkCommandPool commandPool, string filename, VulkanImage& image, VkQueue graphicsQueue); 75 74 static void createVulkanImageFromSDLTexture(VkDevice device, VkPhysicalDevice physicalDevice, 76 75 SDL_Texture* texture, VulkanImage& image); 77 76 static void populateVulkanImageFromSDLTexture(VkDevice device, VkPhysicalDevice physicalDevice, 78 VkCommandPool commandPool, SDL_Texture* texture,79 SDL_Renderer* renderer, VulkanImage& image,VkQueue graphicsQueue);77 VkCommandPool commandPool, SDL_Texture* texture, SDL_Renderer* renderer, VulkanImage& image, 78 VkQueue graphicsQueue); 80 79 static void createDepthImage(VkDevice device, VkPhysicalDevice physicalDevice, VkCommandPool commandPool, 81 80 VkFormat depthFormat, VkExtent2D extent, VulkanImage& image, VkQueue graphicsQueue); 82 81 static void createImage(VkDevice device, VkPhysicalDevice physicalDevice, uint32_t width, uint32_t height, 83 VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage,84 VkMemoryPropertyFlags properties,VulkanImage& image);82 VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, 83 VulkanImage& image); 85 84 86 85 static void transitionImageLayout(VkDevice device, VkCommandPool commandPool, VkImage image, 87 VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, 88 VkQueue graphicsQueue); 86 VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, VkQueue graphicsQueue); 89 87 static VkCommandBuffer beginSingleTimeCommands(VkDevice device, VkCommandPool commandPool); 90 88 static void endSingleTimeCommands(VkDevice device, VkCommandPool commandPool, 91 89 VkCommandBuffer commandBuffer, VkQueue graphicsQueue); 92 90 static void copyBufferToImage(VkDevice device, VkCommandPool commandPool, VkBuffer buffer, VkImage image, 93 91 uint32_t width, uint32_t height, VkQueue graphicsQueue); 94 92 95 93 template<class DataType> 96 94 static void copyDataToBuffer(VkDevice device, VkPhysicalDevice physicalDevice, VkCommandPool commandPool, 97 const vector<DataType>& srcData, VkBuffer dstBuffer, size_t dstVertexOffset, 98 VkQueue graphicsQueue); 95 const vector<DataType>& srcData, VkBuffer dstBuffer, size_t dstVertexOffset, VkQueue graphicsQueue); 99 96 100 97 static void copyBuffer(VkDevice device, VkCommandPool commandPool, VkBuffer srcBuffer, VkBuffer dstBuffer, 101 VkDeviceSize srcOffset, VkDeviceSize dstOffset, VkDeviceSize size, 102 VkQueue graphicsQueue); 98 VkDeviceSize srcOffset, VkDeviceSize dstOffset, VkDeviceSize size, VkQueue graphicsQueue); 103 99 104 100 template<class DataType> 105 static void copyDataToMemory(VkDevice device, const DataType& srcData, VkDeviceMemory bufferMemory, 106 VkDeviceSize offset); 107 108 template<class DataType> 109 static void copyDataToMemory(VkDevice device, const DataType& srcData, VkDeviceMemory bufferMemory, 110 VkDeviceSize offset, VkDeviceSize size); 101 static void copyDataToMemory(VkDevice device, VkDeviceMemory bufferMemory, VkDeviceSize offset, 102 const DataType& srcData); 111 103 112 104 static bool hasStencilComponent(VkFormat format); … … 139 131 140 132 template<class DataType> 141 void VulkanUtils::copyDataToMemory(VkDevice device, const DataType& srcData, VkDeviceMemory bufferMemory, 142 VkDeviceSize offset) { 143 copyDataToMemory(device, srcData, bufferMemory, offset, sizeof(DataType)); 144 } 145 146 template<class DataType> 147 void VulkanUtils::copyDataToMemory(VkDevice device, const DataType& srcData, VkDeviceMemory bufferMemory, 148 VkDeviceSize offset, VkDeviceSize size) { 133 void VulkanUtils::copyDataToMemory(VkDevice device, VkDeviceMemory bufferMemory, VkDeviceSize offset, 134 const DataType& srcData) { 149 135 void* data; 150 136 151 vkMapMemory(device, bufferMemory, offset, size , 0, &data);152 memcpy(data, &srcData, size );137 vkMapMemory(device, bufferMemory, offset, sizeof(DataType), 0, &data); 138 memcpy(data, &srcData, sizeof(DataType)); 153 139 vkUnmapMemory(device, bufferMemory); 154 140 } 155 141 156 // TODO: Use this in vulkan-utils itself as well157 142 #define VKUTIL_CHECK_RESULT(f, msg) { \ 158 143 VkResult res = (f); \
Note:
See TracChangeset
for help on using the changeset viewer.