vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_ARM_tensors

Description

Name

VK_ARM_tensors - device extension

VK_ARM_tensors

Name String
VK_ARM_tensors
Extension Type
Device extension
Registered Extension Number
461
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Vulkan Version 1.3
API Interactions
  • Interacts with VK_EXT_descriptor_buffer
  • Interacts with VK_EXT_frame_boundary
  • Interacts with VK_EXT_shader_float8
  • Interacts with VK_KHR_shader_bfloat16
SPIR-V Dependencies
Contact
Extension Proposal
VK_ARM_tensors

Other Extension Metadata

Last Modified Date
2026-01-07
Interactions and External Dependencies
  • This extension requires SPV_ARM_tensors
  • This extension provides API support for GL_ARM_tensors
  • This extension interacts with VK_EXT_mutable_descriptor_type
  • This extension interacts with VK_EXT_descriptor_buffer
  • This extension interacts with VK_EXT_frame_boundary
  • This extension interacts with VK_EXT_robustness2
  • This extension interacts with VK_KHR_unified_image_layouts
  • This extension interacts with VK_KHR_shader_bfloat16
  • This extension interacts with VK_EXT_shader_float8
IP Status
No known IP claims.
Contributors
  • Kévin Petit, Arm Ltd.
  • Einar Hov, Arm Ltd.
  • Dominic Symes, Arm Ltd.
  • Jan-Harald Fredriksen, Arm Ltd.
  • Marco Cattani, Arm Ltd.
  • Lisa Wu, Arm Ltd.
  • Robert Hughes, Arm Ltd.
  • David Garbett, Arm Ltd.
  • Oualid Khelifi, Arm Ltd.

Description

This extension adds support for tensors.

New Object Types

New Commands

If VK_EXT_descriptor_buffer is supported:

New Structures

If VK_EXT_descriptor_buffer is supported:

If VK_EXT_frame_boundary is supported:

New Enums

New Bitmasks

New Enum Constants

If VK_EXT_descriptor_buffer is supported:

If VK_EXT_frame_boundary is supported:

If VK_EXT_shader_float8 is supported:

If VK_KHR_shader_bfloat16 is supported:

New SPIR-V Capabilities

Issues

1) Should tensor strides be passed in elements or in bytes?

RESOLVED: Strides are passed in bytes but are required to be a multiple of the tensor element size. Passing strides in bytes makes it possible to relax this requirement in the future without an interface change. It also makes it easier to describe memory alignment requirements.

2) Should there be commands to copy data between tensors and buffers/images?

RESOLVED: Adding these commands would result in a rather large API surface and not insignificant implementation and validation cost. The same outcome can be achieved with memory aliasing and tensor to tensor copy operations.

3) Should this extension define transpose and/or other data reorganization operations?

RESOLVED: These operations are useful to expose but this extension is only meant to add base support for tensors. Additional operations should be layered on top and defined in other extensions.

4) Why are tensor strides described using signed integers?

RESOLVED: Negative strides make it possible to describe different linear data layouts. While this extension does not allow negative strides, it uses signed integers for strides to make it possible to relax this limitation in future extensions.

Version History

  • Revision 2, 2026-01-07 (Kévin Petit)

    • Add interactions with VK_KHR_unified_image_layouts, VK_KHR_shader_bfloat16, and VK_EXT_shader_float8
  • Revision 1, 2025-06-03 (Kévin Petit)

    • Initial revision

See Also

No cross-references are available

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

Documentation

createTensorARM Source #

Arguments

:: forall (a :: [Type]) io. (Extendss TensorCreateInfoARM a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that creates the tensor.

-> TensorCreateInfoARM a

pCreateInfo is a pointer to a TensorCreateInfoARM structure containing parameters to be used to create the tensor.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io TensorARM 

vkCreateTensorARM - Create a new tensor object

Valid Usage

  • The tensors feature must be enabled

Valid Usage (Implicit)

  • device must be a valid Device handle
  • pCreateInfo must be a valid pointer to a valid TensorCreateInfoARM structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pTensor must be a valid pointer to a TensorARM handle
  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_ARM_tensors, AllocationCallbacks, Device, TensorARM, TensorCreateInfoARM

withTensorARM :: forall (a :: [Type]) io r. (Extendss TensorCreateInfoARM a, PokeChain a, MonadIO io) => Device -> TensorCreateInfoARM a -> Maybe AllocationCallbacks -> (io TensorARM -> (TensorARM -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createTensorARM and destroyTensorARM

To ensure that destroyTensorARM 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.

destroyTensorARM Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that destroys the tensor.

-> TensorARM

tensor is the tensor to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyTensorARM - Destroy a tensor object

Valid Usage

  • All submitted commands that refer to tensor, either directly or via a TensorViewARM, must have completed execution
  • If AllocationCallbacks were provided when tensor was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when tensor was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If tensor is not NULL_HANDLE, tensor must be a valid TensorARM handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • If tensor is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to tensor must be externally synchronized

See Also

VK_ARM_tensors, AllocationCallbacks, Device, TensorARM

createTensorViewARM Source #

Arguments

:: forall (a :: [Type]) io. (Extendss TensorViewCreateInfoARM a, PokeChain a, MonadIO io) 
=> Device

device is the logical device that creates the tensor view.

-> TensorViewCreateInfoARM a

pCreateInfo is a pointer to an instance of the TensorViewCreateInfoARM structure containing parameters to be used to create the tensor view.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io TensorViewARM 

vkCreateTensorViewARM - Create an tensor view from an existing tensor

Description

Some of the tensor creation parameters are inherited by the view. In particular, other than format, the tensor view creation inherits all other parameters from the tensor.

The remaining parameters are contained in pCreateInfo.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • pCreateInfo must be a valid pointer to a valid TensorViewCreateInfoARM structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pView must be a valid pointer to a TensorViewARM handle
  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_ARM_tensors, AllocationCallbacks, Device, TensorViewARM, TensorViewCreateInfoARM

withTensorViewARM :: forall (a :: [Type]) io r. (Extendss TensorViewCreateInfoARM a, PokeChain a, MonadIO io) => Device -> TensorViewCreateInfoARM a -> Maybe AllocationCallbacks -> (io TensorViewARM -> (TensorViewARM -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createTensorViewARM and destroyTensorViewARM

To ensure that destroyTensorViewARM 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.

destroyTensorViewARM Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that destroys the tensor view.

-> TensorViewARM

tensorView is the tensor view to destroy.

-> ("allocator" ::: Maybe AllocationCallbacks)

pAllocator controls host memory allocation as described in the Memory Allocation chapter.

-> io () 

vkDestroyTensorViewARM - Destroy a tensor view object

Valid Usage

  • All submitted commands that refer to tensorView must have completed execution
  • If AllocationCallbacks were provided when tensorView was created, a compatible set of callbacks must be provided here
  • If no AllocationCallbacks were provided when tensorView was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If tensorView is not NULL_HANDLE, tensorView must be a valid TensorViewARM handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • If tensorView is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to tensorView must be externally synchronized

See Also

VK_ARM_tensors, AllocationCallbacks, Device, TensorViewARM

getTensorMemoryRequirementsARM Source #

Arguments

:: forall (a :: [Type]) io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) 
=> Device

device is the logical device that owns the tensor.

device must be a valid Device handle

-> TensorMemoryRequirementsInfoARM

pInfo is a pointer to a TensorMemoryRequirementsInfoARM structure containing parameters required for the memory requirements query.

pInfo must be a valid pointer to a valid TensorMemoryRequirementsInfoARM structure

-> io (MemoryRequirements2 a) 

vkGetTensorMemoryRequirementsARM - Returns the memory requirements for specified Vulkan object

Valid Usage (Implicit)

See Also

VK_ARM_tensors, Device, MemoryRequirements2, TensorMemoryRequirementsInfoARM

bindTensorMemoryARM Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that owns the buffers and memory.

device must be a valid Device handle

-> ("bindInfos" ::: Vector BindTensorMemoryInfoARM)

pBindInfos is a pointer to an array of structures of type BindTensorMemoryInfoARM, describing tensors and memory to bind.

pBindInfos must be a valid pointer to an array of bindInfoCount valid BindTensorMemoryInfoARM structures

-> io () 

vkBindTensorMemoryARM - Bind device memory to tensor objects

Description

On some implementations, it may be more efficient to batch memory bindings into a single command.

Return Codes

Success
Failure

See Also

VK_ARM_tensors, BindTensorMemoryInfoARM, Device

getDeviceTensorMemoryRequirementsARM Source #

Arguments

:: forall (a :: [Type]) io. (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io) 
=> Device

device is the logical device intended to own the tensor.

-> ("info" ::: DeviceTensorMemoryRequirementsARM)

pInfo is a pointer to a DeviceTensorMemoryRequirementsARM structure containing parameters required for the memory requirements query.

-> io (MemoryRequirements2 a) 

vkGetDeviceTensorMemoryRequirementsARM - Returns the memory requirements for specified tensor creation infos

Valid Usage

  • The tensors feature must be enabled

Valid Usage (Implicit)

  • device must be a valid Device handle

See Also

VK_ARM_tensors, Device, DeviceTensorMemoryRequirementsARM, MemoryRequirements2

cmdCopyTensorARM Source #

Arguments

:: MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer into which the command will be recorded.

-> CopyTensorInfoARM

pCopyTensorInfo is a pointer to CopyTensorInfoARM structure describing the copy parameters.

-> io () 

vkCmdCopyTensorARM - Copy data between tensors

Valid Usage (Implicit)

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary Secondary Outside Outside VK_QUEUE_COMPUTE_BIT VK_QUEUE_GRAPHICS_BIT VK_QUEUE_TRANSFER_BITAction

Conditional Rendering

vkCmdCopyTensorARM is not affected by conditional rendering

See Also

VK_ARM_tensors, CommandBuffer, CopyTensorInfoARM

getTensorOpaqueCaptureDescriptorDataARM Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that gets the data.

-> TensorCaptureDescriptorDataInfoARM

pInfo is a pointer to a TensorCaptureDescriptorDataInfoARM structure specifying the tensor.

-> ("data" ::: Ptr ())

pData is a pointer to a user-allocated buffer where the data will be written.

-> io () 

vkGetTensorOpaqueCaptureDescriptorDataARM - Get tensor opaque capture descriptor data

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, Device, TensorCaptureDescriptorDataInfoARM

getTensorViewOpaqueCaptureDescriptorDataARM Source #

Arguments

:: MonadIO io 
=> Device

device is the logical device that gets the data.

-> TensorViewCaptureDescriptorDataInfoARM

pInfo is a pointer to a TensorViewCaptureDescriptorDataInfoARM structure specifying the tensor view.

-> ("data" ::: Ptr ())

pData is a pointer to a user-allocated buffer where the data will be written.

-> io () 

vkGetTensorViewOpaqueCaptureDescriptorDataARM - Get tensor view opaque capture descriptor data

Valid Usage

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, Device, TensorViewCaptureDescriptorDataInfoARM

getPhysicalDeviceExternalTensorPropertiesARM Source #

Arguments

:: MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device from which to query the tensor capabilities.

physicalDevice must be a valid PhysicalDevice handle

-> PhysicalDeviceExternalTensorInfoARM

pExternalTensorInfo is a pointer to a PhysicalDeviceExternalTensorInfoARM structure describing the parameters that would be consumed by createTensorARM.

pExternalTensorInfo must be a valid pointer to a valid PhysicalDeviceExternalTensorInfoARM structure

-> io ExternalTensorPropertiesARM 

vkGetPhysicalDeviceExternalTensorPropertiesARM - Function for querying external tensor handle capabilities.

Valid Usage (Implicit)

See Also

VK_ARM_tensors, ExternalTensorPropertiesARM, PhysicalDevice, PhysicalDeviceExternalTensorInfoARM

data TensorDescriptionARM Source #

VkTensorDescriptionARM - Structure describing a tensor

Description

When describing a tensor created with TENSOR_TILING_OPTIMAL_ARM, pStrides must be equal to NULL. When describing a tensor created with TENSOR_TILING_LINEAR_ARM, pStrides is either an array of size dimensionCount or NULL.

The formats that must be supported for format are documented in https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#features-formats-mandatory-features-tensor.

Each element in the pStrides array describes the offset in bytes between increments of the given dimension. For example, pStrides[0] describes the offset between element [x0,x1,x2,x3] and element [x0+1,x1,x2,x3]. The pStrides array can be used to determine whether a tensor is packed or not. If pStrides[dimensionCount-1] is equal to the size of a tensor element and for each dimension n greater than 0 and less than dimensionCount, pStrides[n-1] is equal to pStrides[n] * pDimensions[n], then the tensor is a packed tensor. If the tensorNonPacked feature is not enabled, the tensor must be a packed tensor.

When a tensor is created with TENSOR_TILING_LINEAR_ARM and pStrides equal to NULL the tensor strides are calculated by the vulkan implementation such that the resulting tensor is a packed tensor.

Expressed as an addressing formula, the starting byte of an element in a 4-dimensional, for example, linear tensor has address:

// Assume (x0,x1,x2,x3) are in units of elements.

address(x0,x1,x2,x3) = x0*pStrides[0] + x1*pStrides[1] + x2*pStrides[2] + x3*pStrides[3]

Valid Usage

Valid Usage (Implicit)

  • tiling must be a valid TensorTilingARM value
  • format must be a valid Format value
  • pDimensions must be a valid pointer to an array of dimensionCount int64_t values
  • If pStrides is not NULL, pStrides must be a valid pointer to an array of dimensionCount int64_t values
  • usage must be a valid combination of TensorUsageFlagBitsARM values
  • usage must not be 0
  • dimensionCount must be greater than 0

See Also

VK_ARM_tensors, Format, PhysicalDeviceExternalTensorInfoARM, StructureType, TensorCreateInfoARM, TensorTilingARM, TensorUsageFlagsARM

Constructors

TensorDescriptionARM 

Fields

data TensorCreateInfoARM (es :: [Type]) Source #

Instances

Instances details
Extensible TensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). TensorCreateInfoARM es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). TensorCreateInfoARM ds -> Chain es -> TensorCreateInfoARM es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends TensorCreateInfoARM e => b) -> Maybe b Source #

Show (Chain es) => Show (TensorCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

(Extendss TensorCreateInfoARM es, PeekChain es) => FromCStruct (TensorCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

(Extendss TensorCreateInfoARM es, PokeChain es) => ToCStruct (TensorCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

es ~ ('[] :: [Type]) => Zero (TensorCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorViewCreateInfoARM (es :: [Type]) Source #

VkTensorViewCreateInfoARM - Structure specifying parameters of a newly created tensor view

Description

If tensor was created with the TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM flag, format can be different from the tensor’s format, but if they are not equal they must be compatible. Tensor format compatibility is defined in the Format Compatibility Classes section. Views of compatible formats will have the same mapping between element locations irrespective of the format, with only the interpretation of the bit pattern changing.

Values intended to be used with one view format may not be exactly preserved when written or read through a different format. For example, an integer value that happens to have the bit pattern of a floating-point denorm or NaN may be flushed or canonicalized when written or read through a view with a floating-point format. Similarly, a value written through a signed normalized format that has a bit pattern exactly equal to -2b may be changed to -2b + 1 as described in Conversion from Normalized Fixed-Point to Floating-Point.

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_tensors, VK_EXT_descriptor_heap, Format, ResourceDescriptorDataEXT, StructureType, TensorARM, TensorViewCreateFlagsARM, createTensorViewARM

Constructors

TensorViewCreateInfoARM 

Fields

Instances

Instances details
Extensible TensorViewCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). TensorViewCreateInfoARM es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [Type]). TensorViewCreateInfoARM ds -> Chain es -> TensorViewCreateInfoARM es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends TensorViewCreateInfoARM e => b) -> Maybe b Source #

Show (Chain es) => Show (TensorViewCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

(Extendss TensorViewCreateInfoARM es, PeekChain es) => FromCStruct (TensorViewCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

(Extendss TensorViewCreateInfoARM es, PokeChain es) => ToCStruct (TensorViewCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

es ~ ('[] :: [Type]) => Zero (TensorViewCreateInfoARM es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorMemoryRequirementsInfoARM Source #

VkTensorMemoryRequirementsInfoARM - Structure specifying memory requirements

Valid Usage (Implicit)

See Also

VK_ARM_tensors, StructureType, TensorARM, getTensorMemoryRequirementsARM

Constructors

TensorMemoryRequirementsInfoARM 

Fields

Instances

Instances details
Eq TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorMemoryRequirementsInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data BindTensorMemoryInfoARM Source #

VkBindTensorMemoryInfoARM - Structure specifying how to bind a tensor to memory

Valid Usage

  • tensor must not already be backed by a memory object

Valid Usage (Implicit)

  • pNext must be NULL
  • tensor must be a valid TensorARM handle
  • memory must be a valid DeviceMemory handle
  • Both of memory, and tensor must have been created, allocated, or retrieved from the same Device

Host Synchronization

  • Host access to tensor must be externally synchronized

See Also

VK_ARM_tensors, DeviceMemory, DeviceSize, StructureType, TensorARM, bindTensorMemoryARM

Constructors

BindTensorMemoryInfoARM 

Fields

  • tensor :: TensorARM

    tensor is the tensor to be attached to memory.

  • memory :: DeviceMemory

    memory is a DeviceMemory object describing the device memory to attach.

  • memoryOffset :: DeviceSize

    memoryOffset is the start offset of the region of memory which is to be bound to the tensor. The number of bytes returned in the MemoryRequirements::size member in memory, starting from memoryOffset bytes, will be bound to the specified tensor.

Instances

Instances details
Eq BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero BindTensorMemoryInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data WriteDescriptorSetTensorARM Source #

VkWriteDescriptorSetTensorARM - Structure specifying descriptor tensor info

Valid Usage

Valid Usage (Implicit)

  • pTensorViews must be a valid pointer to an array of tensorViewCount valid or NULL_HANDLE TensorViewARM handles
  • tensorViewCount must be greater than 0

See Also

VK_ARM_tensors, StructureType, TensorViewARM

Constructors

WriteDescriptorSetTensorARM 

Fields

data TensorFormatPropertiesARM Source #

VkTensorFormatPropertiesARM - Structure specifying properties of a format used to describe tensor elements

Valid Usage (Implicit)

See Also

VK_ARM_tensors, FormatFeatureFlags2, StructureType

Constructors

TensorFormatPropertiesARM 

Fields

Instances

Instances details
Eq TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorFormatPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data PhysicalDeviceTensorPropertiesARM Source #

VkPhysicalDeviceTensorPropertiesARM - Structure describing the tensor properties of a physical device

Description

If the PhysicalDeviceTensorPropertiesARM 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

VK_ARM_tensors, Bool32, ShaderStageFlags, StructureType

Constructors

PhysicalDeviceTensorPropertiesARM 

Fields

Instances

Instances details
Eq PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero PhysicalDeviceTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorMemoryBarrierARM Source #

VkTensorMemoryBarrierARM - Structure specifying a tensor memory barrier

Description

The first synchronization scope and access scope described by this structure include only operations and memory accesses specified by srcStageMask and srcAccessMask.

The second synchronization scope and access scope described by this structure include only operations and memory accesses specified by dstStageMask and dstAccessMask.

Both access scopes are limited to only memory accesses to tensor.

If tensor was created with SHARING_MODE_EXCLUSIVE, and srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, this memory barrier defines a queue family transfer operation. When executed on a queue in the family identified by srcQueueFamilyIndex, this barrier defines a queue family release operation for the specified tensor, and the second synchronization and access scopes do not synchronize operations on that queue. When executed on a queue in the family identified by dstQueueFamilyIndex, this barrier defines a queue family acquire operation for the specified tensor, and the first synchronization and access scopes do not synchronize operations on that queue.

A queue family transfer operation is also defined if the values are not equal, and either is one of the special queue family values reserved for external memory ownership transfers, as described in https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-queue-transfers. A queue family release operation is defined when dstQueueFamilyIndex is one of those values, and a queue family acquire operation is defined when srcQueueFamilyIndex is one of those values.

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_tensors, AccessFlags2, PipelineStageFlags2, StructureType, TensorARM, TensorDependencyInfoARM

Constructors

TensorMemoryBarrierARM 

Fields

Instances

Instances details
Eq TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorMemoryBarrierARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorDependencyInfoARM Source #

VkTensorDependencyInfoARM - Structure specifying tensor dependency information for a synchronization command

Valid Usage (Implicit)

See Also

VK_ARM_tensors, StructureType, TensorMemoryBarrierARM

Constructors

TensorDependencyInfoARM 

Fields

data PhysicalDeviceTensorFeaturesARM Source #

VkPhysicalDeviceTensorFeaturesARM - Structure describing tensor features that can be supported by an implementation

Members

The members of the PhysicalDeviceTensorFeaturesARM structure describe the following features:

Description

If the PhysicalDeviceTensorFeaturesARM 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. If the application wishes to use a Device with any features described by PhysicalDeviceTensorFeaturesARM, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_ARM_tensors, Bool32, StructureType

Constructors

PhysicalDeviceTensorFeaturesARM 

Fields

Instances

Instances details
Eq PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero PhysicalDeviceTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data DeviceTensorMemoryRequirementsARM Source #

VkDeviceTensorMemoryRequirementsARM - (None)

Valid Usage (Implicit)

See Also

VK_ARM_tensors, StructureType, TensorCreateInfoARM, getDeviceTensorMemoryRequirementsARM

Constructors

DeviceTensorMemoryRequirementsARM 

Fields

data CopyTensorInfoARM Source #

VkCopyTensorInfoARM - Structure specifying an tensor copy operation

Description

Each region in pRegions describes a region to be copied from the source tensor to a corresponding region of the destination tensor. srcTensor and dstTensor can be the same tensor or alias the same memory.

The formats of srcTensor and dstTensor must be compatible. Formats are compatible if they share the same class, as shown in the Compatible Formats table.

cmdCopyTensorARM allows copying between size-compatible internal formats.

Valid Usage

  • srcTensor and dstTensor must have been created with equal values for TensorDescriptionARM::dimensionCount

Valid Usage (Implicit)

  • pNext must be NULL
  • srcTensor must be a valid TensorARM handle
  • dstTensor must be a valid TensorARM handle
  • pRegions must be a valid pointer to an array of regionCount valid TensorCopyARM structures
  • regionCount must be greater than 0
  • Both of dstTensor, and srcTensor must have been created, allocated, or retrieved from the same Device

See Also

VK_ARM_tensors, StructureType, TensorARM, TensorCopyARM, cmdCopyTensorARM

Constructors

CopyTensorInfoARM 

Fields

data TensorCopyARM Source #

VkTensorCopyARM - Structure specifying an tensor copy region

Valid Usage

  • dimensionCount must be greater than 0 if pSrcOffset, pDstOffset, or pExtent is not NULL

Valid Usage (Implicit)

  • pNext must be NULL
  • If dimensionCount is not 0, and pSrcOffset is not NULL, pSrcOffset must be a valid pointer to an array of dimensionCount uint64_t values
  • If dimensionCount is not 0, and pDstOffset is not NULL, pDstOffset must be a valid pointer to an array of dimensionCount uint64_t values
  • If dimensionCount is not 0, and pExtent is not NULL, pExtent must be a valid pointer to an array of dimensionCount uint64_t values

See Also

VK_ARM_tensors, CopyTensorInfoARM, StructureType

Constructors

TensorCopyARM 

Fields

  • dimensionCount :: Word32

    dimensionCount is the number of elements in the pSrcOffset, pDstOffset and pExtent arrays.

  • srcOffset :: Vector Word64

    pSrcOffset is NULL or an array of size dimensionCount providing an offset into the source tensor. When pSrcOffset is NULL, the offset into the source tensor is 0 in all dimensions.

  • dstOffset :: Vector Word64

    pDstOffset is NULL or an array of size dimensionCount providing an offset into the destination tensor. When pDstOffset is NULL, the offset into the destination tensor is 0 in all dimensions.

  • extent :: Vector Word64

    pExtent is NULL or an array of size dimensionCount providing the number of elements to copy in each dimension. When pExtent is NULL, the number of elements to copy is taken as the total number of elements in each dimension of the source tensor.

data MemoryDedicatedAllocateInfoTensorARM Source #

VkMemoryDedicatedAllocateInfoTensorARM - Specify a dedicated memory allocation tensor resource

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_tensors, StructureType, TensorARM

Constructors

MemoryDedicatedAllocateInfoTensorARM 

Fields

  • tensor :: TensorARM

    tensor is a handle of a tensor which this memory will be bound to.

Instances

Instances details
Eq MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero MemoryDedicatedAllocateInfoTensorARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data PhysicalDeviceDescriptorBufferTensorPropertiesARM Source #

VkPhysicalDeviceDescriptorBufferTensorPropertiesARM - Structure describing descriptor buffer tensor properties supported by an implementation

Description

If the PhysicalDeviceDescriptorBufferTensorPropertiesARM 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

VK_ARM_tensors, VK_EXT_descriptor_buffer, StructureType

Constructors

PhysicalDeviceDescriptorBufferTensorPropertiesARM 

Fields

Instances

Instances details
Eq PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero PhysicalDeviceDescriptorBufferTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data PhysicalDeviceDescriptorBufferTensorFeaturesARM Source #

VkPhysicalDeviceDescriptorBufferTensorFeaturesARM - Structure describing the descriptor buffer tensor features that can be supported by an implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceDescriptorBufferTensorFeaturesARM 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. If the application wishes to use a Device with any features described by PhysicalDeviceDescriptorBufferTensorFeaturesARM, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, Bool32, StructureType

Constructors

PhysicalDeviceDescriptorBufferTensorFeaturesARM 

Fields

Instances

Instances details
Eq PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero PhysicalDeviceDescriptorBufferTensorFeaturesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorCaptureDescriptorDataInfoARM Source #

VkTensorCaptureDescriptorDataInfoARM - Structure specifying a tensor for descriptor capture

Valid Usage

Valid Usage (Implicit)

  • pNext must be NULL
  • tensor must be a valid TensorARM handle

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, StructureType, TensorARM, getTensorOpaqueCaptureDescriptorDataARM

Constructors

TensorCaptureDescriptorDataInfoARM 

Fields

Instances

Instances details
Eq TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data TensorViewCaptureDescriptorDataInfoARM Source #

VkTensorViewCaptureDescriptorDataInfoARM - Structure specifying a tensor view for descriptor capture

Valid Usage

Valid Usage (Implicit)

  • pNext must be NULL
  • tensorView must be a valid TensorViewARM handle

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, StructureType, TensorViewARM, getTensorViewOpaqueCaptureDescriptorDataARM

Constructors

TensorViewCaptureDescriptorDataInfoARM 

Fields

Instances

Instances details
Eq TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorViewCaptureDescriptorDataInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data DescriptorGetTensorInfoARM Source #

VkDescriptorGetTensorInfoARM - Structure specifying parameters to get descriptor data for tensor views

Valid Usage

Valid Usage (Implicit)

See Also

VK_ARM_tensors, VK_EXT_descriptor_buffer, StructureType, TensorViewARM

Constructors

DescriptorGetTensorInfoARM 

Fields

Instances

Instances details
Eq DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero DescriptorGetTensorInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data FrameBoundaryTensorsARM Source #

VkFrameBoundaryTensorsARM - Add tensor frame boundary information to queue submissions

Valid Usage (Implicit)

See Also

VK_ARM_tensors, VK_EXT_frame_boundary, StructureType, TensorARM

Constructors

FrameBoundaryTensorsARM 

Fields

data PhysicalDeviceExternalTensorInfoARM Source #

VkPhysicalDeviceExternalTensorInfoARM - Structure specifying tensor creation parameters.

Valid Usage (Implicit)

See Also

VK_ARM_tensors, ExternalMemoryHandleTypeFlagBits, StructureType, TensorCreateFlagsARM, TensorDescriptionARM, getPhysicalDeviceExternalTensorPropertiesARM

Constructors

PhysicalDeviceExternalTensorInfoARM 

Fields

data ExternalTensorPropertiesARM Source #

VkExternalTensorPropertiesARM - Structure specifying supported external handle capabilities for a tensor

Valid Usage (Implicit)

See Also

VK_ARM_tensors, ExternalMemoryProperties, StructureType, getPhysicalDeviceExternalTensorPropertiesARM

Constructors

ExternalTensorPropertiesARM 

Fields

Instances

Instances details
Storable ExternalTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show ExternalTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct ExternalTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct ExternalTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero ExternalTensorPropertiesARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

data ExternalMemoryTensorCreateInfoARM Source #

VkExternalMemoryTensorCreateInfoARM - Specify that a tensor may be backed by external memory

Members

A ExternalMemoryTensorCreateInfoARM structure with a non-zero handleTypes field must be included in the creation parameters for a tensor that will be bound to memory that is either exported or imported.

Valid Usage (Implicit)

See Also

VK_ARM_tensors, ExternalMemoryHandleTypeFlags, StructureType

Constructors

ExternalMemoryTensorCreateInfoARM 

Fields

Instances

Instances details
Eq ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FromCStruct ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

ToCStruct ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero ExternalMemoryTensorCreateInfoARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

newtype TensorCreateFlagBitsARM Source #

VkTensorCreateFlagBitsARM - Bitmask specifying additional parameters of a tensor

Description

See Also

VK_ARM_tensors, TensorCreateFlagsARM

Instances

Instances details
Bits TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FiniteBits TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Eq TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Ord TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Read TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

newtype TensorUsageFlagBitsARM Source #

VkTensorUsageFlagBitsARM - Bitmask specifying allowed usage of a tensor

Description

See Also

VK_ARM_tensors, TensorUsageFlagsARM

Instances

Instances details
Bits TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

FiniteBits TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Eq TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Ord TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Read TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorUsageFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

newtype TensorTilingARM Source #

VkTensorTilingARM - Specifies the tiling arrangement of data in an tensor

Description

  • TENSOR_TILING_OPTIMAL_ARM specifies optimal tiling (elements are laid out in an implementation-dependent arrangement, for more efficient memory access).
  • TENSOR_TILING_LINEAR_ARM specifies linear tiling (elements are laid out linearly and the offset between each element is determined by the strides of the tensor).

See Also

VK_ARM_tensors, TensorDescriptionARM

Constructors

TensorTilingARM Int32 

Instances

Instances details
Eq TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Ord TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Read TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorTilingARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

newtype TensorViewCreateFlagBitsARM Source #

VkTensorViewCreateFlagBitsARM - Bitmask specifying additional parameters of an tensor view

Description

See Also

VK_ARM_tensors, TensorViewCreateFlagsARM

Instances

Instances details
Bits TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Methods

(.&.) :: TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM #

(.|.) :: TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM #

xor :: TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM #

complement :: TensorViewCreateFlagBitsARM -> TensorViewCreateFlagBitsARM #

shift :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

rotate :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

zeroBits :: TensorViewCreateFlagBitsARM #

bit :: Int -> TensorViewCreateFlagBitsARM #

setBit :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

clearBit :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

complementBit :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

testBit :: TensorViewCreateFlagBitsARM -> Int -> Bool #

bitSizeMaybe :: TensorViewCreateFlagBitsARM -> Maybe Int #

bitSize :: TensorViewCreateFlagBitsARM -> Int #

isSigned :: TensorViewCreateFlagBitsARM -> Bool #

shiftL :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

unsafeShiftL :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

shiftR :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

unsafeShiftR :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

rotateL :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

rotateR :: TensorViewCreateFlagBitsARM -> Int -> TensorViewCreateFlagBitsARM #

popCount :: TensorViewCreateFlagBitsARM -> Int #

FiniteBits TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Eq TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Ord TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Storable TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Read TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Show TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

Zero TensorViewCreateFlagBitsARM Source # 
Instance details

Defined in Vulkan.Extensions.VK_ARM_tensors

type ARM_TENSORS_EXTENSION_NAME = "VK_ARM_tensors" Source #

newtype TensorARM Source #

Constructors

TensorARM Word64 

Instances

Instances details
Eq TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero TensorARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

newtype TensorViewARM Source #

Constructors

TensorViewARM Word64 

Instances

Instances details
Eq TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero TensorViewARM Source # 
Instance details

Defined in Vulkan.Extensions.Handles