Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- createDevice :: forall a io. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> DeviceCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Device
- withDevice :: forall a io r. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> DeviceCreateInfo a -> Maybe AllocationCallbacks -> (io Device -> (Device -> io ()) -> r) -> r
- destroyDevice :: forall io. MonadIO io => Device -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- data DeviceQueueCreateInfo (es :: [Type]) = DeviceQueueCreateInfo {}
- data DeviceCreateInfo (es :: [Type]) = DeviceCreateInfo {}
- data Device = Device {}
- newtype DeviceCreateFlags = DeviceCreateFlags Flags
- newtype DeviceQueueCreateFlagBits where
- type DeviceQueueCreateFlags = DeviceQueueCreateFlagBits
Documentation
:: forall a io. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) | |
=> PhysicalDevice |
|
-> DeviceCreateInfo a |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io Device |
vkCreateDevice - Create a new device instance
Description
createDevice
verifies that extensions and features requested in the
ppEnabledExtensionNames
and pEnabledFeatures
members of
pCreateInfo
, respectively, are supported by the implementation. If any
requested extension is not supported, createDevice
must return
ERROR_EXTENSION_NOT_PRESENT
. If any
requested feature is not supported, createDevice
must return
ERROR_FEATURE_NOT_PRESENT
. Support for
extensions can be checked before creating a device by querying
enumerateDeviceExtensionProperties
.
Support for features can similarly be checked by querying
getPhysicalDeviceFeatures
.
After verifying and enabling the extensions the
Device
object is created and returned to the
application.
Multiple logical devices can be created from the same physical device.
Logical device creation may fail due to lack of device-specific
resources (in addition to other errors). If that occurs, createDevice
will return ERROR_TOO_MANY_OBJECTS
.
Valid Usage
- All
required device extensions
for each extension in the
DeviceCreateInfo
::ppEnabledExtensionNames
list must also be present in that list
Valid Usage (Implicit)
-
physicalDevice
must be a validPhysicalDevice
handle
-
pCreateInfo
must be a valid pointer to a validDeviceCreateInfo
structure - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure -
pDevice
must be a valid pointer to aDevice
handle
Return Codes
See Also
VK_VERSION_1_0,
AllocationCallbacks
,
Device
, DeviceCreateInfo
,
PhysicalDevice
withDevice :: forall a io r. (Extendss DeviceCreateInfo a, PokeChain a, MonadIO io) => PhysicalDevice -> DeviceCreateInfo a -> Maybe AllocationCallbacks -> (io Device -> (Device -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createDevice
and destroyDevice
To ensure that destroyDevice
is always called: pass
bracket
(or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,)
as the last argument.
:: forall io. MonadIO io | |
=> Device |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io () |
vkDestroyDevice - Destroy a logical device
Description
To ensure that no work is active on the device,
deviceWaitIdle
can be used to gate the
destruction of the device. Prior to destroying a device, an application
is responsible for destroying/freeing any Vulkan objects that were
created using that device as the first parameter of the corresponding
vkCreate*
or vkAllocate*
command.
Note
The lifetime of each of these objects is bound by the lifetime of the
Device
object. Therefore, to avoid resource
leaks, it is critical that an application explicitly free all of these
resources prior to calling destroyDevice
.
Valid Usage
- If
AllocationCallbacks
were provided whendevice
was created, a compatible set of callbacks must be provided here - If no
AllocationCallbacks
were provided whendevice
was created,pAllocator
must beNULL
Valid Usage (Implicit)
- If
device
is notNULL
,device
must be a validDevice
handle
- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure
Host Synchronization
- Host access to
device
must be externally synchronized
- Host access to all
Queue
objects created fromdevice
must be externally synchronized
See Also
data DeviceQueueCreateInfo (es :: [Type]) Source #
VkDeviceQueueCreateInfo - Structure specifying parameters of a newly created device queue
Valid Usage
-
queueFamilyIndex
must be less thanpQueueFamilyPropertyCount
returned bygetPhysicalDeviceQueueFamilyProperties
-
queueCount
must be less than or equal to thequeueCount
member of theQueueFamilyProperties
structure, as returned bygetPhysicalDeviceQueueFamilyProperties
in thepQueueFamilyProperties
[queueFamilyIndex] - Each element
of
pQueuePriorities
must be between0.0
and1.0
inclusive - If the
protectedMemory
feature is not enabled, the
DEVICE_QUEUE_CREATE_PROTECTED_BIT
bit offlags
must not be set - If
flags
includesDEVICE_QUEUE_CREATE_PROTECTED_BIT
,queueFamilyIndex
must be the index of a queue family that includes theQUEUE_PROTECTED_BIT
capability - If the
pNext
chain includes aDeviceQueueShaderCoreControlCreateInfoARM
structure thenPhysicalDeviceSchedulingControlsPropertiesARM
::schedulingControlsFlags
must containPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
.
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofDeviceQueueGlobalPriorityCreateInfoKHR
orDeviceQueueShaderCoreControlCreateInfoARM
- The
sType
value of each struct in thepNext
chain must be unique -
flags
must be a valid combination ofDeviceQueueCreateFlagBits
values -
pQueuePriorities
must be a valid pointer to an array ofqueueCount
float
values -
queueCount
must be greater than0
See Also
VK_VERSION_1_0,
DeviceCreateInfo
,
DeviceQueueCreateFlags
,
StructureType
DeviceQueueCreateInfo | |
|
Instances
data DeviceCreateInfo (es :: [Type]) Source #
VkDeviceCreateInfo - Structure specifying parameters of a newly created device
Valid Usage
- The
queueFamilyIndex
member of each element ofpQueueCreateInfos
must be unique withinpQueueCreateInfos
, except that two members can share the samequeueFamilyIndex
if one describes protected-capable queues and one describes queues that are not protected-capable
- If multiple
elements of
pQueueCreateInfos
share the samequeueFamilyIndex
, the sum of theirqueueCount
members must be less than or equal to thequeueCount
member of theQueueFamilyProperties
structure, as returned bygetPhysicalDeviceQueueFamilyProperties
in thepQueueFamilyProperties
[queueFamilyIndex] - If multiple
elements of
pQueueCreateInfos
share the samequeueFamilyIndex
, then all of such elements must have the same global priority level, which can be specified explicitly by the including aDeviceQueueGlobalPriorityCreateInfoKHR
structure in thepNext
chain, or by the implicit default value - If the
pNext
chain includes aPhysicalDeviceFeatures2
structure, thenpEnabledFeatures
must beNULL
- If
PhysicalDeviceProperties
::apiVersion
advertises Vulkan 1.1 or later,ppEnabledExtensionNames
must not containVK_AMD_negative_viewport_height
-
ppEnabledExtensionNames
must not contain bothVK_KHR_maintenance1
andVK_AMD_negative_viewport_height
-
ppEnabledExtensionNames
must not contain bothVK_KHR_buffer_device_address
andVK_EXT_buffer_device_address
- If the
pNext
chain includes aPhysicalDeviceVulkan12Features
structure andPhysicalDeviceVulkan12Features
::bufferDeviceAddress
isTRUE
,ppEnabledExtensionNames
must not containVK_EXT_buffer_device_address
- If the
pNext
chain includes aPhysicalDeviceVulkan11Features
structure, then it must not include aPhysicalDevice16BitStorageFeatures
,PhysicalDeviceMultiviewFeatures
,PhysicalDeviceVariablePointersFeatures
,PhysicalDeviceProtectedMemoryFeatures
,PhysicalDeviceSamplerYcbcrConversionFeatures
, orPhysicalDeviceShaderDrawParametersFeatures
structure - If the
pNext
chain includes aPhysicalDeviceVulkan12Features
structure, then it must not include aPhysicalDevice8BitStorageFeatures
,PhysicalDeviceShaderAtomicInt64Features
,PhysicalDeviceShaderFloat16Int8Features
,PhysicalDeviceDescriptorIndexingFeatures
,PhysicalDeviceScalarBlockLayoutFeatures
,PhysicalDeviceImagelessFramebufferFeatures
,PhysicalDeviceUniformBufferStandardLayoutFeatures
,PhysicalDeviceShaderSubgroupExtendedTypesFeatures
,PhysicalDeviceSeparateDepthStencilLayoutsFeatures
,PhysicalDeviceHostQueryResetFeatures
,PhysicalDeviceTimelineSemaphoreFeatures
,PhysicalDeviceBufferDeviceAddressFeatures
, orPhysicalDeviceVulkanMemoryModelFeatures
structure - If
ppEnabledExtensionNames
contains"VK_KHR_shader_draw_parameters"
and thepNext
chain includes aPhysicalDeviceVulkan11Features
structure, thenPhysicalDeviceVulkan11Features
::shaderDrawParameters
must beTRUE
- If
ppEnabledExtensionNames
contains"VK_KHR_draw_indirect_count"
and thepNext
chain includes aPhysicalDeviceVulkan12Features
structure, thenPhysicalDeviceVulkan12Features
::drawIndirectCount
must beTRUE
- If
ppEnabledExtensionNames
contains"VK_KHR_sampler_mirror_clamp_to_edge"
and thepNext
chain includes aPhysicalDeviceVulkan12Features
structure, thenPhysicalDeviceVulkan12Features
::samplerMirrorClampToEdge
must beTRUE
- If
ppEnabledExtensionNames
contains"VK_EXT_descriptor_indexing"
and thepNext
chain includes aPhysicalDeviceVulkan12Features
structure, thenPhysicalDeviceVulkan12Features
::descriptorIndexing
must beTRUE
- If
ppEnabledExtensionNames
contains"VK_EXT_sampler_filter_minmax"
and thepNext
chain includes aPhysicalDeviceVulkan12Features
structure, thenPhysicalDeviceVulkan12Features
::samplerFilterMinmax
must beTRUE
- If
ppEnabledExtensionNames
contains"VK_EXT_shader_viewport_index_layer"
and thepNext
chain includes aPhysicalDeviceVulkan12Features
structure, thenPhysicalDeviceVulkan12Features
::shaderOutputViewportIndex
andPhysicalDeviceVulkan12Features
::shaderOutputLayer
must both beTRUE
- If the
pNext
chain includes aPhysicalDeviceVulkan13Features
structure, then it must not include aPhysicalDeviceDynamicRenderingFeatures
,PhysicalDeviceImageRobustnessFeatures
,PhysicalDeviceInlineUniformBlockFeatures
,PhysicalDeviceMaintenance4Features
,PhysicalDevicePipelineCreationCacheControlFeatures
,PhysicalDevicePrivateDataFeatures
,PhysicalDeviceShaderDemoteToHelperInvocationFeatures
,PhysicalDeviceShaderIntegerDotProductFeatures
,PhysicalDeviceShaderTerminateInvocationFeatures
,PhysicalDeviceSubgroupSizeControlFeatures
,PhysicalDeviceSynchronization2Features
,PhysicalDeviceTextureCompressionASTCHDRFeatures
, orPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
structure - If the
VK_KHR_portability_subset
extension is included inpProperties
ofenumerateDeviceExtensionProperties
,ppEnabledExtensionNames
must include"VK_KHR_portability_subset"
- If the shadingRateImage feature is enabled, the pipelineFragmentShadingRate feature must not be enabled
- If the shadingRateImage feature is enabled, the primitiveFragmentShadingRate feature must not be enabled
- If the shadingRateImage feature is enabled, the attachmentFragmentShadingRate feature must not be enabled
- If the fragmentDensityMap feature is enabled, the pipelineFragmentShadingRate feature must not be enabled
- If the fragmentDensityMap feature is enabled, the primitiveFragmentShadingRate feature must not be enabled
- If the fragmentDensityMap feature is enabled, the attachmentFragmentShadingRate feature must not be enabled
- If sparseImageInt64Atomics is enabled, shaderImageInt64Atomics must be enabled
- If sparseImageFloat32Atomics is enabled, shaderImageFloat32Atomics must be enabled
- If sparseImageFloat32AtomicAdd is enabled, shaderImageFloat32AtomicAdd must be enabled
- If sparseImageFloat32AtomicMinMax is enabled, shaderImageFloat32AtomicMinMax must be enabled
- If
descriptorBuffer
is enabled,
ppEnabledExtensionNames
must not containVK_AMD_shader_fragment_mask
- If the
pNext
chain includes aDeviceQueueShaderCoreControlCreateInfoARM
structure, then it must not be included in thepNext
chain of any of theDeviceQueueCreateInfo
structures inpQueueCreateInfos
. - If the
pNext
chain includes aDeviceQueueShaderCoreControlCreateInfoARM
structure thenPhysicalDeviceSchedulingControlsPropertiesARM
::schedulingControlsFlags
must containPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
.
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_DEVICE_CREATE_INFO
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofDeviceDeviceMemoryReportCreateInfoEXT
,DeviceDiagnosticsConfigCreateInfoNV
,DeviceGroupDeviceCreateInfo
,DeviceMemoryOverallocationCreateInfoAMD
,DevicePrivateDataCreateInfo
,DeviceQueueShaderCoreControlCreateInfoARM
,PhysicalDevice16BitStorageFeatures
,PhysicalDevice4444FormatsFeaturesEXT
,PhysicalDevice8BitStorageFeatures
,PhysicalDeviceASTCDecodeFeaturesEXT
,PhysicalDeviceAccelerationStructureFeaturesKHR
,PhysicalDeviceAddressBindingReportFeaturesEXT
,PhysicalDeviceAmigoProfilingFeaturesSEC
,PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT
,PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
,PhysicalDeviceBlendOperationAdvancedFeaturesEXT
,PhysicalDeviceBorderColorSwizzleFeaturesEXT
,PhysicalDeviceBufferDeviceAddressFeatures
,PhysicalDeviceBufferDeviceAddressFeaturesEXT
,PhysicalDeviceClusterCullingShaderFeaturesHUAWEI
,PhysicalDeviceCoherentMemoryFeaturesAMD
,PhysicalDeviceColorWriteEnableFeaturesEXT
,PhysicalDeviceComputeShaderDerivativesFeaturesNV
,PhysicalDeviceConditionalRenderingFeaturesEXT
,PhysicalDeviceCooperativeMatrixFeaturesKHR
,PhysicalDeviceCooperativeMatrixFeaturesNV
,PhysicalDeviceCopyMemoryIndirectFeaturesNV
,PhysicalDeviceCornerSampledImageFeaturesNV
,PhysicalDeviceCoverageReductionModeFeaturesNV
,PhysicalDeviceCubicClampFeaturesQCOM
,PhysicalDeviceCubicWeightsFeaturesQCOM
,PhysicalDeviceCudaKernelLaunchFeaturesNV
,PhysicalDeviceCustomBorderColorFeaturesEXT
,PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
,PhysicalDeviceDepthBiasControlFeaturesEXT
,PhysicalDeviceDepthClampZeroOneFeaturesEXT
,PhysicalDeviceDepthClipControlFeaturesEXT
,PhysicalDeviceDepthClipEnableFeaturesEXT
,PhysicalDeviceDescriptorBufferFeaturesEXT
,PhysicalDeviceDescriptorIndexingFeatures
,PhysicalDeviceDescriptorPoolOverallocationFeaturesNV
,PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
,PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV
,PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
,PhysicalDeviceDeviceMemoryReportFeaturesEXT
,PhysicalDeviceDiagnosticsConfigFeaturesNV
,PhysicalDeviceDisplacementMicromapFeaturesNV
,PhysicalDeviceDynamicRenderingFeatures
,PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
,PhysicalDeviceExclusiveScissorFeaturesNV
,PhysicalDeviceExtendedDynamicState2FeaturesEXT
,PhysicalDeviceExtendedDynamicState3FeaturesEXT
,PhysicalDeviceExtendedDynamicStateFeaturesEXT
,PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV
,PhysicalDeviceExternalFormatResolveFeaturesANDROID
,PhysicalDeviceExternalMemoryRDMAFeaturesNV
,PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX
,PhysicalDeviceFaultFeaturesEXT
,PhysicalDeviceFeatures2
,PhysicalDeviceFragmentDensityMap2FeaturesEXT
,PhysicalDeviceFragmentDensityMapFeaturesEXT
,PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
,PhysicalDeviceFragmentShaderBarycentricFeaturesKHR
,PhysicalDeviceFragmentShaderInterlockFeaturesEXT
,PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
,PhysicalDeviceFragmentShadingRateFeaturesKHR
,PhysicalDeviceFrameBoundaryFeaturesEXT
,PhysicalDeviceGlobalPriorityQueryFeaturesKHR
,PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
,PhysicalDeviceHostImageCopyFeaturesEXT
,PhysicalDeviceHostQueryResetFeatures
,PhysicalDeviceImage2DViewOf3DFeaturesEXT
,PhysicalDeviceImageCompressionControlFeaturesEXT
,PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
,PhysicalDeviceImageProcessing2FeaturesQCOM
,PhysicalDeviceImageProcessingFeaturesQCOM
,PhysicalDeviceImageRobustnessFeatures
,PhysicalDeviceImageSlicedViewOf3DFeaturesEXT
,PhysicalDeviceImageViewMinLodFeaturesEXT
,PhysicalDeviceImagelessFramebufferFeatures
,PhysicalDeviceIndexTypeUint8FeaturesEXT
,PhysicalDeviceInheritedViewportScissorFeaturesNV
,PhysicalDeviceInlineUniformBlockFeatures
,PhysicalDeviceInvocationMaskFeaturesHUAWEI
,PhysicalDeviceLegacyDitheringFeaturesEXT
,PhysicalDeviceLineRasterizationFeaturesEXT
,PhysicalDeviceLinearColorAttachmentFeaturesNV
,PhysicalDeviceMaintenance4Features
,PhysicalDeviceMaintenance5FeaturesKHR
,PhysicalDeviceMemoryDecompressionFeaturesNV
,PhysicalDeviceMemoryPriorityFeaturesEXT
,PhysicalDeviceMeshShaderFeaturesEXT
,PhysicalDeviceMeshShaderFeaturesNV
,PhysicalDeviceMultiDrawFeaturesEXT
,PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
,PhysicalDeviceMultiviewFeatures
,PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM
,PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
,PhysicalDeviceMutableDescriptorTypeFeaturesEXT
,PhysicalDeviceNestedCommandBufferFeaturesEXT
,PhysicalDeviceNonSeamlessCubeMapFeaturesEXT
,PhysicalDeviceOpacityMicromapFeaturesEXT
,PhysicalDeviceOpticalFlowFeaturesNV
,PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
,PhysicalDevicePerformanceQueryFeaturesKHR
,PhysicalDevicePipelineCreationCacheControlFeatures
,PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
,PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT
,PhysicalDevicePipelinePropertiesFeaturesEXT
,PhysicalDevicePipelineProtectedAccessFeaturesEXT
,PhysicalDevicePipelineRobustnessFeaturesEXT
,PhysicalDevicePortabilitySubsetFeaturesKHR
,PhysicalDevicePresentBarrierFeaturesNV
,PhysicalDevicePresentIdFeaturesKHR
,PhysicalDevicePresentWaitFeaturesKHR
,PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
,PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
,PhysicalDevicePrivateDataFeatures
,PhysicalDeviceProtectedMemoryFeatures
,PhysicalDeviceProvokingVertexFeaturesEXT
,PhysicalDeviceRGBA10X6FormatsFeaturesEXT
,PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
,PhysicalDeviceRayQueryFeaturesKHR
,PhysicalDeviceRayTracingInvocationReorderFeaturesNV
,PhysicalDeviceRayTracingMaintenance1FeaturesKHR
,PhysicalDeviceRayTracingMotionBlurFeaturesNV
,PhysicalDeviceRayTracingPipelineFeaturesKHR
,PhysicalDeviceRayTracingPositionFetchFeaturesKHR
,PhysicalDeviceRepresentativeFragmentTestFeaturesNV
,PhysicalDeviceRobustness2FeaturesEXT
,PhysicalDeviceSamplerYcbcrConversionFeatures
,PhysicalDeviceScalarBlockLayoutFeatures
,PhysicalDeviceSchedulingControlsFeaturesARM
,PhysicalDeviceSeparateDepthStencilLayoutsFeatures
,PhysicalDeviceShaderAtomicFloat2FeaturesEXT
,PhysicalDeviceShaderAtomicFloatFeaturesEXT
,PhysicalDeviceShaderAtomicInt64Features
,PhysicalDeviceShaderClockFeaturesKHR
,PhysicalDeviceShaderCoreBuiltinsFeaturesARM
,PhysicalDeviceShaderDemoteToHelperInvocationFeatures
,PhysicalDeviceShaderDrawParametersFeatures
,PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
,PhysicalDeviceShaderEnqueueFeaturesAMDX
,PhysicalDeviceShaderFloat16Int8Features
,PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
,PhysicalDeviceShaderImageFootprintFeaturesNV
,PhysicalDeviceShaderIntegerDotProductFeatures
,PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
,PhysicalDeviceShaderModuleIdentifierFeaturesEXT
,PhysicalDeviceShaderObjectFeaturesEXT
,PhysicalDeviceShaderSMBuiltinsFeaturesNV
,PhysicalDeviceShaderSubgroupExtendedTypesFeatures
,PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
,PhysicalDeviceShaderTerminateInvocationFeatures
,PhysicalDeviceShaderTileImageFeaturesEXT
,PhysicalDeviceShadingRateImageFeaturesNV
,PhysicalDeviceSubgroupSizeControlFeatures
,PhysicalDeviceSubpassMergeFeedbackFeaturesEXT
,PhysicalDeviceSubpassShadingFeaturesHUAWEI
,PhysicalDeviceSwapchainMaintenance1FeaturesEXT
,PhysicalDeviceSynchronization2Features
,PhysicalDeviceTexelBufferAlignmentFeaturesEXT
,PhysicalDeviceTextureCompressionASTCHDRFeatures
,PhysicalDeviceTilePropertiesFeaturesQCOM
,PhysicalDeviceTimelineSemaphoreFeatures
,PhysicalDeviceTransformFeedbackFeaturesEXT
,PhysicalDeviceUniformBufferStandardLayoutFeatures
,PhysicalDeviceVariablePointersFeatures
,PhysicalDeviceVertexAttributeDivisorFeaturesEXT
,PhysicalDeviceVertexInputDynamicStateFeaturesEXT
,PhysicalDeviceVulkan11Features
,PhysicalDeviceVulkan12Features
,PhysicalDeviceVulkan13Features
,PhysicalDeviceVulkanMemoryModelFeatures
,PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
,PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
,PhysicalDeviceYcbcrDegammaFeaturesQCOM
,PhysicalDeviceYcbcrImageArraysFeaturesEXT
, orPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
- The
sType
value of each struct in thepNext
chain must be unique, with the exception of structures of typeDeviceDeviceMemoryReportCreateInfoEXT
orDevicePrivateDataCreateInfo
-
flags
must be0
-
pQueueCreateInfos
must be a valid pointer to an array ofqueueCreateInfoCount
validDeviceQueueCreateInfo
structures - If
enabledLayerCount
is not0
,ppEnabledLayerNames
must be a valid pointer to an array ofenabledLayerCount
null-terminated UTF-8 strings - If
enabledExtensionCount
is not0
,ppEnabledExtensionNames
must be a valid pointer to an array ofenabledExtensionCount
null-terminated UTF-8 strings - If
pEnabledFeatures
is notNULL
,pEnabledFeatures
must be a valid pointer to a validPhysicalDeviceFeatures
structure -
queueCreateInfoCount
must be greater than0
See Also
VK_VERSION_1_0,
DeviceCreateFlags
,
DeviceQueueCreateInfo
,
PhysicalDeviceFeatures
,
StructureType
, createDevice
DeviceCreateInfo | |
|
Instances
VkDevice - Opaque handle to a device object
See Also
VK_VERSION_1_0,
acquireFullScreenExclusiveModeEXT
,
acquireNextImage2KHR
,
acquireNextImageKHR
,
acquirePerformanceConfigurationINTEL
,
acquireProfilingLockKHR
,
allocateCommandBuffers
,
allocateDescriptorSets
,
allocateMemory
,
bindAccelerationStructureMemoryNV
,
bindBufferMemory
,
bindBufferMemory2
,
bindBufferMemory2KHR
,
bindImageMemory
,
bindImageMemory2
,
bindImageMemory2KHR
,
bindOpticalFlowSessionImageNV
,
vkBindVideoSessionMemoryKHR,
buildAccelerationStructuresKHR
,
buildMicromapsEXT
,
compileDeferredNV
,
copyAccelerationStructureKHR
,
copyAccelerationStructureToMemoryKHR
,
copyImageToImageEXT
,
copyImageToMemoryEXT
,
copyMemoryToAccelerationStructureKHR
,
copyMemoryToImageEXT
,
copyMemoryToMicromapEXT
,
copyMicromapEXT
,
copyMicromapToMemoryEXT
,
createAccelerationStructureKHR
,
createAccelerationStructureNV
,
createBuffer
,
createBufferCollectionFUCHSIA
,
createBufferView
,
createCommandPool
,
createComputePipelines
,
createCuFunctionNVX
,
createCuModuleNVX
,
createCudaFunctionNV
,
createCudaModuleNV
,
createDeferredOperationKHR
,
createDescriptorPool
,
createDescriptorSetLayout
,
createDescriptorUpdateTemplate
,
createDescriptorUpdateTemplateKHR
,
createDevice
, createEvent
,
createExecutionGraphPipelinesAMDX
,
createFence
,
createFramebuffer
,
createGraphicsPipelines
,
createImage
,
createImageView
,
createIndirectCommandsLayoutNV
,
createMicromapEXT
,
createOpticalFlowSessionNV
,
createPipelineCache
,
createPipelineLayout
,
createPrivateDataSlot
,
createPrivateDataSlotEXT
,
createQueryPool
,
createRayTracingPipelinesKHR
,
createRayTracingPipelinesNV
,
createRenderPass
,
createRenderPass2
,
createRenderPass2KHR
,
createSampler
,
createSamplerYcbcrConversion
,
createSamplerYcbcrConversionKHR
,
createSemaphore
,
createShaderModule
,
createShadersEXT
,
createSharedSwapchainsKHR
,
createSwapchainKHR
,
createValidationCacheEXT
,
vkCreateVideoSessionKHR,
vkCreateVideoSessionParametersKHR,
debugMarkerSetObjectNameEXT
,
debugMarkerSetObjectTagEXT
,
deferredOperationJoinKHR
,
destroyAccelerationStructureKHR
,
destroyAccelerationStructureNV
,
destroyBuffer
,
destroyBufferCollectionFUCHSIA
,
destroyBufferView
,
destroyCommandPool
,
destroyCuFunctionNVX
,
destroyCuModuleNVX
,
destroyCudaFunctionNV
,
destroyCudaModuleNV
,
destroyDeferredOperationKHR
,
destroyDescriptorPool
,
destroyDescriptorSetLayout
,
destroyDescriptorUpdateTemplate
,
destroyDescriptorUpdateTemplateKHR
,
destroyDevice
,
destroyEvent
, destroyFence
,
destroyFramebuffer
,
destroyImage
,
destroyImageView
,
destroyIndirectCommandsLayoutNV
,
destroyMicromapEXT
,
destroyOpticalFlowSessionNV
,
destroyPipeline
,
destroyPipelineCache
,
destroyPipelineLayout
,
destroyPrivateDataSlot
,
destroyPrivateDataSlotEXT
,
destroyQueryPool
,
destroyRenderPass
,
destroySampler
,
destroySamplerYcbcrConversion
,
destroySamplerYcbcrConversionKHR
,
destroySemaphore
,
destroyShaderEXT
,
destroyShaderModule
,
destroySwapchainKHR
,
destroyValidationCacheEXT
,
vkDestroyVideoSessionKHR,
vkDestroyVideoSessionParametersKHR,
deviceWaitIdle
,
displayPowerControlEXT
,
exportMetalObjectsEXT
,
flushMappedMemoryRanges
,
freeCommandBuffers
,
freeDescriptorSets
,
freeMemory
,
getAccelerationStructureBuildSizesKHR
,
getAccelerationStructureDeviceAddressKHR
,
getAccelerationStructureHandleNV
,
getAccelerationStructureMemoryRequirementsNV
,
getAccelerationStructureOpaqueCaptureDescriptorDataEXT
,
getAndroidHardwareBufferPropertiesANDROID
,
getBufferCollectionPropertiesFUCHSIA
,
getBufferDeviceAddress
,
getBufferDeviceAddressEXT
,
getBufferDeviceAddressKHR
,
getBufferMemoryRequirements
,
getBufferMemoryRequirements2
,
getBufferMemoryRequirements2KHR
,
getBufferOpaqueCaptureAddress
,
getBufferOpaqueCaptureAddressKHR
,
getBufferOpaqueCaptureDescriptorDataEXT
,
getCalibratedTimestampsEXT
,
getCudaModuleCacheNV
,
getDeferredOperationMaxConcurrencyKHR
,
getDeferredOperationResultKHR
,
getDescriptorEXT
,
getDescriptorSetHostMappingVALVE
,
getDescriptorSetLayoutBindingOffsetEXT
,
getDescriptorSetLayoutHostMappingInfoVALVE
,
getDescriptorSetLayoutSizeEXT
,
getDescriptorSetLayoutSupport
,
getDescriptorSetLayoutSupportKHR
,
getDeviceAccelerationStructureCompatibilityKHR
,
getDeviceBufferMemoryRequirements
,
getDeviceBufferMemoryRequirementsKHR
,
getDeviceFaultInfoEXT
,
getDeviceGroupPeerMemoryFeatures
,
getDeviceGroupPeerMemoryFeaturesKHR
,
getDeviceGroupPresentCapabilitiesKHR
,
getDeviceGroupSurfacePresentModes2EXT
,
getDeviceGroupSurfacePresentModesKHR
,
getDeviceImageMemoryRequirements
,
getDeviceImageMemoryRequirementsKHR
,
getDeviceImageSparseMemoryRequirements
,
getDeviceImageSparseMemoryRequirementsKHR
,
getDeviceImageSubresourceLayoutKHR
,
getDeviceMemoryCommitment
,
getDeviceMemoryOpaqueCaptureAddress
,
getDeviceMemoryOpaqueCaptureAddressKHR
,
getDeviceMicromapCompatibilityEXT
,
getDeviceProcAddr
,
getDeviceQueue
,
getDeviceQueue2
,
getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
getDynamicRenderingTilePropertiesQCOM
,
vkGetEncodedVideoSessionParametersKHR,
getEventStatus
,
getExecutionGraphPipelineNodeIndexAMDX
,
getExecutionGraphPipelineScratchSizeAMDX
,
getFenceFdKHR
,
getFenceStatus
,
getFenceWin32HandleKHR
,
getFramebufferTilePropertiesQCOM
,
getGeneratedCommandsMemoryRequirementsNV
,
getImageDrmFormatModifierPropertiesEXT
,
getImageMemoryRequirements
,
getImageMemoryRequirements2
,
getImageMemoryRequirements2KHR
,
getImageOpaqueCaptureDescriptorDataEXT
,
getImageSparseMemoryRequirements
,
getImageSparseMemoryRequirements2
,
getImageSparseMemoryRequirements2KHR
,
getImageSubresourceLayout
,
getImageSubresourceLayout2EXT
,
getImageSubresourceLayout2KHR
,
getImageViewAddressNVX
,
getImageViewHandleNVX
,
getImageViewOpaqueCaptureDescriptorDataEXT
,
getLatencyTimingsNV
,
getMemoryAndroidHardwareBufferANDROID
,
getMemoryFdKHR
,
getMemoryFdPropertiesKHR
,
getMemoryHostPointerPropertiesEXT
,
getMemoryRemoteAddressNV
,
getMemoryWin32HandleKHR
,
getMemoryWin32HandleNV
,
getMemoryWin32HandlePropertiesKHR
,
getMemoryZirconHandleFUCHSIA
,
getMemoryZirconHandlePropertiesFUCHSIA
,
getMicromapBuildSizesEXT
,
getPastPresentationTimingGOOGLE
,
getPerformanceParameterINTEL
,
getPipelineCacheData
,
getPipelineExecutableInternalRepresentationsKHR
,
getPipelineExecutablePropertiesKHR
,
getPipelineExecutableStatisticsKHR
,
getPipelineIndirectDeviceAddressNV
,
getPipelineIndirectMemoryRequirementsNV
,
getPipelinePropertiesEXT
,
getPrivateData
,
getPrivateDataEXT
,
getQueryPoolResults
,
getRayTracingCaptureReplayShaderGroupHandlesKHR
,
getRayTracingShaderGroupHandlesKHR
,
getRayTracingShaderGroupHandlesNV
,
getRayTracingShaderGroupStackSizeKHR
,
getRefreshCycleDurationGOOGLE
,
getRenderAreaGranularity
,
getRenderingAreaGranularityKHR
,
getSamplerOpaqueCaptureDescriptorDataEXT
,
getScreenBufferPropertiesQNX
,
getSemaphoreCounterValue
,
getSemaphoreCounterValueKHR
,
getSemaphoreFdKHR
,
getSemaphoreWin32HandleKHR
,
getSemaphoreZirconHandleFUCHSIA
,
getShaderBinaryDataEXT
,
getShaderInfoAMD
,
getShaderModuleCreateInfoIdentifierEXT
,
getShaderModuleIdentifierEXT
,
getSwapchainCounterEXT
,
getSwapchainImagesKHR
,
getSwapchainStatusKHR
,
getValidationCacheDataEXT
,
vkGetVideoSessionMemoryRequirementsKHR,
importFenceFdKHR
,
importFenceWin32HandleKHR
,
importSemaphoreFdKHR
,
importSemaphoreWin32HandleKHR
,
importSemaphoreZirconHandleFUCHSIA
,
initializePerformanceApiINTEL
,
invalidateMappedMemoryRanges
,
latencySleepNV
,
mapMemory
,
mapMemory2KHR
,
mergePipelineCaches
,
mergeValidationCachesEXT
,
registerDeviceEventEXT
,
registerDisplayEventEXT
,
releaseFullScreenExclusiveModeEXT
,
releasePerformanceConfigurationINTEL
,
releaseProfilingLockKHR
,
releaseSwapchainImagesEXT
,
resetCommandPool
,
resetDescriptorPool
,
resetEvent
, resetFences
,
resetQueryPool
,
resetQueryPoolEXT
,
setBufferCollectionBufferConstraintsFUCHSIA
,
setBufferCollectionImageConstraintsFUCHSIA
,
setDebugUtilsObjectNameEXT
,
setDebugUtilsObjectTagEXT
,
setDeviceMemoryPriorityEXT
,
setEvent
,
setHdrMetadataEXT
,
setLatencyMarkerNV
,
setLatencySleepModeNV
,
setLocalDimmingAMD
,
setPrivateData
,
setPrivateDataEXT
,
signalSemaphore
,
signalSemaphoreKHR
,
transitionImageLayoutEXT
,
trimCommandPool
,
trimCommandPoolKHR
,
uninitializePerformanceApiINTEL
,
unmapMemory
,
unmapMemory2KHR
,
updateDescriptorSetWithTemplate
,
updateDescriptorSetWithTemplateKHR
,
updateDescriptorSets
,
vkUpdateVideoSessionParametersKHR,
waitForFences
,
waitForPresentKHR
,
waitSemaphores
,
waitSemaphoresKHR
,
writeAccelerationStructuresPropertiesKHR
,
writeMicromapsPropertiesEXT
Instances
Show Device Source # | |
Eq Device Source # | |
HasObjectType Device Source # | |
Defined in Vulkan.Core10.Handles objectTypeAndHandle :: Device -> (ObjectType, Word64) Source # | |
IsHandle Device Source # | |
Defined in Vulkan.Core10.Handles | |
Zero Device Source # | |
Defined in Vulkan.Core10.Handles |
newtype DeviceCreateFlags Source #
VkDeviceCreateFlags - Reserved for future use
Description
DeviceCreateFlags
is a bitmask type for setting a mask, but is
currently reserved for future use.
See Also
Instances
newtype DeviceQueueCreateFlagBits Source #
VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue
See Also
pattern DEVICE_QUEUE_CREATE_PROTECTED_BIT :: DeviceQueueCreateFlagBits |
|