|
- unit VulkanUtils;
-
- {$mode objfpc}{$H+}
-
- interface
-
- uses
- Classes, SysUtils,
- Vulkan,
- uvkuTypes, uvkuAllocationHandler, uvkuDebugReporter,
- uvkuInstance, uvkuInstanceFactory,
- uvkuPhysicalDevice, uvkuDevice, uvkuDeviceFactory, uvkuDeviceMemory, uvkuQueue,
- uvkuSurface, uvkuSurfaceFactory,
- uvkuSwapChain, uvkuSwapChainFactory,
- uvkuImage, uvkuImageFactory, uvkuImageView, uvkuImageViewFactory,
- uvkuBuffer, uvkuBufferFactory, uvkuBufferView, uvkuBufferViewFactory,
- uvkuCommandPool, uvkuCommandPoolFactory, uvkuCommandBuffer,
- uvkuRenderPass, uvkuRenderPassFactory,
- uvkuFrameBuffer, uvkuFrameBufferFactory,
- uvkuDescriptorSetLayout, uvkuDescriptorSetLayoutFactory,
- uvkuShaderModule, uvkuShaderModuleFactory,
- uvkuPipelineLayout, uvkuPipelineLayoutFactory, uvkuPipelineCache, uvkuPipelineCacheFactory, uvkuPipeline, uvkuPipelineFactory,
- uvkuDescriptorPool, uvkuDescriptorPoolFactory, uvkuDescriptorSet,
- uvkuSemaphore,
- uvkuUtils;
-
- type
- { Types }
- PVkCharArr = uvkuTypes.PVkCharArr;
- TVkPhysicalDeviceArr = uvkuTypes.TVkPhysicalDeviceArr;
- TVkQueueFamilyPropertiesArr = uvkuTypes.TVkQueueFamilyPropertiesArr;
- TVkSparseImageFormatPropertiesArr = uvkuTypes.TVkSparseImageFormatPropertiesArr;
- TVkSurfaceFormatArr = uvkuTypes.TVkSurfaceFormatArr;
- TVkPresentModeArr = uvkuTypes.TVkPresentModeArr;
- TVkDisplayPropertiesArr = uvkuTypes.TVkDisplayPropertiesArr;
- TVkDisplayPlanePropertiesArr = uvkuTypes.TVkDisplayPlanePropertiesArr;
- TVkDisplayArr = uvkuTypes.TVkDisplayArr;
- TVkDisplayModePropertiesArr = uvkuTypes.TVkDisplayModePropertiesArr;
- TVkImageArr = uvkuTypes.TVkImageArr;
- TVkCommandBufferArr = uvkuTypes.TVkCommandBufferArr;
- TVkDescriptorSetLayoutBindingArr = uvkuTypes.TVkDescriptorSetLayoutBindingArr;
- TVkDescriptorSetLayoutArr = uvkuTypes.TVkDescriptorSetLayoutArr;
- TVkPushConstantRangeArr = uvkuTypes.TVkPushConstantRangeArr;
- TVkPipelineShaderStageCreateInfoArr = uvkuTypes.TVkPipelineShaderStageCreateInfoArr;
- TVkPipelineVertexInputStateCreateInfoArr = uvkuTypes.TVkPipelineVertexInputStateCreateInfoArr;
- TVkAttachmentDescriptionArr = uvkuTypes.TVkAttachmentDescriptionArr;
- TVkSubpassDescriptionArr = uvkuTypes.TVkSubpassDescriptionArr;
- TVkSubpassDependencyArr = uvkuTypes.TVkSubpassDependencyArr;
- TVkAttachmentReferenceArr = uvkuTypes.TVkAttachmentReferenceArr;
- TVkMemoryBarrierArr = uvkuTypes.TVkMemoryBarrierArr;
- TVkBufferMemoryBarrierArr = uvkuTypes.TVkBufferMemoryBarrierArr;
- TVkImageMemoryBarrierArr = uvkuTypes.TVkImageMemoryBarrierArr;
-
- TVkUint32List = uvkuTypes.TVkUint32List;
- TVkFloatList = uvkuTypes.TVkFloatList;
- TVkImageViewList = uvkuTypes.TVkImageViewList;
- TVkSamplerList = uvkuTypes.TVkSamplerList;
- TVkDescriptorSetLayoutList = uvkuTypes.TVkDescriptorSetLayoutList;
-
- TvkuAllocationHandler = uvkuAllocationHandler.TvkuAllocationHandler;
-
- TvkuDebugReporter = uvkuDebugReporter.TvkuDebugReporter;
- TvkuConsoleDebugReporter = uvkuDebugReporter.TvkuConsoleDebugReporter;
-
- { Instance }
- TvkuInstance = uvkuInstance.TvkuInstance;
- TvkuInstanceFactory = uvkuInstanceFactory.TvkuInstanceFactory;
-
- { Device }
- TvkuPhysicalDevice = uvkuPhysicalDevice.TvkuPhysicalDevice;
- TvkuDevice = uvkuDevice.TvkuDevice;
- TvkuDeviceFactory = uvkuDeviceFactory.TvkuDeviceFactory;
- TvkuDeviceMemory = uvkuDeviceMemory.TvkuDeviceMemory;
- TvkuQueue = uvkuQueue.TvkuQueue;
-
- { Surface }
- TvkuSurface = uvkuSurface.TvkuSurface;
- TvkuSurfaceFactory = uvkuSurfaceFactory.TvkuSurfaceFactory;
-
- { SwapChain }
- TvkuSwapChain = uvkuSwapChain.TvkuSwapChain;
- TvkuSwapChainFactory = uvkuSwapChainFactory.TvkuSwapChainFactory;
-
- { Image }
- TvkuImage = uvkuImage.TvkuImage;
- TvkuImageFactory = uvkuImageFactory.TvkuImageFactory;
- TvkuImageView = uvkuImageView.TvkuImageView;
- TvkuImageViewFactory = uvkuImageViewFactory.TvkuImageViewFactory;
-
- { Buffer }
- TvkuBuffer = uvkuBuffer.TvkuBuffer;
- TvkuBufferFactory = uvkuBufferFactory.TvkuBufferFactory;
- TvkuBufferView = uvkuBufferView.TvkuBufferView;
- TvkuBufferViewFactory = uvkuBufferViewFactory.TvkuBufferViewFactory;
-
- { Commands }
- TvkuCommandPool = uvkuCommandPool.TvkuCommandPool;
- TvkuCommandPoolFactory = uvkuCommandPoolFactory.TvkuCommandPoolFactory;
- TvkuCommandBuffer = uvkuCommandBuffer.TvkuCommandBuffer;
-
- { RenderPass }
- TvkuRenderPass = uvkuRenderPass.TvkuRenderPass;
- TvkuRenderPassFactory = uvkuRenderPassFactory.TvkuRenderPassFactory;
-
- { FrameBuffer }
- TvkuFrameBuffer = uvkuFrameBuffer.TvkuFrameBuffer;
- TvkuFrameBufferFactory = uvkuFrameBufferFactory.TvkuFrameBufferFactory;
-
- { DescriptorSetLayout }
- TvkuDescriptorSetLayout = uvkuDescriptorSetLayout.TvkuDescriptorSetLayout;
- TvkuDescriptorSetLayoutFactory = uvkuDescriptorSetLayoutFactory.TvkuDescriptorSetLayoutFactory;
-
- { Shader Modules }
- TvkuShaderModule = uvkuShaderModule.TvkuShaderModule;
- TvkuShaderModuleFactory = uvkuShaderModuleFactory.TvkuShaderModuleFactory;
-
- { Pipeline }
- TvkuPipelineLayout = uvkuPipelineLayout.TvkuPipelineLayout;
- TvkuPipelineLayoutFactory = uvkuPipelineLayoutFactory.TvkuPipelineLayoutFactory;
- TvkuPipelineCache = uvkuPipelineCache.TvkuPipelineCache;
- TvkuPipelineCacheFactory = uvkuPipelineCacheFactory.TvkuPipelineCacheFactory;
- TvkuPipeline = uvkuPipeline.TvkuPipeline;
- TvkuGraphicsPipeline = uvkuPipeline.TvkuGraphicsPipeline;
- TvkuGraphicsPipelineFactory = uvkuPipelineFactory.TvkuGraphicsPipelineFactory;
- TvkuComputePipeline = uvkuPipeline.TvkuComputePipeline;
- TvkuComputePipelineFactory = uvkuPipelineFactory.TvkuComputePipelineFactory;
-
- { DescriptorPool }
- TvkuDescriptorPool = uvkuDescriptorPool.TvkuDescriptorPool;
- TvkuDescriptorPoolFactory = uvkuDescriptorPoolFactory.TvkuDescriptorPoolFactory;
- TvkuDescriptorSet = uvkuDescriptorSet.TvkuDescriptorSet;
-
- { Semaphore }
- TvkuSemaphore = uvkuSemaphore.TvkuSemaphore;
-
- { Utils }
- TvkuException = uvkuUtils.TvkuException;
- TvkuErrorException = uvkuUtils.TvkuErrorException;
- TvkuInvalidFuncPtrException = uvkuUtils.TvkuInvalidFuncPtrException;
-
- function vkExtent2D(const X, Y: VkUint32): TVkExtent2D;
- function vkExtent3D(const X, Y, Z: VkUint32): TVkExtent3D;
-
- implementation
-
- function vkExtent2D(const X, Y: VkUint32): TVkExtent2D;
- begin
- result.width := x;
- result.height := y;
- end;
-
- function vkExtent3D(const X, Y, Z: VkUint32): TVkExtent3D;
- begin
- result.width := x;
- result.height := y;
- result.depth := z;
- end;
-
- end.
|