Click or drag to resize
Ab4d.SharpEngine logo

VulkanDevice Properties

The VulkanDevice type exposes the following members.

Properties
 NameDescription
Public propertyApiVersion 
Public propertyAutomaticallyDisposeSurface 
Public propertyBackgroundGraphicsQueue Gets a Graphics Queue that can be used to process graphics commands pon the background thread. This queue is available only when GPU supports more than one graphics queue and when EnableBackgroundResourceUpload is true (by default).
Public propertyBackgroundTransferQueue Gets the Transfer Queue that can be used on the background thread to execute transfer commands. This queue is set available only when the GPU supports transfer queue and when EnableBackgroundResourceUpload is true (by default).
Public propertyCreateOptions 
Public propertyDebugUtils 
Public propertyDefaultBitmapIO Gets or sets the default (or fallback) BitmapIO that is used to read (and write) images. By default this is set to an instance of PngBitmapIO. This can be changed by the user to some other IBitmapIO implementation.
Public propertyDefaultSurface 
Public propertyDefaultSurfaceDetails 
Public propertyDevice 
Public propertyEnabledDeviceExtensionNames Gets an array of Device extension names that are enabled for this device. To quickly check if an extension is enabled, you can also check the EnabledDeviceExtensions property (note that this does not include all extensions but only extensions that are supported by SharpEngine).
Public propertyEnabledDeviceExtensions Gets a SupportedDeviceExtensions that can be used to quickly check which Device Extensions are enabled on this device. This value can include only extension names that are supported by SharpEngine (and defined in SupportedDeviceExtensions enum). This value includes also extensions that are promoted to the current Vulkan API (and are not explicitly specified in the EnabledDeviceExtensionNames array). To get an array of all enabled extensions see the EnabledDeviceExtensionNames.
Public propertyEnabledFeatures Gets PhysicalDeviceFeatures struct with features that were actually enabled when creating the VulkanDevice. To get features that are possible on the physical device see the EnabledFeatures. To enable some of the features when creating the VulkanDevice use the SetupRequestedDeviceFeatures.
Public propertyEnabledLineRasterizationFeatures Gets line rasterization features that were enabled when the device was created.
Public propertyGpuName Gets the name of the used device (graphics card).
Public propertyGraphicsCommandPool 
Public propertyGraphicsQueue Gets the main Graphics Queue that is used on the main thread to process all graphics commands. This queue is always available.
Public propertyGraphicsQueuesCount 
Public propertyHasTransferQueueFamily 
Public propertyIsBackgroundBufferUploadSupported True when this GPU device supports a separate transfer queue. This allows uploading mesh buffers and images without mip-maps on the background transfer queue. Note that even if this property is true, some async functions also require that the SynchronizationContext.Current is not null so the code can continue a background task on the main thread.
Public propertyIsBackgroundImageUploadSupported True when this GPU device supports more than one graphics queue. This allows uploading images and generating mip-maps on the background graphics queue. Note that even if this property is true, some async functions also require that the SynchronizationContext.Current is not null so the code can continue a background task on the main thread.
Public propertyIsDebugUtilsExtensionEnabled 
Public propertyIsIntegratedGpu When true, then this device is an integrated GPU (usually an Intel or AMD GPU that is integrated into the CPU).
Public propertyIsLineRasterizationExtensionEnabled True if LineRasterization extension is enabled when the device was created.
Public propertyIsMemoryBudgetInfoAvailable True if information about memory budget is available (API > 1.1 and VK_EXT_memory_budget device extension is enabled).
Public propertyIsMemoryPrioritiesFeatureEnabled True when device allows setting priorities to allocated memory. See VK_EXT_memory_priority Vulkan device extension for more info.
Public propertyIsPageableDeviceLocalMemoryFeatureEnabled True when that the pageable device-local memory is enabled. This will help the operating system page out lower priority memory allocations before higher priority allocations when needed. It will also help the operating system decide which memory allocations to page back into device-local memory first. See VK_EXT_pageable_device_local_memory Vulkan device extension for more info.
Public propertyIsPrimarySystemDevice Gets Boolean that specifies if this device is using the primary (default) system graphic card.
Public propertyIsShaderShaderDebugPrintfExtensionEnabled True if ShaderDebugPrintf extension is enabled when the device was created.
Public propertyIsStandardValidationEnabled 
Public propertyKhrSwapchainExt 
Public propertyLineRasterizationExt 
Public propertyMemoryAllocator 
Public propertyPhysicalDevice 
Public propertyPhysicalDeviceDetails 
Public propertyQueueFamilyIndices 
Public propertySamplerFactory 
Public propertyShadersManager 
Public propertyStagingGpuBuffer StagingGpuBuffer can be used to batch copy data to the destination GpuBuffer by using the standard staging buffer.
Public propertyTransferCommandPool 
Public propertyTransferQueue Gets the Transfer Queue that can be used on the main thread to execute transfer commands. This queue is set only when the GPU supports transfer queue and when EnableBackgroundResourceUpload is false (true by default). When EnableBackgroundResourceUpload is true, then BackgroundTransferQueue is created instead. This prevents using the same queue on main and background thread.
Public propertyVertexBufferDescriptionsManager 
Public propertyVulkanInstance 
Top
See Also