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

Vulkan.Extensions.VK_EXT_subgroup_size_control

Synopsis

Documentation

data PhysicalDeviceSubgroupSizeControlFeaturesEXT Source #

VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - Structure describing the subgroup size control features that can be supported by an implementation

Members

The members of the PhysicalDeviceSubgroupSizeControlFeaturesEXT structure describe the following features:

Description

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

Note

The PhysicalDeviceSubgroupSizeControlFeaturesEXT structure was added in version 2 of the VK_EXT_subgroup_size_control extension. Version 1 implementations of this extension will not fill out the features structure but applications may assume that both subgroupSizeControl and computeFullSubgroups are supported if the extension is supported. (See also the Feature Requirements section.) Applications are advised to add a PhysicalDeviceSubgroupSizeControlFeaturesEXT structure to the pNext chain of DeviceCreateInfo to enable the features regardless of the version of the extension supported by the implementation. If the implementation only supports version 1, it will safely ignore the PhysicalDeviceSubgroupSizeControlFeaturesEXT structure.

Valid Usage (Implicit)

See Also

Bool32, StructureType

Constructors

PhysicalDeviceSubgroupSizeControlFeaturesEXT 

Fields

Instances

Instances details
Eq PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Show PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Generic PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Storable PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

FromCStruct PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

ToCStruct PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Zero PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PhysicalDeviceSubgroupSizeControlFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PhysicalDeviceSubgroupSizeControlFeaturesEXT = D1 ('MetaData "PhysicalDeviceSubgroupSizeControlFeaturesEXT" "Vulkan.Extensions.VK_EXT_subgroup_size_control" "vulkan-3.6.4-inplace" 'False) (C1 ('MetaCons "PhysicalDeviceSubgroupSizeControlFeaturesEXT" 'PrefixI 'True) (S1 ('MetaSel ('Just "subgroupSizeControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "computeFullSubgroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))

data PhysicalDeviceSubgroupSizeControlPropertiesEXT Source #

VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - Structure describing the control subgroup size properties of an implementation

Members

The members of the PhysicalDeviceSubgroupSizeControlPropertiesEXT structure describe the following properties:

Description

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

If PhysicalDeviceSubgroupProperties::supportedOperations includes https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subgroup-quad, minSubgroupSize must be greater than or equal to 4.

Valid Usage (Implicit)

See Also

ShaderStageFlags, StructureType

Constructors

PhysicalDeviceSubgroupSizeControlPropertiesEXT 

Fields

Instances

Instances details
Eq PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Show PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Generic PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Storable PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

FromCStruct PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

ToCStruct PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Zero PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PhysicalDeviceSubgroupSizeControlPropertiesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PhysicalDeviceSubgroupSizeControlPropertiesEXT = D1 ('MetaData "PhysicalDeviceSubgroupSizeControlPropertiesEXT" "Vulkan.Extensions.VK_EXT_subgroup_size_control" "vulkan-3.6.4-inplace" 'False) (C1 ('MetaCons "PhysicalDeviceSubgroupSizeControlPropertiesEXT" 'PrefixI 'True) ((S1 ('MetaSel ('Just "minSubgroupSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "maxSubgroupSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "maxComputeWorkgroupSubgroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32) :*: S1 ('MetaSel ('Just "requiredSubgroupSizeStages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ShaderStageFlags))))

data PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source #

VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - Structure specifying the required subgroup size of a newly created pipeline shader stage

Valid Usage

Description

If a PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure is included in the pNext chain of PipelineShaderStageCreateInfo, it specifies that the pipeline shader stage being compiled has a required subgroup size.

Valid Usage (Implicit)

See Also

StructureType

Constructors

PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT 

Fields

Instances

Instances details
Eq PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Show PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Generic PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Storable PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

FromCStruct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

ToCStruct PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

Zero PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subgroup_size_control

type Rep PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = D1 ('MetaData "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT" "Vulkan.Extensions.VK_EXT_subgroup_size_control" "vulkan-3.6.4-inplace" 'False) (C1 ('MetaCons "PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT" 'PrefixI 'True) (S1 ('MetaSel ('Just "requiredSubgroupSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Word32)))

type EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME = "VK_EXT_subgroup_size_control" Source #