| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.Device
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
Arguments
| :: 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::ppEnabledExtensionNameslist must also be present in that list
Valid Usage (Implicit)
-
physicalDevicemust be a validPhysicalDevicehandle
-
pCreateInfomust be a valid pointer to a validDeviceCreateInfostructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pDevicemust be a valid pointer to aDevicehandle
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.
Arguments
| :: 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
AllocationCallbackswere provided whendevicewas created, a compatible set of callbacks must be provided here - If no
AllocationCallbackswere provided whendevicewas created,pAllocatormust beNULL
Valid Usage (Implicit)
- If
deviceis notNULL,devicemust be a validDevicehandle
- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure
Host Synchronization
- Host access to
devicemust be externally synchronized
- Host access to all
Queueobjects created fromdevicemust be externally synchronized
See Also
data DeviceQueueCreateInfo (es :: [Type]) Source #
VkDeviceQueueCreateInfo - Structure specifying parameters of a newly created device queue
Valid Usage
-
queueFamilyIndexmust be less thanpQueueFamilyPropertyCountreturned bygetPhysicalDeviceQueueFamilyProperties
-
queueCountmust be less than or equal to thequeueCountmember of theQueueFamilyPropertiesstructure, as returned bygetPhysicalDeviceQueueFamilyPropertiesin thepQueueFamilyProperties[queueFamilyIndex] - Each element
of
pQueuePrioritiesmust be between0.0and1.0inclusive - If the
protectedMemory
feature is not enabled, the
DEVICE_QUEUE_CREATE_PROTECTED_BITbit offlagsmust not be set - If
flagsincludesDEVICE_QUEUE_CREATE_PROTECTED_BIT,queueFamilyIndexmust be the index of a queue family that includes theQUEUE_PROTECTED_BITcapability - If the
pNextchain includes aDeviceQueueShaderCoreControlCreateInfoARMstructure thenPhysicalDeviceSchedulingControlsPropertiesARM::schedulingControlsFlagsmust containPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM.
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofDeviceQueueGlobalPriorityCreateInfoKHRorDeviceQueueShaderCoreControlCreateInfoARM - The
sTypevalue of each struct in thepNextchain must be unique -
flagsmust be a valid combination ofDeviceQueueCreateFlagBitsvalues -
pQueuePrioritiesmust be a valid pointer to an array ofqueueCountfloatvalues -
queueCountmust be greater than0
See Also
VK_VERSION_1_0,
DeviceCreateInfo,
DeviceQueueCreateFlags,
StructureType
Constructors
| DeviceQueueCreateInfo | |
Fields
| |
Instances
data DeviceCreateInfo (es :: [Type]) Source #
VkDeviceCreateInfo - Structure specifying parameters of a newly created device
Valid Usage
- The
queueFamilyIndexmember of each element ofpQueueCreateInfosmust be unique withinpQueueCreateInfos, except that two members can share the samequeueFamilyIndexif one describes protected-capable queues and one describes queues that are not protected-capable
- If multiple
elements of
pQueueCreateInfosshare the samequeueFamilyIndex, the sum of theirqueueCountmembers must be less than or equal to thequeueCountmember of theQueueFamilyPropertiesstructure, as returned bygetPhysicalDeviceQueueFamilyPropertiesin thepQueueFamilyProperties[queueFamilyIndex] - If multiple
elements of
pQueueCreateInfosshare the samequeueFamilyIndex, then all of such elements must have the same global priority level, which can be specified explicitly by the including aDeviceQueueGlobalPriorityCreateInfoKHRstructure in thepNextchain, or by the implicit default value - If the
pNextchain includes aPhysicalDeviceFeatures2structure, thenpEnabledFeaturesmust beNULL - If
PhysicalDeviceProperties::apiVersionadvertises Vulkan 1.1 or later,ppEnabledExtensionNamesmust not containVK_AMD_negative_viewport_height -
ppEnabledExtensionNamesmust not contain bothVK_KHR_maintenance1andVK_AMD_negative_viewport_height -
ppEnabledExtensionNamesmust not contain bothVK_KHR_buffer_device_addressandVK_EXT_buffer_device_address - If the
pNextchain includes aPhysicalDeviceVulkan12Featuresstructure andPhysicalDeviceVulkan12Features::bufferDeviceAddressisTRUE,ppEnabledExtensionNamesmust not containVK_EXT_buffer_device_address - If the
pNextchain includes aPhysicalDeviceVulkan11Featuresstructure, then it must not include aPhysicalDevice16BitStorageFeatures,PhysicalDeviceMultiviewFeatures,PhysicalDeviceVariablePointersFeatures,PhysicalDeviceProtectedMemoryFeatures,PhysicalDeviceSamplerYcbcrConversionFeatures, orPhysicalDeviceShaderDrawParametersFeaturesstructure - If the
pNextchain includes aPhysicalDeviceVulkan12Featuresstructure, then it must not include aPhysicalDevice8BitStorageFeatures,PhysicalDeviceShaderAtomicInt64Features,PhysicalDeviceShaderFloat16Int8Features,PhysicalDeviceDescriptorIndexingFeatures,PhysicalDeviceScalarBlockLayoutFeatures,PhysicalDeviceImagelessFramebufferFeatures,PhysicalDeviceUniformBufferStandardLayoutFeatures,PhysicalDeviceShaderSubgroupExtendedTypesFeatures,PhysicalDeviceSeparateDepthStencilLayoutsFeatures,PhysicalDeviceHostQueryResetFeatures,PhysicalDeviceTimelineSemaphoreFeatures,PhysicalDeviceBufferDeviceAddressFeatures, orPhysicalDeviceVulkanMemoryModelFeaturesstructure - If
ppEnabledExtensionNamescontains"VK_KHR_shader_draw_parameters"and thepNextchain includes aPhysicalDeviceVulkan11Featuresstructure, thenPhysicalDeviceVulkan11Features::shaderDrawParametersmust beTRUE - If
ppEnabledExtensionNamescontains"VK_KHR_draw_indirect_count"and thepNextchain includes aPhysicalDeviceVulkan12Featuresstructure, thenPhysicalDeviceVulkan12Features::drawIndirectCountmust beTRUE - If
ppEnabledExtensionNamescontains"VK_KHR_sampler_mirror_clamp_to_edge"and thepNextchain includes aPhysicalDeviceVulkan12Featuresstructure, thenPhysicalDeviceVulkan12Features::samplerMirrorClampToEdgemust beTRUE - If
ppEnabledExtensionNamescontains"VK_EXT_descriptor_indexing"and thepNextchain includes aPhysicalDeviceVulkan12Featuresstructure, thenPhysicalDeviceVulkan12Features::descriptorIndexingmust beTRUE - If
ppEnabledExtensionNamescontains"VK_EXT_sampler_filter_minmax"and thepNextchain includes aPhysicalDeviceVulkan12Featuresstructure, thenPhysicalDeviceVulkan12Features::samplerFilterMinmaxmust beTRUE - If
ppEnabledExtensionNamescontains"VK_EXT_shader_viewport_index_layer"and thepNextchain includes aPhysicalDeviceVulkan12Featuresstructure, thenPhysicalDeviceVulkan12Features::shaderOutputViewportIndexandPhysicalDeviceVulkan12Features::shaderOutputLayermust both beTRUE - If the
pNextchain includes aPhysicalDeviceVulkan13Featuresstructure, then it must not include aPhysicalDeviceDynamicRenderingFeatures,PhysicalDeviceImageRobustnessFeatures,PhysicalDeviceInlineUniformBlockFeatures,PhysicalDeviceMaintenance4Features,PhysicalDevicePipelineCreationCacheControlFeatures,PhysicalDevicePrivateDataFeatures,PhysicalDeviceShaderDemoteToHelperInvocationFeatures,PhysicalDeviceShaderIntegerDotProductFeatures,PhysicalDeviceShaderTerminateInvocationFeatures,PhysicalDeviceSubgroupSizeControlFeatures,PhysicalDeviceSynchronization2Features,PhysicalDeviceTextureCompressionASTCHDRFeatures, orPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesstructure - If the
VK_KHR_portability_subsetextension is included inpPropertiesofenumerateDeviceExtensionProperties,ppEnabledExtensionNamesmust 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,
ppEnabledExtensionNamesmust not containVK_AMD_shader_fragment_mask - If the
pNextchain includes aDeviceQueueShaderCoreControlCreateInfoARMstructure, then it must not be included in thepNextchain of any of theDeviceQueueCreateInfostructures inpQueueCreateInfos. - If the
pNextchain includes aDeviceQueueShaderCoreControlCreateInfoARMstructure thenPhysicalDeviceSchedulingControlsPropertiesARM::schedulingControlsFlagsmust containPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM.
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_DEVICE_CREATE_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor 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
sTypevalue of each struct in thepNextchain must be unique, with the exception of structures of typeDeviceDeviceMemoryReportCreateInfoEXTorDevicePrivateDataCreateInfo -
flagsmust be0 -
pQueueCreateInfosmust be a valid pointer to an array ofqueueCreateInfoCountvalidDeviceQueueCreateInfostructures - If
enabledLayerCountis not0,ppEnabledLayerNamesmust be a valid pointer to an array ofenabledLayerCountnull-terminated UTF-8 strings - If
enabledExtensionCountis not0,ppEnabledExtensionNamesmust be a valid pointer to an array ofenabledExtensionCountnull-terminated UTF-8 strings - If
pEnabledFeaturesis notNULL,pEnabledFeaturesmust be a valid pointer to a validPhysicalDeviceFeaturesstructure -
queueCreateInfoCountmust be greater than0
See Also
VK_VERSION_1_0,
DeviceCreateFlags,
DeviceQueueCreateInfo,
PhysicalDeviceFeatures,
StructureType, createDevice
Constructors
| DeviceCreateInfo | |
Fields
| |
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
Constructors
| Device | |
Fields | |
Instances
| Show Device Source # | |
| Eq Device Source # | |
| HasObjectType Device Source # | |
Defined in Vulkan.Core10.Handles Methods 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
Constructors
| DeviceCreateFlags Flags |
Instances
newtype DeviceQueueCreateFlagBits Source #
VkDeviceQueueCreateFlagBits - Bitmask specifying behavior of the queue
See Also
Constructors
| DeviceQueueCreateFlagBits Flags |
Bundled Patterns
| pattern DEVICE_QUEUE_CREATE_PROTECTED_BIT :: DeviceQueueCreateFlagBits |
|