Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_KHR_maintenance4 - device extension
VK_KHR_maintenance4
- Name String
VK_KHR_maintenance4
- Extension Type
- Device extension
- Registered Extension Number
- 414
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.1
- Contact
Other Extension Metadata
- Last Modified Date
- 2021-08-18
- Interactions and External Dependencies
- Requires SPIR-V 1.2 for
LocalSizeId
- Requires SPIR-V 1.2 for
- Contributors
- Lionel Duc, NVIDIA
- Jason Ekstrand, Intel
- Spencer Fricke, Samsung
- Tobias Hector, AMD
- Lionel Landwerlin, Intel
- Graeme Leese, Broadcom
- Tom Olson, Arm
- Stu Smith, AMD
Description
VK_KHR_maintenance4
adds a collection of minor features, none of which
would warrant an entire extension of their own.
The new features are as follows:
- Allow the application to destroy their
PipelineLayout
object immediately after it was used to create another object. It is no longer necessary to keep its handle valid while the created object is in use. - Add a new
maxBufferSize
implementation-defined limit for the maximum size
Buffer
that can be created. - Add support for the SPIR-V 1.2
LocalSizeId
execution mode, which can be used as an alternative toLocalSize
to specify the local workgroup size with specialization constants. - Add a guarantee that images created with identical creation parameters will always have the same alignment requirements.
- Add new
getDeviceBufferMemoryRequirementsKHR
,getDeviceImageMemoryRequirementsKHR
, andgetDeviceImageSparseMemoryRequirementsKHR
to allow the application to query the image memory requirements without having to create an image object and query it. - Relax the requirement that push constants must be initialized before they are dynamically accessed.
- Relax the interface matching rules to allow a larger output vector to match with a smaller input vector, with additional values being discarded.
New Commands
New Structures
DeviceImageMemoryRequirementsKHR
Extending
PhysicalDeviceFeatures2
,DeviceCreateInfo
:Extending
PhysicalDeviceProperties2
:
New Enum Constants
KHR_MAINTENANCE_4_SPEC_VERSION
Extending
StructureType
:
Issues
None.
Version History
Revision 1, 2021-08-18 (Piers Daniell)
- Internal revisions
See Also
DeviceBufferMemoryRequirementsKHR
, DeviceImageMemoryRequirementsKHR
,
PhysicalDeviceMaintenance4FeaturesKHR
,
PhysicalDeviceMaintenance4PropertiesKHR
,
getDeviceBufferMemoryRequirementsKHR
,
getDeviceImageMemoryRequirementsKHR
,
getDeviceImageSparseMemoryRequirementsKHR
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- getDeviceBufferMemoryRequirementsKHR :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> ("info" ::: DeviceBufferMemoryRequirementsKHR) -> io (MemoryRequirements2 a)
- getDeviceImageMemoryRequirementsKHR :: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) => Device -> ("info" ::: DeviceImageMemoryRequirementsKHR) -> io (MemoryRequirements2 a)
- getDeviceImageSparseMemoryRequirementsKHR :: forall io. MonadIO io => Device -> ("info" ::: DeviceImageMemoryRequirementsKHR) -> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2)
- data DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirementsKHR {}
- data DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirementsKHR {}
- data PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4FeaturesKHR {
- maintenance4 :: Bool
- data PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4PropertiesKHR {}
- type KHR_MAINTENANCE_4_SPEC_VERSION = 1
- pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a. Integral a => a
- type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4"
- pattern KHR_MAINTENANCE_4_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
getDeviceBufferMemoryRequirementsKHR Source #
:: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) | |
=> Device |
|
-> ("info" ::: DeviceBufferMemoryRequirementsKHR) |
|
-> io (MemoryRequirements2 a) |
vkGetDeviceBufferMemoryRequirementsKHR - Returns the memory requirements for specified Vulkan object
Valid Usage (Implicit)
See Also
VK_KHR_maintenance4,
Device
, DeviceBufferMemoryRequirementsKHR
,
MemoryRequirements2
getDeviceImageMemoryRequirementsKHR Source #
:: forall a io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) | |
=> Device |
|
-> ("info" ::: DeviceImageMemoryRequirementsKHR) |
|
-> io (MemoryRequirements2 a) |
vkGetDeviceImageMemoryRequirementsKHR - Returns the memory requirements for specified Vulkan object
Valid Usage (Implicit)
See Also
VK_KHR_maintenance4,
Device
, DeviceImageMemoryRequirementsKHR
,
MemoryRequirements2
getDeviceImageSparseMemoryRequirementsKHR Source #
:: forall io. MonadIO io | |
=> Device |
|
-> ("info" ::: DeviceImageMemoryRequirementsKHR) |
|
-> io ("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2) |
vkGetDeviceImageSparseMemoryRequirementsKHR - Query the memory requirements for a sparse image
Valid Usage (Implicit)
-
device
must be a validDevice
handle
-
pInfo
must be a valid pointer to a validDeviceImageMemoryRequirementsKHR
structure -
pSparseMemoryRequirementCount
must be a valid pointer to auint32_t
value -
If the value referenced by
pSparseMemoryRequirementCount
is not0
, andpSparseMemoryRequirements
is notNULL
,pSparseMemoryRequirements
must be a valid pointer to an array ofpSparseMemoryRequirementCount
SparseImageMemoryRequirements2
structures
See Also
VK_KHR_maintenance4,
Device
, DeviceImageMemoryRequirementsKHR
,
SparseImageMemoryRequirements2
data DeviceBufferMemoryRequirementsKHR Source #
VkDeviceBufferMemoryRequirementsKHR - (None)
Valid Usage (Implicit)
See Also
VK_KHR_maintenance4,
BufferCreateInfo
,
StructureType
,
getDeviceBufferMemoryRequirementsKHR
DeviceBufferMemoryRequirementsKHR | |
|
Instances
data DeviceImageMemoryRequirementsKHR Source #
VkDeviceImageMemoryRequirementsKHR - (None)
Valid Usage
- The
pCreateInfo
::pNext
chain must not contain aImageSwapchainCreateInfoKHR
structure
- If
pCreateInfo
::flags
hasIMAGE_CREATE_DISJOINT_BIT
set thenplanAspect
must not be zero - If
pCreateInfo
::flags
hasIMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
set thenplanAspect
must not be zero - If
pCreateInfo
::flags
hasIMAGE_CREATE_DISJOINT_BIT
set and if thepCreateInfo
::tiling
isIMAGE_TILING_LINEAR
orIMAGE_TILING_OPTIMAL
, thenplaneAspect
must be a single valid format plane for the image (that is, for a two-plane imageplaneAspect
must beIMAGE_ASPECT_PLANE_0_BIT
orIMAGE_ASPECT_PLANE_1_BIT
, and for a three-plane imageplaneAspect
must beIMAGE_ASPECT_PLANE_0_BIT
,IMAGE_ASPECT_PLANE_1_BIT
orIMAGE_ASPECT_PLANE_2_BIT
) - If
pCreateInfo
::flags
hasIMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
set and thepCreateInfo
::tiling
isIMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
, thenplaneAspect
must be a single valid memory plane for the image (that is,aspectMask
must specify a plane index that is less than theDrmFormatModifierPropertiesEXT
::drmFormatModifierPlaneCount
associated with the image’sformat
andImageDrmFormatModifierPropertiesEXT
::drmFormatModifier
)
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR
-
pNext
must beNULL
-
pCreateInfo
must be a valid pointer to a validImageCreateInfo
structure -
planeAspect
must be a validImageAspectFlagBits
value
See Also
VK_KHR_maintenance4,
ImageAspectFlagBits
,
ImageCreateInfo
,
StructureType
,
getDeviceImageMemoryRequirementsKHR
,
getDeviceImageSparseMemoryRequirementsKHR
DeviceImageMemoryRequirementsKHR | |
|
Instances
data PhysicalDeviceMaintenance4FeaturesKHR Source #
VkPhysicalDeviceMaintenance4FeaturesKHR - Structure describing whether the implementation supports maintenance4 functionality
Members
This structure describes the following features:
Description
If the PhysicalDeviceMaintenance4FeaturesKHR
structure is included in
the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceMaintenance4FeaturesKHR
can also be used in
the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceMaintenance4FeaturesKHR | |
|
Instances
data PhysicalDeviceMaintenance4PropertiesKHR Source #
VkPhysicalDeviceMaintenance4PropertiesKHR - Structure describing various implementation-defined properties introduced with VK_KHR_maintenance4
Description
If the PhysicalDeviceMaintenance4PropertiesKHR
structure is included
in the pNext
chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2
,
it is filled in with each corresponding implementation-dependent
property.
Valid Usage (Implicit)
See Also
PhysicalDeviceMaintenance4PropertiesKHR | |
|
Instances
type KHR_MAINTENANCE_4_SPEC_VERSION = 1 Source #
pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" Source #
pattern KHR_MAINTENANCE_4_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #