Aeon Engine c550894
AeonGames Open Source Game Engine
Loading...
Searching...
No Matches
VulkanUtilities.hpp
1/*
2Copyright (C) 2017-2019,2021,2023,2025,2026 Rodrigo Jose Hernandez Cordoba
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16#ifndef AEONGAMES_VULKANUTILITIES_HPP
17#define AEONGAMES_VULKANUTILITIES_HPP
18#include "vulkan/vulkan.h"
19#ifdef Status
20#undef Status
21#endif
22#include "aeongames/Pipeline.hpp"
23namespace AeonGames
24{
25 static_assert ( VK_SUCCESS == 0, "VK_SUCCESS is NOT zero!" );
26 const char* GetVulkanResultString ( VkResult aResult );
27 VKAPI_ATTR VkBool32 VKAPI_CALL
29 (
30 VkDebugUtilsMessageSeverityFlagBitsEXT aMessageSeverity,
31 VkDebugUtilsMessageTypeFlagsEXT aMessageTypes,
32 const VkDebugUtilsMessengerCallbackDataEXT* aCallbackData,
33 void* aUserData
34 );
35
36 VkDescriptorPool CreateDescriptorPool ( const VkDevice& aVkDevice, const std::vector<VkDescriptorPoolSize>& aVkDescriptorPoolSizes );
37 void DestroyDescriptorPool ( const VkDevice& aVkDevice, VkDescriptorPool aVkDescriptorPool );
38 VkDescriptorSet CreateDescriptorSet ( const VkDevice& aVkDevice, const VkDescriptorPool& aVkDescriptorPool, const VkDescriptorSetLayout& aVkDescriptorSetLayout, uint32_t aDescriptorSetCount = 1 );
39}
40#endif
<- This is here just for the literals
Definition AABB.hpp:31
VKAPI_ATTR VkBool32 VKAPI_CALL DebugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT aMessageSeverity, VkDebugUtilsMessageTypeFlagsEXT aMessageTypes, const VkDebugUtilsMessengerCallbackDataEXT *aCallbackData, void *aUserData)
Vulkan debug messenger callback.
VkDescriptorPool CreateDescriptorPool(const VkDevice &aVkDevice, const std::vector< VkDescriptorPoolSize > &aVkDescriptorPoolSizes)
Create a Vulkan descriptor pool from the given pool sizes.
void DestroyDescriptorPool(const VkDevice &aVkDevice, VkDescriptorPool aVkDescriptorPool)
Destroy a Vulkan descriptor pool.
const char * GetVulkanResultString(VkResult aResult)
Convert a VkResult code to a human-readable string.
VkDescriptorSet CreateDescriptorSet(const VkDevice &aVkDevice, const VkDescriptorPool &aVkDescriptorPool, const VkDescriptorSetLayout &aVkDescriptorSetLayout, uint32_t aDescriptorSetCount)
Allocate a Vulkan descriptor set from the given pool and layout.