您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 

161 行
7.9 KiB

  1. unit VulkanUtils;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils,
  6. Vulkan,
  7. uvkuTypes, uvkuAllocationHandler, uvkuDebugReporter,
  8. uvkuInstance, uvkuInstanceFactory,
  9. uvkuPhysicalDevice, uvkuDevice, uvkuDeviceFactory, uvkuDeviceMemory, uvkuQueue,
  10. uvkuSurface, uvkuSurfaceFactory,
  11. uvkuSwapChain, uvkuSwapChainFactory,
  12. uvkuImage, uvkuImageFactory, uvkuImageView, uvkuImageViewFactory,
  13. uvkuBuffer, uvkuBufferFactory, uvkuBufferView, uvkuBufferViewFactory,
  14. uvkuCommandPool, uvkuCommandPoolFactory, uvkuCommandBuffer,
  15. uvkuRenderPass, uvkuRenderPassFactory,
  16. uvkuFrameBuffer, uvkuFrameBufferFactory,
  17. uvkuDescriptorSetLayout, uvkuDescriptorSetLayoutFactory,
  18. uvkuShaderModule, uvkuShaderModuleFactory,
  19. uvkuPipelineLayout, uvkuPipelineLayoutFactory, uvkuPipelineCache, uvkuPipelineCacheFactory, uvkuPipeline, uvkuPipelineFactory,
  20. uvkuDescriptorPool, uvkuDescriptorPoolFactory, uvkuDescriptorSet,
  21. uvkuSemaphore,
  22. uvkuUtils;
  23. type
  24. { Types }
  25. PVkCharArr = uvkuTypes.PVkCharArr;
  26. TVkPhysicalDeviceArr = uvkuTypes.TVkPhysicalDeviceArr;
  27. TVkQueueFamilyPropertiesArr = uvkuTypes.TVkQueueFamilyPropertiesArr;
  28. TVkSparseImageFormatPropertiesArr = uvkuTypes.TVkSparseImageFormatPropertiesArr;
  29. TVkSurfaceFormatArr = uvkuTypes.TVkSurfaceFormatArr;
  30. TVkPresentModeArr = uvkuTypes.TVkPresentModeArr;
  31. TVkDisplayPropertiesArr = uvkuTypes.TVkDisplayPropertiesArr;
  32. TVkDisplayPlanePropertiesArr = uvkuTypes.TVkDisplayPlanePropertiesArr;
  33. TVkDisplayArr = uvkuTypes.TVkDisplayArr;
  34. TVkDisplayModePropertiesArr = uvkuTypes.TVkDisplayModePropertiesArr;
  35. TVkImageArr = uvkuTypes.TVkImageArr;
  36. TVkCommandBufferArr = uvkuTypes.TVkCommandBufferArr;
  37. TVkDescriptorSetLayoutBindingArr = uvkuTypes.TVkDescriptorSetLayoutBindingArr;
  38. TVkDescriptorSetLayoutArr = uvkuTypes.TVkDescriptorSetLayoutArr;
  39. TVkPushConstantRangeArr = uvkuTypes.TVkPushConstantRangeArr;
  40. TVkPipelineShaderStageCreateInfoArr = uvkuTypes.TVkPipelineShaderStageCreateInfoArr;
  41. TVkPipelineVertexInputStateCreateInfoArr = uvkuTypes.TVkPipelineVertexInputStateCreateInfoArr;
  42. TVkAttachmentDescriptionArr = uvkuTypes.TVkAttachmentDescriptionArr;
  43. TVkSubpassDescriptionArr = uvkuTypes.TVkSubpassDescriptionArr;
  44. TVkSubpassDependencyArr = uvkuTypes.TVkSubpassDependencyArr;
  45. TVkAttachmentReferenceArr = uvkuTypes.TVkAttachmentReferenceArr;
  46. TVkMemoryBarrierArr = uvkuTypes.TVkMemoryBarrierArr;
  47. TVkBufferMemoryBarrierArr = uvkuTypes.TVkBufferMemoryBarrierArr;
  48. TVkImageMemoryBarrierArr = uvkuTypes.TVkImageMemoryBarrierArr;
  49. TVkUint32List = uvkuTypes.TVkUint32List;
  50. TVkFloatList = uvkuTypes.TVkFloatList;
  51. TVkImageViewList = uvkuTypes.TVkImageViewList;
  52. TVkSamplerList = uvkuTypes.TVkSamplerList;
  53. TVkDescriptorSetLayoutList = uvkuTypes.TVkDescriptorSetLayoutList;
  54. TvkuAllocationHandler = uvkuAllocationHandler.TvkuAllocationHandler;
  55. TvkuDebugReporter = uvkuDebugReporter.TvkuDebugReporter;
  56. TvkuConsoleDebugReporter = uvkuDebugReporter.TvkuConsoleDebugReporter;
  57. { Instance }
  58. TvkuInstance = uvkuInstance.TvkuInstance;
  59. TvkuInstanceFactory = uvkuInstanceFactory.TvkuInstanceFactory;
  60. { Device }
  61. TvkuPhysicalDevice = uvkuPhysicalDevice.TvkuPhysicalDevice;
  62. TvkuDevice = uvkuDevice.TvkuDevice;
  63. TvkuDeviceFactory = uvkuDeviceFactory.TvkuDeviceFactory;
  64. TvkuDeviceMemory = uvkuDeviceMemory.TvkuDeviceMemory;
  65. TvkuQueue = uvkuQueue.TvkuQueue;
  66. { Surface }
  67. TvkuSurface = uvkuSurface.TvkuSurface;
  68. TvkuSurfaceFactory = uvkuSurfaceFactory.TvkuSurfaceFactory;
  69. { SwapChain }
  70. TvkuSwapChain = uvkuSwapChain.TvkuSwapChain;
  71. TvkuSwapChainFactory = uvkuSwapChainFactory.TvkuSwapChainFactory;
  72. { Image }
  73. TvkuImage = uvkuImage.TvkuImage;
  74. TvkuImageFactory = uvkuImageFactory.TvkuImageFactory;
  75. TvkuImageView = uvkuImageView.TvkuImageView;
  76. TvkuImageViewFactory = uvkuImageViewFactory.TvkuImageViewFactory;
  77. { Buffer }
  78. TvkuBuffer = uvkuBuffer.TvkuBuffer;
  79. TvkuBufferFactory = uvkuBufferFactory.TvkuBufferFactory;
  80. TvkuBufferView = uvkuBufferView.TvkuBufferView;
  81. TvkuBufferViewFactory = uvkuBufferViewFactory.TvkuBufferViewFactory;
  82. { Commands }
  83. TvkuCommandPool = uvkuCommandPool.TvkuCommandPool;
  84. TvkuCommandPoolFactory = uvkuCommandPoolFactory.TvkuCommandPoolFactory;
  85. TvkuCommandBuffer = uvkuCommandBuffer.TvkuCommandBuffer;
  86. { RenderPass }
  87. TvkuRenderPass = uvkuRenderPass.TvkuRenderPass;
  88. TvkuRenderPassFactory = uvkuRenderPassFactory.TvkuRenderPassFactory;
  89. { FrameBuffer }
  90. TvkuFrameBuffer = uvkuFrameBuffer.TvkuFrameBuffer;
  91. TvkuFrameBufferFactory = uvkuFrameBufferFactory.TvkuFrameBufferFactory;
  92. { DescriptorSetLayout }
  93. TvkuDescriptorSetLayout = uvkuDescriptorSetLayout.TvkuDescriptorSetLayout;
  94. TvkuDescriptorSetLayoutFactory = uvkuDescriptorSetLayoutFactory.TvkuDescriptorSetLayoutFactory;
  95. { Shader Modules }
  96. TvkuShaderModule = uvkuShaderModule.TvkuShaderModule;
  97. TvkuShaderModuleFactory = uvkuShaderModuleFactory.TvkuShaderModuleFactory;
  98. { Pipeline }
  99. TvkuPipelineLayout = uvkuPipelineLayout.TvkuPipelineLayout;
  100. TvkuPipelineLayoutFactory = uvkuPipelineLayoutFactory.TvkuPipelineLayoutFactory;
  101. TvkuPipelineCache = uvkuPipelineCache.TvkuPipelineCache;
  102. TvkuPipelineCacheFactory = uvkuPipelineCacheFactory.TvkuPipelineCacheFactory;
  103. TvkuPipeline = uvkuPipeline.TvkuPipeline;
  104. TvkuGraphicsPipeline = uvkuPipeline.TvkuGraphicsPipeline;
  105. TvkuGraphicsPipelineFactory = uvkuPipelineFactory.TvkuGraphicsPipelineFactory;
  106. TvkuComputePipeline = uvkuPipeline.TvkuComputePipeline;
  107. TvkuComputePipelineFactory = uvkuPipelineFactory.TvkuComputePipelineFactory;
  108. { DescriptorPool }
  109. TvkuDescriptorPool = uvkuDescriptorPool.TvkuDescriptorPool;
  110. TvkuDescriptorPoolFactory = uvkuDescriptorPoolFactory.TvkuDescriptorPoolFactory;
  111. TvkuDescriptorSet = uvkuDescriptorSet.TvkuDescriptorSet;
  112. { Semaphore }
  113. TvkuSemaphore = uvkuSemaphore.TvkuSemaphore;
  114. { Utils }
  115. TvkuException = uvkuUtils.TvkuException;
  116. TvkuErrorException = uvkuUtils.TvkuErrorException;
  117. TvkuInvalidFuncPtrException = uvkuUtils.TvkuInvalidFuncPtrException;
  118. function vkExtent2D(const X, Y: VkUint32): TVkExtent2D;
  119. function vkExtent3D(const X, Y, Z: VkUint32): TVkExtent3D;
  120. implementation
  121. function vkExtent2D(const X, Y: VkUint32): TVkExtent2D;
  122. begin
  123. result.width := x;
  124. result.height := y;
  125. end;
  126. function vkExtent3D(const X, Y, Z: VkUint32): TVkExtent3D;
  127. begin
  128. result.width := x;
  129. result.height := y;
  130. result.depth := z;
  131. end;
  132. end.