Table of Contents

Struct Device

Namespace
SharpVulkan
Assembly
Lime.dll
public struct Device : IEquatable<Device>
Implements
Inherited Members

Fields

Null

public static readonly Device Null

Field Value

Device

Methods

AcquireNextImage(Swapchain, ulong, Semaphore, Fence)

public uint AcquireNextImage(Swapchain swapchain, ulong timeout, Semaphore semaphore, Fence fence)

Parameters

swapchain Swapchain
timeout ulong
semaphore Semaphore
fence Fence

Returns

uint

AllocateCommandBuffers(ref CommandBufferAllocateInfo, CommandBuffer*)

public void AllocateCommandBuffers(ref CommandBufferAllocateInfo allocateInfo, CommandBuffer* commandBuffers)

Parameters

allocateInfo CommandBufferAllocateInfo
commandBuffers CommandBuffer*

AllocateDescriptorSets(ref DescriptorSetAllocateInfo, DescriptorSet*)

public void AllocateDescriptorSets(ref DescriptorSetAllocateInfo allocateInfo, DescriptorSet* descriptorSets)

Parameters

allocateInfo DescriptorSetAllocateInfo
descriptorSets DescriptorSet*

AllocateMemory(ref MemoryAllocateInfo, AllocationCallbacks*)

public DeviceMemory AllocateMemory(ref MemoryAllocateInfo allocateInfo, AllocationCallbacks* allocator = null)

Parameters

allocateInfo MemoryAllocateInfo
allocator AllocationCallbacks*

Returns

DeviceMemory

BindBufferMemory(Buffer, DeviceMemory, ulong)

public void BindBufferMemory(Buffer buffer, DeviceMemory memory, ulong memoryOffset)

Parameters

buffer Buffer
memory DeviceMemory
memoryOffset ulong

BindImageMemory(Image, DeviceMemory, ulong)

public void BindImageMemory(Image image, DeviceMemory memory, ulong memoryOffset)

Parameters

image Image
memory DeviceMemory
memoryOffset ulong

CreateBuffer(ref BufferCreateInfo, AllocationCallbacks*)

public Buffer CreateBuffer(ref BufferCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo BufferCreateInfo
allocator AllocationCallbacks*

Returns

Buffer

CreateBufferView(ref BufferViewCreateInfo, AllocationCallbacks*)

public BufferView CreateBufferView(ref BufferViewCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo BufferViewCreateInfo
allocator AllocationCallbacks*

Returns

BufferView

CreateCommandPool(ref CommandPoolCreateInfo, AllocationCallbacks*)

public CommandPool CreateCommandPool(ref CommandPoolCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo CommandPoolCreateInfo
allocator AllocationCallbacks*

Returns

CommandPool

CreateComputePipelines(PipelineCache, uint, ComputePipelineCreateInfo*, AllocationCallbacks*)

public Pipeline CreateComputePipelines(PipelineCache pipelineCache, uint createInfoCount, ComputePipelineCreateInfo* createInfos, AllocationCallbacks* allocator = null)

Parameters

pipelineCache PipelineCache
createInfoCount uint
createInfos ComputePipelineCreateInfo*
allocator AllocationCallbacks*

Returns

Pipeline

CreateDescriptorPool(ref DescriptorPoolCreateInfo, AllocationCallbacks*)

public DescriptorPool CreateDescriptorPool(ref DescriptorPoolCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo DescriptorPoolCreateInfo
allocator AllocationCallbacks*

Returns

DescriptorPool

CreateDescriptorSetLayout(ref DescriptorSetLayoutCreateInfo, AllocationCallbacks*)

public DescriptorSetLayout CreateDescriptorSetLayout(ref DescriptorSetLayoutCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo DescriptorSetLayoutCreateInfo
allocator AllocationCallbacks*

Returns

DescriptorSetLayout

CreateEvent(ref EventCreateInfo, AllocationCallbacks*)

public Event CreateEvent(ref EventCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo EventCreateInfo
allocator AllocationCallbacks*

Returns

Event

CreateFence(ref FenceCreateInfo, AllocationCallbacks*)

public Fence CreateFence(ref FenceCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo FenceCreateInfo
allocator AllocationCallbacks*

Returns

Fence

CreateFramebuffer(ref FramebufferCreateInfo, AllocationCallbacks*)

public Framebuffer CreateFramebuffer(ref FramebufferCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo FramebufferCreateInfo
allocator AllocationCallbacks*

Returns

Framebuffer

CreateGraphicsPipelines(PipelineCache, uint, GraphicsPipelineCreateInfo*, AllocationCallbacks*)

public Pipeline CreateGraphicsPipelines(PipelineCache pipelineCache, uint createInfoCount, GraphicsPipelineCreateInfo* createInfos, AllocationCallbacks* allocator = null)

Parameters

pipelineCache PipelineCache
createInfoCount uint
createInfos GraphicsPipelineCreateInfo*
allocator AllocationCallbacks*

Returns

Pipeline

CreateImage(ref ImageCreateInfo, AllocationCallbacks*)

public Image CreateImage(ref ImageCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo ImageCreateInfo
allocator AllocationCallbacks*

Returns

Image

CreateImageView(ref ImageViewCreateInfo, AllocationCallbacks*)

public ImageView CreateImageView(ref ImageViewCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo ImageViewCreateInfo
allocator AllocationCallbacks*

Returns

ImageView

CreateIndirectCommandsLayout(ref IndirectCommandsLayoutCreateInfo, AllocationCallbacks*)

public IndirectCommandsLayout CreateIndirectCommandsLayout(ref IndirectCommandsLayoutCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo IndirectCommandsLayoutCreateInfo
allocator AllocationCallbacks*

Returns

IndirectCommandsLayout

CreateObjectTable(ref ObjectTableCreateInfo, AllocationCallbacks*)

public ObjectTable CreateObjectTable(ref ObjectTableCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo ObjectTableCreateInfo
allocator AllocationCallbacks*

Returns

ObjectTable

CreatePipelineCache(ref PipelineCacheCreateInfo, AllocationCallbacks*)

public PipelineCache CreatePipelineCache(ref PipelineCacheCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo PipelineCacheCreateInfo
allocator AllocationCallbacks*

Returns

PipelineCache

CreatePipelineLayout(ref PipelineLayoutCreateInfo, AllocationCallbacks*)

public PipelineLayout CreatePipelineLayout(ref PipelineLayoutCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo PipelineLayoutCreateInfo
allocator AllocationCallbacks*

Returns

PipelineLayout

CreateQueryPool(ref QueryPoolCreateInfo, AllocationCallbacks*)

public QueryPool CreateQueryPool(ref QueryPoolCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo QueryPoolCreateInfo
allocator AllocationCallbacks*

Returns

QueryPool

CreateRenderPass(ref RenderPassCreateInfo, AllocationCallbacks*)

public RenderPass CreateRenderPass(ref RenderPassCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo RenderPassCreateInfo
allocator AllocationCallbacks*

Returns

RenderPass

CreateSampler(ref SamplerCreateInfo, AllocationCallbacks*)

public Sampler CreateSampler(ref SamplerCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo SamplerCreateInfo
allocator AllocationCallbacks*

Returns

Sampler

CreateSemaphore(ref SemaphoreCreateInfo, AllocationCallbacks*)

public Semaphore CreateSemaphore(ref SemaphoreCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo SemaphoreCreateInfo
allocator AllocationCallbacks*

Returns

Semaphore

CreateShaderModule(ref ShaderModuleCreateInfo, AllocationCallbacks*)

public ShaderModule CreateShaderModule(ref ShaderModuleCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo ShaderModuleCreateInfo
allocator AllocationCallbacks*

Returns

ShaderModule

CreateSharedSwapchains(SwapchainCreateInfo[], AllocationCallbacks)

public Swapchain[] CreateSharedSwapchains(SwapchainCreateInfo[] createInfos, AllocationCallbacks allocator)

Parameters

createInfos SwapchainCreateInfo[]
allocator AllocationCallbacks

Returns

Swapchain[]

CreateSwapchain(ref SwapchainCreateInfo, AllocationCallbacks*)

public Swapchain CreateSwapchain(ref SwapchainCreateInfo createInfo, AllocationCallbacks* allocator = null)

Parameters

createInfo SwapchainCreateInfo
allocator AllocationCallbacks*

Returns

Swapchain

DebugMarkerSetObjectName(ref DebugMarkerObjectNameInfo)

public void DebugMarkerSetObjectName(ref DebugMarkerObjectNameInfo nameInfo)

Parameters

nameInfo DebugMarkerObjectNameInfo

DebugMarkerSetObjectTag(ref DebugMarkerObjectTagInfo)

public void DebugMarkerSetObjectTag(ref DebugMarkerObjectTagInfo tagInfo)

Parameters

tagInfo DebugMarkerObjectTagInfo

Destroy(AllocationCallbacks*)

public void Destroy(AllocationCallbacks* allocator = null)

Parameters

allocator AllocationCallbacks*

DestroyBuffer(Buffer, AllocationCallbacks*)

public void DestroyBuffer(Buffer buffer, AllocationCallbacks* allocator = null)

Parameters

buffer Buffer
allocator AllocationCallbacks*

DestroyBufferView(BufferView, AllocationCallbacks*)

public void DestroyBufferView(BufferView bufferView, AllocationCallbacks* allocator = null)

Parameters

bufferView BufferView
allocator AllocationCallbacks*

DestroyCommandPool(CommandPool, AllocationCallbacks*)

public void DestroyCommandPool(CommandPool commandPool, AllocationCallbacks* allocator = null)

Parameters

commandPool CommandPool
allocator AllocationCallbacks*

DestroyDescriptorPool(DescriptorPool, AllocationCallbacks*)

public void DestroyDescriptorPool(DescriptorPool descriptorPool, AllocationCallbacks* allocator = null)

Parameters

descriptorPool DescriptorPool
allocator AllocationCallbacks*

DestroyDescriptorSetLayout(DescriptorSetLayout, AllocationCallbacks*)

public void DestroyDescriptorSetLayout(DescriptorSetLayout descriptorSetLayout, AllocationCallbacks* allocator = null)

Parameters

descriptorSetLayout DescriptorSetLayout
allocator AllocationCallbacks*

DestroyEvent(Event, AllocationCallbacks*)

public void DestroyEvent(Event @event, AllocationCallbacks* allocator = null)

Parameters

event Event
allocator AllocationCallbacks*

DestroyFence(Fence, AllocationCallbacks*)

public void DestroyFence(Fence fence, AllocationCallbacks* allocator = null)

Parameters

fence Fence
allocator AllocationCallbacks*

DestroyFramebuffer(Framebuffer, AllocationCallbacks*)

public void DestroyFramebuffer(Framebuffer framebuffer, AllocationCallbacks* allocator = null)

Parameters

framebuffer Framebuffer
allocator AllocationCallbacks*

DestroyImage(Image, AllocationCallbacks*)

public void DestroyImage(Image image, AllocationCallbacks* allocator = null)

Parameters

image Image
allocator AllocationCallbacks*

DestroyImageView(ImageView, AllocationCallbacks*)

public void DestroyImageView(ImageView imageView, AllocationCallbacks* allocator = null)

Parameters

imageView ImageView
allocator AllocationCallbacks*

DestroyIndirectCommandsLayout(IndirectCommandsLayout, AllocationCallbacks*)

public void DestroyIndirectCommandsLayout(IndirectCommandsLayout indirectCommandsLayout, AllocationCallbacks* allocator = null)

Parameters

indirectCommandsLayout IndirectCommandsLayout
allocator AllocationCallbacks*

DestroyObjectTable(ObjectTable, AllocationCallbacks*)

public void DestroyObjectTable(ObjectTable objectTable, AllocationCallbacks* allocator = null)

Parameters

objectTable ObjectTable
allocator AllocationCallbacks*

DestroyPipeline(Pipeline, AllocationCallbacks*)

public void DestroyPipeline(Pipeline pipeline, AllocationCallbacks* allocator = null)

Parameters

pipeline Pipeline
allocator AllocationCallbacks*

DestroyPipelineCache(PipelineCache, AllocationCallbacks*)

public void DestroyPipelineCache(PipelineCache pipelineCache, AllocationCallbacks* allocator = null)

Parameters

pipelineCache PipelineCache
allocator AllocationCallbacks*

DestroyPipelineLayout(PipelineLayout, AllocationCallbacks*)

public void DestroyPipelineLayout(PipelineLayout pipelineLayout, AllocationCallbacks* allocator = null)

Parameters

pipelineLayout PipelineLayout
allocator AllocationCallbacks*

DestroyQueryPool(QueryPool, AllocationCallbacks*)

public void DestroyQueryPool(QueryPool queryPool, AllocationCallbacks* allocator = null)

Parameters

queryPool QueryPool
allocator AllocationCallbacks*

DestroyRenderPass(RenderPass, AllocationCallbacks*)

public void DestroyRenderPass(RenderPass renderPass, AllocationCallbacks* allocator = null)

Parameters

renderPass RenderPass
allocator AllocationCallbacks*

DestroySampler(Sampler, AllocationCallbacks*)

public void DestroySampler(Sampler sampler, AllocationCallbacks* allocator = null)

Parameters

sampler Sampler
allocator AllocationCallbacks*

DestroySemaphore(Semaphore, AllocationCallbacks*)

public void DestroySemaphore(Semaphore semaphore, AllocationCallbacks* allocator = null)

Parameters

semaphore Semaphore
allocator AllocationCallbacks*

DestroyShaderModule(ShaderModule, AllocationCallbacks*)

public void DestroyShaderModule(ShaderModule shaderModule, AllocationCallbacks* allocator = null)

Parameters

shaderModule ShaderModule
allocator AllocationCallbacks*

DestroySwapchain(Swapchain, AllocationCallbacks*)

public void DestroySwapchain(Swapchain swapchain, AllocationCallbacks* allocator = null)

Parameters

swapchain Swapchain
allocator AllocationCallbacks*

DisplayPowerControl(Display, ref DisplayPowerInfo)

public void DisplayPowerControl(Display display, ref DisplayPowerInfo displayPowerInfo)

Parameters

display Display
displayPowerInfo DisplayPowerInfo

Equals(Device)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(Device other)

Parameters

other Device

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

FlushMappedMemoryRanges(uint, MappedMemoryRange*)

public void FlushMappedMemoryRanges(uint memoryRangeCount, MappedMemoryRange* memoryRanges)

Parameters

memoryRangeCount uint
memoryRanges MappedMemoryRange*

FreeCommandBuffers(CommandPool, uint, CommandBuffer*)

public void FreeCommandBuffers(CommandPool commandPool, uint commandBufferCount, CommandBuffer* commandBuffers)

Parameters

commandPool CommandPool
commandBufferCount uint
commandBuffers CommandBuffer*

FreeDescriptorSets(DescriptorPool, uint, DescriptorSet*)

public void FreeDescriptorSets(DescriptorPool descriptorPool, uint descriptorSetCount, DescriptorSet* descriptorSets)

Parameters

descriptorPool DescriptorPool
descriptorSetCount uint
descriptorSets DescriptorSet*

FreeMemory(DeviceMemory, AllocationCallbacks*)

public void FreeMemory(DeviceMemory memory, AllocationCallbacks* allocator = null)

Parameters

memory DeviceMemory
allocator AllocationCallbacks*

GetBufferMemoryRequirements(Buffer, out MemoryRequirements)

public void GetBufferMemoryRequirements(Buffer buffer, out MemoryRequirements memoryRequirements)

Parameters

buffer Buffer
memoryRequirements MemoryRequirements

GetEventStatus(Event)

public Result GetEventStatus(Event @event)

Parameters

event Event

Returns

Result

GetFenceStatus(Fence)

public Result GetFenceStatus(Fence fence)

Parameters

fence Fence

Returns

Result

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

GetImageMemoryRequirements(Image, out MemoryRequirements)

public void GetImageMemoryRequirements(Image image, out MemoryRequirements memoryRequirements)

Parameters

image Image
memoryRequirements MemoryRequirements

GetImageSubresourceLayout(Image, ImageSubresource, out SubresourceLayout)

public void GetImageSubresourceLayout(Image image, ImageSubresource subresource, out SubresourceLayout layout)

Parameters

image Image
subresource ImageSubresource
layout SubresourceLayout

GetMemoryCommitment(DeviceMemory)

public ulong GetMemoryCommitment(DeviceMemory memory)

Parameters

memory DeviceMemory

Returns

ulong

GetMemoryWin32Handle(DeviceMemory, uint)

public int GetMemoryWin32Handle(DeviceMemory memory, uint handleType)

Parameters

memory DeviceMemory
handleType uint

Returns

int

GetPipelineCacheData(PipelineCache)

public byte[] GetPipelineCacheData(PipelineCache pipelineCache)

Parameters

pipelineCache PipelineCache

Returns

byte[]

GetPipelineCacheData(PipelineCache, ref PointerSize, nint)

public void GetPipelineCacheData(PipelineCache pipelineCache, ref PointerSize dataSize, nint data)

Parameters

pipelineCache PipelineCache
dataSize PointerSize
data nint

GetProcAddress(byte*)

public nint GetProcAddress(byte* name)

Parameters

name byte*

Returns

nint

GetQueryPoolResults(QueryPool, uint, uint, PointerSize, nint, ulong, QueryResultFlags)

public void GetQueryPoolResults(QueryPool queryPool, uint firstQuery, uint queryCount, PointerSize dataSize, nint data, ulong stride, QueryResultFlags flags)

Parameters

queryPool QueryPool
firstQuery uint
queryCount uint
dataSize PointerSize
data nint
stride ulong
flags QueryResultFlags

GetQueue(uint, uint)

public Queue GetQueue(uint queueFamilyIndex, uint queueIndex)

Parameters

queueFamilyIndex uint
queueIndex uint

Returns

Queue

GetRenderAreaGranularity(RenderPass)

public Extent2D GetRenderAreaGranularity(RenderPass renderPass)

Parameters

renderPass RenderPass

Returns

Extent2D

GetSparseMemoryRequirements(Image)

public SparseImageMemoryRequirements[] GetSparseMemoryRequirements(Image image)

Parameters

image Image

Returns

SparseImageMemoryRequirements[]

GetSwapchainCounter(Swapchain, SurfaceCounterFlags)

public ulong GetSwapchainCounter(Swapchain swapchain, SurfaceCounterFlags counter)

Parameters

swapchain Swapchain
counter SurfaceCounterFlags

Returns

ulong

GetSwapchainImages(Swapchain)

public Image[] GetSwapchainImages(Swapchain swapchain)

Parameters

swapchain Swapchain

Returns

Image[]

InvalidateMappedMemoryRanges(uint, MappedMemoryRange*)

public void InvalidateMappedMemoryRanges(uint memoryRangeCount, MappedMemoryRange* memoryRanges)

Parameters

memoryRangeCount uint
memoryRanges MappedMemoryRange*

MapMemory(DeviceMemory, ulong, ulong, MemoryMapFlags)

public nint MapMemory(DeviceMemory memory, ulong offset, ulong size, MemoryMapFlags flags)

Parameters

memory DeviceMemory
offset ulong
size ulong
flags MemoryMapFlags

Returns

nint

MergePipelineCaches(PipelineCache, uint, PipelineCache)

public void MergePipelineCaches(PipelineCache destinationCache, uint sourceCacheCount, PipelineCache srcCaches)

Parameters

destinationCache PipelineCache
sourceCacheCount uint
srcCaches PipelineCache

RegisterDisplayEvent(Display, ref DisplayEventInfo, AllocationCallbacks*)

public Fence RegisterDisplayEvent(Display display, ref DisplayEventInfo displayEventInfo, AllocationCallbacks* allocator = null)

Parameters

display Display
displayEventInfo DisplayEventInfo
allocator AllocationCallbacks*

Returns

Fence

RegisterEvent(ref DeviceEventInfo, AllocationCallbacks*)

public Fence RegisterEvent(ref DeviceEventInfo deviceEventInfo, AllocationCallbacks* allocator = null)

Parameters

deviceEventInfo DeviceEventInfo
allocator AllocationCallbacks*

Returns

Fence

RegisterObjects(ObjectTable, uint, nint, uint)

public void RegisterObjects(ObjectTable objectTable, uint objectCount, nint objectTableEntries, uint objectIndices)

Parameters

objectTable ObjectTable
objectCount uint
objectTableEntries nint
objectIndices uint

ResetCommandPool(CommandPool, CommandPoolResetFlags)

public void ResetCommandPool(CommandPool commandPool, CommandPoolResetFlags flags)

Parameters

commandPool CommandPool
flags CommandPoolResetFlags

ResetDescriptorPool(DescriptorPool, DescriptorPoolResetFlags)

public void ResetDescriptorPool(DescriptorPool descriptorPool, DescriptorPoolResetFlags flags)

Parameters

descriptorPool DescriptorPool
flags DescriptorPoolResetFlags

ResetEvent(Event)

public void ResetEvent(Event @event)

Parameters

event Event

ResetFences(uint, Fence*)

public void ResetFences(uint fenceCount, Fence* fences)

Parameters

fenceCount uint
fences Fence*

SetEvent(Event)

public void SetEvent(Event @event)

Parameters

event Event

ToString()

Returns the fully qualified type name of this instance.

public override string ToString()

Returns

string

The fully qualified type name.

TrimCommandPool(CommandPool, CommandPoolTrimFlags)

public void TrimCommandPool(CommandPool commandPool, CommandPoolTrimFlags flags)

Parameters

commandPool CommandPool
flags CommandPoolTrimFlags

UnmapMemory(DeviceMemory)

public void UnmapMemory(DeviceMemory memory)

Parameters

memory DeviceMemory

UnregisterObjects(ObjectTable, uint, ObjectEntryType, uint)

public void UnregisterObjects(ObjectTable objectTable, uint objectCount, ObjectEntryType objectEntryTypes, uint objectIndices)

Parameters

objectTable ObjectTable
objectCount uint
objectEntryTypes ObjectEntryType
objectIndices uint

UpdateDescriptorSets(uint, WriteDescriptorSet*, uint, CopyDescriptorSet*)

public void UpdateDescriptorSets(uint descriptorWriteCount, WriteDescriptorSet* descriptorWrites, uint descriptorCopyCount, CopyDescriptorSet* descriptorCopies)

Parameters

descriptorWriteCount uint
descriptorWrites WriteDescriptorSet*
descriptorCopyCount uint
descriptorCopies CopyDescriptorSet*

WaitForFences(uint, Fence*, RawBool, ulong)

public void WaitForFences(uint fenceCount, Fence* fences, RawBool waitAll, ulong timeout)

Parameters

fenceCount uint
fences Fence*
waitAll RawBool
timeout ulong

WaitIdle()

public void WaitIdle()

Operators

operator ==(Device, Device)

public static bool operator ==(Device left, Device right)

Parameters

left Device
right Device

Returns

bool

operator !=(Device, Device)

public static bool operator !=(Device left, Device right)

Parameters

left Device
right Device

Returns

bool