Vulkan |
The VulkanDevice type exposes the following members.
Name | Description | |
---|---|---|
AllocateMemory(Buffer, MemoryPropertyFlags, Boolean, String) | ||
AllocateMemory(Image, MemoryPropertyFlags, Boolean, String) | ||
AllocateMemory(MemoryRequirements, MemoryPropertyFlags, Boolean, Boolean, String) | ||
AllocateMemory(UInt32, UInt32, Int32, Boolean, Boolean, String) | ||
AllocateShaderSpecializationInfoT(T, Int32, String) | ||
AllocateShaderSpecializationInfoT(T, Int32, String) | ||
BeginGraphicsCommands | ||
BeginStagingCommands | ||
CacheObject | CacheObject sets the specified objectToCache to the specified key in the dictionary used by this VulkanDevice. The cached object can be retrieved by GetCachedObjectT(String) or removed by RemoveCachedObject(String) method. This method is thread safe and can be called from any thread. | |
CalculateMipLevelsCount | ||
CheckDeviceMinimumRequirements(VulkanInstance, PhysicalDevice, Boolean) | Returns true if the specified physicalDevice is supported to run Ab4d.SharpEngine. | |
CheckDeviceMinimumRequirements(PhysicalDeviceDetails, SurfaceDetails, Boolean, Boolean) | Returns true if the physicalDevice (specified in physicalDeviceDetails) is supported to run SharpEngine. When isSurfaceSupportRequired is true, then also the vulkanSurface is checked. | |
CheckDeviceMinimumRequirements(VulkanInstance, PhysicalDevice, SurfaceKHR, Boolean, Boolean) | Returns true if the specified physicalDevice is supported to run Ab4d.SharpEngine. When isSurfaceSupportRequired is true, then also the vulkanSurface is checked. | |
CheckIsOnMainThread | CheckIsOnMainThread method thrown an exception when the current thread is not main thread. | |
CopyBuffer | ||
CopyDataToGpuImage(GpuImage, GpuBuffer, Boolean, ImageLayout, AccessFlags, PipelineStageFlags) | ||
CopyDataToGpuImage(GpuImage, Int32, Int32, Int32, DeviceMemory, Int32, Byte, ImageLayout, AccessFlags, PipelineStageFlags) | ||
CopyDataToGpuImage(Image, Int32, Int32, Int32, AccessFlags, ImageLayout, PipelineStageFlags, DeviceMemory, Int32, Byte, ImageLayout, AccessFlags, PipelineStageFlags) | ||
CopyDataToImage | ||
CopyGpuImage | ||
CopyImage(Image, ImageLayout, AccessFlags, PipelineStageFlags, Image, Int32, Int32, AccessFlags, ImageLayout, PipelineStageFlags, Boolean, ImageLayout, NullableSemaphore, NullableSemaphore) | ||
CopyImage(Image, ImageLayout, AccessFlags, PipelineStageFlags, Image, ImageCopy, ImageLayout, AccessFlags, PipelineStageFlags, Boolean, ImageLayout, AccessFlags, PipelineStageFlags, NullableSemaphore, NullableSemaphore) | ||
CopyToGpuImage | ||
Create(ActionEngineCreateOptions, String) | Creates an instance of VulkanDevice by using an action that defines the EngineCreateOptions. This method will also create a VulkanInstance if it was not created before. | |
Create(EngineCreateOptions, String) | Creates an instance of VulkanDevice. Optionally the EngineCreateOptions can be used to specify the creation options. This method will also create a VulkanInstance if it was not created before. | |
Create(SurfaceKHR, EngineCreateOptions, String) | Creates an instance of VulkanDevice that will use the Vulkan surface that is defined by the SurfaceKHR. Optionally the EngineCreateOptions can be used to specify the creation options. This method will also create a VulkanInstance if it was not created before. | |
Create(SurfaceKHR, ActionEngineCreateOptions, String) | Creates an instance of VulkanDevice that will use the Vulkan surface that is defined by the SurfaceKHR and will configure the EngineCreateOptions by using the specified configure action. This method will also create a VulkanInstance if it was not created before. | |
Create(VulkanSurfaceProvider, EngineCreateOptions, String) | Creates an instance of VulkanDevice that will use the Vulkan surface that is defined by the VulkanSurfaceProvider. Optionally the EngineCreateOptions can be used to specify the creation options. This method will also create a VulkanInstance if it was not created before. | |
Create(VulkanSurfaceProvider, ActionEngineCreateOptions, String) | Creates an instance of VulkanDevice that will use the Vulkan surface that is defined by the VulkanSurfaceProvider and will configure the EngineCreateOptions by using the specified configure action. This method will also create a VulkanInstance if it was not created before. | |
Create(VulkanInstance, PhysicalDeviceDetails, EngineCreateOptions, SurfaceKHR, String) | Creates a new VulkanDevice with specified VulkanInstance, PhysicalDeviceDetails, EngineCreateOptions and optional surface and name. | |
Create(VulkanInstance, PhysicalDevice, EngineCreateOptions, SurfaceKHR, String) | Creates a new VulkanDevice with specified VulkanInstance, PhysicalDevice, EngineCreateOptions and optional surface and name. | |
CreateBufferT(Span, Void, T, BufferCreateInfo) | ||
CreateBufferT(T, BufferUsageFlags, Boolean, String) | ||
CreateBufferT(T, BufferUsageFlags, QueueFlags, MemoryPropertyFlags, String) | ||
CreateBufferT(T, BufferUsageFlags, Boolean, Boolean, String) | ||
CreateBuffers(Int32, Int32, BufferUsageFlags, Type, Int32, String) | ||
CreateBuffers(Int32, Int32, BufferUsageFlags, Type, Int32, Boolean, String) | ||
CreateCommandBuffers | ||
CreateCommandPool | ||
CreateDescriptorPool(DescriptorType, Int32, Boolean, String) | ||
CreateDescriptorPool(DescriptorType, Int32, Boolean, String) | ||
CreateDescriptorPool(DescriptorType, Int32, Boolean, String) | ||
CreateDescriptorSetLayout(DescriptorType, ShaderStageFlags, String) | ||
CreateDescriptorSetLayout(DescriptorType, ShaderStageFlags, Int32, String) | ||
CreateDescriptorSetLayout(DescriptorType, ShaderStageFlags, Int32, String) | ||
CreateDescriptorSets | ||
CreateDynamicUniformBuffers | ||
CreateFence | ||
CreateFrameBuffers(ImageView, ImageView, Int32, Int32, RenderPass, String) | ||
CreateFrameBuffers(ImageView, ImageView, Int32, Int32, RenderPass, Framebuffer, String) | ||
CreateGraphicsCommandPool | ||
CreateImageViews(Image, Format, ImageAspectFlags, String) | ||
CreateImageViews(Image, Format, ImageView, ImageAspectFlags, String) | ||
CreateMultiSampledFrameBuffers | ||
CreateMultiSampledRenderPass | ||
CreatePipelineLayout(DescriptorSetLayout, PushConstantRange, String) | ||
CreatePipelineLayout(DescriptorSetLayout, Int32, Int32, String) | ||
CreateSampler | ||
CreateSemaphore | ||
CreateStandardRenderPass | ||
CreateSwapChain | ||
CreateSwapChainImages(SwapchainKHR, String) | ||
CreateSwapChainImages(SwapchainKHR, Image, String) | ||
CreateUniformBuffers | ||
Dispose | Dispose | |
Dispose(Boolean) |
Dispose
(Overrides ComponentBaseDispose(Boolean)) | |
DisposeVulkanResourceOnMainThreadAfterFrameRendered | DisposeVulkanResourceOnMainThreadAfterFrameRendered method disposes the Vulkan resources with the specified type and handle on the main thread and after the rendering of the current frame is complete and the GPU resources for that frame are no longer used. If this is called on the main thread and if the current frame is already fully rendered (for example after calling WaitUntilIdle, then the specified Vulkan resource is immediately disposed. This method can be called from any thread. | |
DumpMemoryReport | Writes string that contains details memory usage of this device. | |
DumpResources | Writes string that contains details tracked resources (objected derived from ComponentBase) to the console (when the application is debugged in Visual Studio the result is written to Output window or Immediate Window if started from there; in Rider the result is written to Debug Output window). To get a meaningful result, enable tracking resource on application startup. This can be done by setting static ComponentBase.ResourcesTracker.IsTrackingResources to true. | |
DumpResourcesForDelayedDisposal | Writes string that contains details about resources that are scheduled to be disposed when the background rendering of frames is completed. | |
EndGraphicsCommands(Boolean, Boolean) | ||
EndGraphicsCommands(Semaphore, Semaphore) | ||
EndStagingCommands | ||
ExecuteOnMainThread | ExecuteOnMainThread executes the specified action on the main thread (the same thread the VulkanDevice was created on). If this is called on the main thread, then the action is immediately executed, otherwise the action is saved and it will be executed when the RunAllUpdateActions method will be called (usually at the beginning of the update render phase). This method can be called from any thread. | |
ExecuteOnMainThreadAfterFrameRendered | ExecuteOnMainThreadAfterFrameRendered executes the specified action on the main thread (the same thread the VulkanDevice was created on) and after the rendering of the current frame is complete and the GPU resources for that frame are no longer used. If this is called on the main thread and if the current frame is already fully rendered (for example after calling WaitUntilIdle, then the action is immediately executed, otherwise the action is saved and it will be executed when on the main thread and after the frame is rendered. This method can be called from any thread. | |
FreeMemory | ||
GetCachedObjectT | GetCachedObject gets the object that was previously stored by the to CacheObject(String, Object) method. If the key is not found a default value of T (null for reference types) is returned. This method is thread safe and can be called from any thread. | |
GetCachedObjectsReportString | Returns a string that shows which objects are cached by this VulkanDevice. | |
GetMemoryReportString | Gets a string that contains details memory usage of this device. | |
GetPipelineCache | ||
GetPreTransform | ||
GetResourcesForDelayedDisposalString | ||
GetResourcesReportString | Gets a string with report of tracked resources (objected derived from ComponentBase). To get a meaningful result, enable tracking resource on application startup. This can be done by setting static ComponentBase.ResourcesTracker.IsTrackingResources to true. | |
GetSupportedDepthStencilFormat | ||
GetVulkanFormat | ||
InsertImageMemoryBarrier(CommandBuffer, GpuImage, AccessFlags, ImageLayout, PipelineStageFlags, Int32, Int32) | ||
InsertImageMemoryBarrier(CommandBuffer, Image, AccessFlags, AccessFlags, ImageLayout, ImageLayout, PipelineStageFlags, PipelineStageFlags) | ||
InsertImageMemoryBarrier(CommandBuffer, Image, AccessFlags, AccessFlags, ImageLayout, ImageLayout, PipelineStageFlags, PipelineStageFlags, ImageSubresourceRange) | ||
InsertImageMemoryBarrier(CommandBuffer, Image, AccessFlags, AccessFlags, ImageLayout, ImageLayout, PipelineStageFlags, PipelineStageFlags, Int32, Int32) | ||
IsOnMainThread | Returns true if the current thread is the same as the thread that was used to create this VulkanDevice. | |
MapMemoryT | ||
MultiPassDataCopyWithStagingT | ||
ReadDataWithStagingT | ||
ReleaseShaderSpecializationInfo | ||
RemoveCachedObject | RemoveCachedObject removes the specified key from the dictionary used by this VulkanDevice. This method is thread safe and can be called from any thread. | |
RunAllUpdateActions | RunAllUpdateActions executes all the actions that were added by the ExecuteOnMainThread(Action) method. | |
SetupRequestedDeviceFeatures | ||
TransitionImageToShaderReadOnlyOptimalLayout | ||
UnmapMemory | ||
UpdateDescriptorSets | ||
WaitUntilIdle | ||
WriteDataWithStagingT | WriteDataWithStaging writes the specified data to the destination buffer with using staging buffer (when staging buffer is not specified, then the standard staging buffer for this device is used). When the staging buffer is smaller then the data size, then a new ad-hoc staging buffer is created and disposed after being used. |