vulkan-3.4: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_cooperative_matrix

Synopsis

Documentation

getPhysicalDeviceCooperativeMatrixPropertiesNV Source #

Arguments

:: forall io. MonadIO io 
=> PhysicalDevice

physicalDevice is the physical device.

-> io (Result, "properties" ::: Vector CooperativeMatrixPropertiesNV) 

vkGetPhysicalDeviceCooperativeMatrixPropertiesNV - Returns properties describing what cooperative matrix types are supported

Description

If pProperties is NULL, then the number of cooperative matrix properties available is returned in pPropertyCount. Otherwise, pPropertyCount must point to a variable set by the user to the number of elements in the pProperties array, and on return the variable is overwritten with the number of structures actually written to pProperties. If pPropertyCount is less than the number of cooperative matrix properties available, at most pPropertyCount structures will be written. If pPropertyCount is smaller than the number of cooperative matrix properties available, INCOMPLETE will be returned instead of SUCCESS, to indicate that not all the available cooperative matrix properties were returned.

Valid Usage (Implicit)

  • pPropertyCount must be a valid pointer to a uint32_t value
  • If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount CooperativeMatrixPropertiesNV structures

Return Codes

Success
Failure

See Also

CooperativeMatrixPropertiesNV, PhysicalDevice

data PhysicalDeviceCooperativeMatrixFeaturesNV Source #

VkPhysicalDeviceCooperativeMatrixFeaturesNV - Structure describing cooperative matrix features that can be supported by an implementation

Members

The members of the PhysicalDeviceCooperativeMatrixFeaturesNV structure describe the following features:

Description

If the PhysicalDeviceCooperativeMatrixFeaturesNV structure is included in the pNext chain of PhysicalDeviceFeatures2, it is filled with values indicating whether the feature is supported. PhysicalDeviceCooperativeMatrixFeaturesNV can also be included in the pNext chain of DeviceCreateInfo to enable features.

Valid Usage (Implicit)

See Also

Bool32, StructureType

Constructors

PhysicalDeviceCooperativeMatrixFeaturesNV 

Fields

  • cooperativeMatrix :: Bool

    cooperativeMatrix indicates that the implementation supports the CooperativeMatrixNV SPIR-V capability.

  • cooperativeMatrixRobustBufferAccess :: Bool

    cooperativeMatrixRobustBufferAccess indicates that the implementation supports robust buffer access for SPIR-V OpCooperativeMatrixLoadNV and OpCooperativeMatrixStoreNV instructions.

Instances

Instances details
Eq PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Show PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Generic PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Storable PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

FromCStruct PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

ToCStruct PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Zero PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type Rep PhysicalDeviceCooperativeMatrixFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type Rep PhysicalDeviceCooperativeMatrixFeaturesNV = D1 ('MetaData "PhysicalDeviceCooperativeMatrixFeaturesNV" "Vulkan.Extensions.VK_NV_cooperative_matrix" "vulkan-3.4-inplace" 'False) (C1 ('MetaCons "PhysicalDeviceCooperativeMatrixFeaturesNV" 'PrefixI 'True) (S1 ('MetaSel ('Just "cooperativeMatrix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "cooperativeMatrixRobustBufferAccess") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))

data PhysicalDeviceCooperativeMatrixPropertiesNV Source #

VkPhysicalDeviceCooperativeMatrixPropertiesNV - Structure describing cooperative matrix properties supported by an implementation

Members

The members of the PhysicalDeviceCooperativeMatrixPropertiesNV structure describe the following implementation-dependent limits:

Description

If the PhysicalDeviceCooperativeMatrixPropertiesNV structure is included in the pNext chain of PhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

Valid Usage (Implicit)

See Also

ShaderStageFlags, StructureType

Constructors

PhysicalDeviceCooperativeMatrixPropertiesNV 

Fields

Instances

Instances details
Eq PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Show PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Generic PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Storable PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

FromCStruct PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

ToCStruct PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Zero PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type Rep PhysicalDeviceCooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type Rep PhysicalDeviceCooperativeMatrixPropertiesNV = D1 ('MetaData "PhysicalDeviceCooperativeMatrixPropertiesNV" "Vulkan.Extensions.VK_NV_cooperative_matrix" "vulkan-3.4-inplace" 'False) (C1 ('MetaCons "PhysicalDeviceCooperativeMatrixPropertiesNV" 'PrefixI 'True) (S1 ('MetaSel ('Just "cooperativeMatrixSupportedStages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ShaderStageFlags)))

data CooperativeMatrixPropertiesNV Source #

VkCooperativeMatrixPropertiesNV - Structure specifying cooperative matrix properties

Description

If some types are preferred over other types (e.g. for performance), they should appear earlier in the list enumerated by getPhysicalDeviceCooperativeMatrixPropertiesNV.

At least one entry in the list must have power of two values for all of MSize, KSize, and NSize.

Valid Usage (Implicit)

See Also

ComponentTypeNV, ScopeNV, StructureType, getPhysicalDeviceCooperativeMatrixPropertiesNV

Constructors

CooperativeMatrixPropertiesNV 

Fields

Instances

Instances details
Eq CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Show CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Generic CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Associated Types

type Rep CooperativeMatrixPropertiesNV :: Type -> Type #

Storable CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

FromCStruct CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

ToCStruct CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Zero CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type Rep CooperativeMatrixPropertiesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

newtype ScopeNV Source #

VkScopeNV - Specify SPIR-V scope

Description

All enum values match the corresponding SPIR-V value.

See Also

CooperativeMatrixPropertiesNV

Constructors

ScopeNV Int32 

Bundled Patterns

pattern SCOPE_DEVICE_NV :: ScopeNV

SCOPE_DEVICE_NV corresponds to SPIR-V Device scope.

pattern SCOPE_WORKGROUP_NV :: ScopeNV

SCOPE_WORKGROUP_NV corresponds to SPIR-V Workgroup scope.

pattern SCOPE_SUBGROUP_NV :: ScopeNV

SCOPE_SUBGROUP_NV corresponds to SPIR-V Subgroup scope.

pattern SCOPE_QUEUE_FAMILY_NV :: ScopeNV

SCOPE_QUEUE_FAMILY_NV corresponds to SPIR-V QueueFamily scope.

Instances

Instances details
Eq ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Methods

(==) :: ScopeNV -> ScopeNV -> Bool #

(/=) :: ScopeNV -> ScopeNV -> Bool #

Ord ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Read ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Show ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Storable ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Zero ScopeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Methods

zero :: ScopeNV Source #

newtype ComponentTypeNV Source #

VkComponentTypeNV - Specify SPIR-V cooperative matrix component type

See Also

CooperativeMatrixPropertiesNV

Constructors

ComponentTypeNV Int32 

Bundled Patterns

pattern COMPONENT_TYPE_FLOAT16_NV :: ComponentTypeNV

COMPONENT_TYPE_FLOAT16_NV corresponds to SPIR-V OpTypeFloat 16.

pattern COMPONENT_TYPE_FLOAT32_NV :: ComponentTypeNV

COMPONENT_TYPE_FLOAT32_NV corresponds to SPIR-V OpTypeFloat 32.

pattern COMPONENT_TYPE_FLOAT64_NV :: ComponentTypeNV

COMPONENT_TYPE_FLOAT64_NV corresponds to SPIR-V OpTypeFloat 64.

pattern COMPONENT_TYPE_SINT8_NV :: ComponentTypeNV

COMPONENT_TYPE_SINT8_NV corresponds to SPIR-V OpTypeInt 8 1.

pattern COMPONENT_TYPE_SINT16_NV :: ComponentTypeNV

COMPONENT_TYPE_SINT16_NV corresponds to SPIR-V OpTypeInt 16 1.

pattern COMPONENT_TYPE_SINT32_NV :: ComponentTypeNV

COMPONENT_TYPE_SINT32_NV corresponds to SPIR-V OpTypeInt 32 1.

pattern COMPONENT_TYPE_SINT64_NV :: ComponentTypeNV

COMPONENT_TYPE_SINT64_NV corresponds to SPIR-V OpTypeInt 64 1.

pattern COMPONENT_TYPE_UINT8_NV :: ComponentTypeNV

COMPONENT_TYPE_UINT8_NV corresponds to SPIR-V OpTypeInt 8 0.

pattern COMPONENT_TYPE_UINT16_NV :: ComponentTypeNV

COMPONENT_TYPE_UINT16_NV corresponds to SPIR-V OpTypeInt 16 0.

pattern COMPONENT_TYPE_UINT32_NV :: ComponentTypeNV

COMPONENT_TYPE_UINT32_NV corresponds to SPIR-V OpTypeInt 32 0.

pattern COMPONENT_TYPE_UINT64_NV :: ComponentTypeNV

COMPONENT_TYPE_UINT64_NV corresponds to SPIR-V OpTypeInt 64 0.

Instances

Instances details
Eq ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Ord ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Read ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Show ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Storable ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

Zero ComponentTypeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_cooperative_matrix

type NV_COOPERATIVE_MATRIX_EXTENSION_NAME = "VK_NV_cooperative_matrix" Source #

pattern NV_COOPERATIVE_MATRIX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #