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

Vulkan.Core10.Pipeline

Synopsis

Documentation

createGraphicsPipelines Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the graphics pipelines.

-> PipelineCache

pipelineCache is either NULL_HANDLE, indicating that pipeline caching is disabled; or the handle of a valid pipeline cache object, in which case use of that cache is enabled for the duration of the command.

-> ("createInfos" ::: Vector (SomeStruct GraphicsPipelineCreateInfo))

pCreateInfos is a pointer to an array of GraphicsPipelineCreateInfo structures.

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

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

-> io (Result, "pipelines" ::: Vector Pipeline) 

vkCreateGraphicsPipelines - Create graphics pipelines

Description

The GraphicsPipelineCreateInfo structure includes an array of shader create info structures containing all the desired active shader stages, as well as creation info to define all relevant fixed-function stages, and a pipeline layout.

Valid Usage

  • If the flags member of any element of pCreateInfos contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element

Note

An implicit cache may be provided by the implementation or a layer. For this reason, it is still valid to set PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT on flags for any element of pCreateInfos while passing NULL_HANDLE for pipelineCache.

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If pipelineCache is not NULL_HANDLE, pipelineCache must be a valid PipelineCache handle
  • pCreateInfos must be a valid pointer to an array of createInfoCount valid GraphicsPipelineCreateInfo structures
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pPipelines must be a valid pointer to an array of createInfoCount Pipeline handles
  • createInfoCount must be greater than 0
  • If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device

Return Codes

Success
Failure

See Also

AllocationCallbacks, Device, GraphicsPipelineCreateInfo, Pipeline, PipelineCache

withGraphicsPipelines :: forall io r. MonadIO io => Device -> PipelineCache -> Vector (SomeStruct GraphicsPipelineCreateInfo) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createGraphicsPipelines and destroyPipeline

To ensure that destroyPipeline is always called: pass bracket (or the allocate function from your favourite resource management library) as the first argument. To just extract the pair pass (,) as the first argument.

createComputePipelines Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that creates the compute pipelines.

-> PipelineCache

pipelineCache is either NULL_HANDLE, indicating that pipeline caching is disabled; or the handle of a valid pipeline cache object, in which case use of that cache is enabled for the duration of the command.

-> ("createInfos" ::: Vector (SomeStruct ComputePipelineCreateInfo))

pCreateInfos is a pointer to an array of ComputePipelineCreateInfo structures.

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

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

-> io (Result, "pipelines" ::: Vector Pipeline) 

vkCreateComputePipelines - Creates a new compute pipeline object

Valid Usage

  • If the flags member of any element of pCreateInfos contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element

Valid Usage (Implicit)

  • device must be a valid Device handle
  • If pipelineCache is not NULL_HANDLE, pipelineCache must be a valid PipelineCache handle
  • pCreateInfos must be a valid pointer to an array of createInfoCount valid ComputePipelineCreateInfo structures
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure
  • pPipelines must be a valid pointer to an array of createInfoCount Pipeline handles
  • createInfoCount must be greater than 0
  • If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device

Return Codes

Success
Failure

See Also

AllocationCallbacks, ComputePipelineCreateInfo, Device, Pipeline, PipelineCache

withComputePipelines :: forall io r. MonadIO io => Device -> PipelineCache -> Vector (SomeStruct ComputePipelineCreateInfo) -> Maybe AllocationCallbacks -> (io (Result, Vector Pipeline) -> ((Result, Vector Pipeline) -> io ()) -> r) -> r Source #

A convenience wrapper to make a compatible pair of calls to createComputePipelines and destroyPipeline

To ensure that destroyPipeline is always called: pass bracket (or the allocate function from your favourite resource management library) as the first argument. To just extract the pair pass (,) as the first argument.

destroyPipeline Source #

Arguments

:: forall io. MonadIO io 
=> Device

device is the logical device that destroys the pipeline.

-> Pipeline

pipeline is the handle of the pipeline to destroy.

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

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

-> io () 

vkDestroyPipeline - Destroy a pipeline object

Valid Usage

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

Valid Usage (Implicit)

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

Host Synchronization

  • Host access to pipeline must be externally synchronized

See Also

AllocationCallbacks, Device, Pipeline

data Viewport Source #

VkViewport - Structure specifying a viewport

Description

The framebuffer depth coordinate zf may be represented using either a fixed-point or floating-point representation. However, a floating-point representation must be used if the depth/stencil attachment has a floating-point depth component. If an m-bit fixed-point representation is used, we assume that it represents each value \(\frac{k}{2^m - 1}\), where k ∈ { 0, 1, …​, 2m-1 }, as k (e.g. 1.0 is represented in binary as a string of all ones).

The viewport parameters shown in the above equations are found from these values as

  • ox = x + width / 2
  • oy = y + height / 2
  • oz = minDepth
  • px = width
  • py = height
  • pz = maxDepth - minDepth.

If a render pass transform is enabled, the values (px,py) and (ox, oy) defining the viewport are transformed as described in render pass transform before participating in the viewport transform.

The application can specify a negative term for height, which has the effect of negating the y coordinate in clip space before performing the transform. When using a negative height, the application should also adjust the y value to point to the lower left corner of the viewport instead of the upper left corner. Using the negative height allows the application to avoid having to negate the y component of the Position output from the last vertex processing stage in shaders that also target other graphics APIs.

The width and height of the implementation-dependent maximum viewport dimensions must be greater than or equal to the width and height of the largest image which can be created and attached to a framebuffer.

The floating-point viewport bounds are represented with an implementation-dependent precision.

Valid Usage

  • width must be greater than 0.0
  • width must be less than or equal to PhysicalDeviceLimits::maxViewportDimensions[0]
  • The absolute value of height must be less than or equal to PhysicalDeviceLimits::maxViewportDimensions[1]
  • x must be greater than or equal to viewportBoundsRange[0]
  • (x + width) must be less than or equal to viewportBoundsRange[1]
  • y must be greater than or equal to viewportBoundsRange[0]
  • y must be less than or equal to viewportBoundsRange[1]
  • (y + height) must be greater than or equal to viewportBoundsRange[0]
  • (y + height) must be less than or equal to viewportBoundsRange[1]
  • Unless VK_EXT_depth_range_unrestricted extension is enabled minDepth must be between 0.0 and 1.0, inclusive
  • Unless VK_EXT_depth_range_unrestricted extension is enabled maxDepth must be between 0.0 and 1.0, inclusive

See Also

PipelineViewportStateCreateInfo, cmdSetViewport, cmdSetViewportWithCountEXT

Constructors

Viewport 

Fields

  • x :: Float

    x and y are the viewport’s upper left corner (x,y).

  • y :: Float
     
  • width :: Float

    width and height are the viewport’s width and height, respectively.

  • height :: Float
     
  • minDepth :: Float

    minDepth and maxDepth are the depth range for the viewport. It is valid for minDepth to be greater than or equal to maxDepth.

  • maxDepth :: Float
     

data SpecializationMapEntry Source #

VkSpecializationMapEntry - Structure specifying a specialization map entry

Description

If a constantID value is not a specialization constant ID used in the shader, that map entry does not affect the behavior of the pipeline.

Valid Usage

  • For a constantID specialization constant declared in a shader, size must match the byte size of the constantID. If the specialization constant is of type boolean, size must be the byte size of Bool32

See Also

SpecializationInfo

Constructors

SpecializationMapEntry 

Fields

  • constantID :: Word32

    constantID is the ID of the specialization constant in SPIR-V.

  • offset :: Word32

    offset is the byte offset of the specialization constant value within the supplied data buffer.

  • size :: Word64

    size is the byte size of the specialization constant value within the supplied data buffer.

Instances

Instances details
Eq SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero SpecializationMapEntry Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

data SpecializationInfo Source #

VkSpecializationInfo - Structure specifying specialization info

Description

pMapEntries is a pointer to a SpecializationMapEntry structure.

Valid Usage

  • The offset member of each element of pMapEntries must be less than dataSize
  • The size member of each element of pMapEntries must be less than or equal to dataSize minus offset

Valid Usage (Implicit)

  • If mapEntryCount is not 0, pMapEntries must be a valid pointer to an array of mapEntryCount valid SpecializationMapEntry structures
  • If dataSize is not 0, pData must be a valid pointer to an array of dataSize bytes

See Also

PipelineShaderStageCreateInfo, SpecializationMapEntry

Constructors

SpecializationInfo 

Fields

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

VkPipelineShaderStageCreateInfo - Structure specifying parameters of a newly created pipeline shader stage

Valid Usage

Valid Usage (Implicit)

See Also

ComputePipelineCreateInfo, GraphicsPipelineCreateInfo, GraphicsShaderGroupCreateInfoNV, PipelineShaderStageCreateFlags, RayTracingPipelineCreateInfoKHR, RayTracingPipelineCreateInfoNV, ShaderModule, ShaderStageFlagBits, SpecializationInfo, StructureType

Constructors

PipelineShaderStageCreateInfo 

Fields

Instances

Instances details
Extensible PipelineShaderStageCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Methods

extensibleType :: StructureType Source #

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

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

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

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

VkComputePipelineCreateInfo - Structure specifying parameters of a newly created compute pipeline

Description

The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.

Valid Usage

Valid Usage (Implicit)

See Also

Pipeline, PipelineCreateFlags, PipelineLayout, PipelineShaderStageCreateInfo, StructureType, createComputePipelines

Constructors

ComputePipelineCreateInfo 

Fields

Instances

Instances details
Extensible ComputePipelineCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Methods

extensibleType :: StructureType Source #

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

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

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

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

data VertexInputBindingDescription Source #

VkVertexInputBindingDescription - Structure specifying vertex input binding description

Valid Usage

Valid Usage (Implicit)

See Also

PipelineVertexInputStateCreateInfo, VertexInputRate

Constructors

VertexInputBindingDescription 

Fields

  • binding :: Word32

    binding is the binding number that this structure describes.

  • stride :: Word32

    stride is the distance in bytes between two consecutive elements within the buffer.

  • inputRate :: VertexInputRate

    inputRate is a VertexInputRate value specifying whether vertex attribute addressing is a function of the vertex index or of the instance index.

Instances

Instances details
Eq VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero VertexInputBindingDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

data VertexInputAttributeDescription Source #

VkVertexInputAttributeDescription - Structure specifying vertex input attribute description

Valid Usage

Valid Usage (Implicit)

  • format must be a valid Format value

See Also

Format, PipelineVertexInputStateCreateInfo

Constructors

VertexInputAttributeDescription 

Fields

  • location :: Word32

    location is the shader binding location number for this attribute.

  • binding :: Word32

    binding is the binding number which this attribute takes its data from.

  • format :: Format

    format is the size and type of the vertex attribute data.

  • offset :: Word32

    offset is a byte offset of this attribute relative to the start of an element in the vertex input binding.

Instances

Instances details
Eq VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero VertexInputAttributeDescription Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

VkPipelineVertexInputStateCreateInfo - Structure specifying parameters of a newly created pipeline vertex input state

Valid Usage

  • vertexBindingDescriptionCount must be less than or equal to PhysicalDeviceLimits::maxVertexInputBindings
  • vertexAttributeDescriptionCount must be less than or equal to PhysicalDeviceLimits::maxVertexInputAttributes
  • For every binding specified by each element of pVertexAttributeDescriptions, a VertexInputBindingDescription must exist in pVertexBindingDescriptions with the same value of binding
  • All elements of pVertexBindingDescriptions must describe distinct binding numbers
  • All elements of pVertexAttributeDescriptions must describe distinct attribute locations

Valid Usage (Implicit)

  • pNext must be NULL or a pointer to a valid instance of PipelineVertexInputDivisorStateCreateInfoEXT
  • The sType value of each struct in the pNext chain must be unique
  • flags must be 0
  • If vertexBindingDescriptionCount is not 0, pVertexBindingDescriptions must be a valid pointer to an array of vertexBindingDescriptionCount valid VertexInputBindingDescription structures
  • If vertexAttributeDescriptionCount is not 0, pVertexAttributeDescriptions must be a valid pointer to an array of vertexAttributeDescriptionCount valid VertexInputAttributeDescription structures

See Also

GraphicsPipelineCreateInfo, GraphicsShaderGroupCreateInfoNV, PipelineVertexInputStateCreateFlags, StructureType, VertexInputAttributeDescription, VertexInputBindingDescription

Constructors

PipelineVertexInputStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineVertexInputStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

data PipelineInputAssemblyStateCreateInfo Source #

VkPipelineInputAssemblyStateCreateInfo - Structure specifying parameters of a newly created pipeline input assembly state

Description

Restarting the assembly of primitives discards the most recent index values if those elements formed an incomplete primitive, and restarts the primitive assembly using the subsequent indices, but only assembling the immediately following element through the end of the originally specified elements. The primitive restart index value comparison is performed before adding the vertexOffset value to the index value.

Valid Usage

Valid Usage (Implicit)

See Also

Bool32, GraphicsPipelineCreateInfo, PipelineInputAssemblyStateCreateFlags, PrimitiveTopology, StructureType

Constructors

PipelineInputAssemblyStateCreateInfo 

Fields

Instances

Instances details
Eq PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero PipelineInputAssemblyStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

VkPipelineTessellationStateCreateInfo - Structure specifying parameters of a newly created pipeline tessellation state

Valid Usage

  • patchControlPoints must be greater than zero and less than or equal to PhysicalDeviceLimits::maxTessellationPatchSize

Valid Usage (Implicit)

See Also

GraphicsPipelineCreateInfo, GraphicsShaderGroupCreateInfoNV, PipelineTessellationStateCreateFlags, StructureType

Constructors

PipelineTessellationStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineTessellationStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

VkPipelineViewportStateCreateInfo - Structure specifying parameters of a newly created pipeline viewport state

Valid Usage

  • If the multiple viewports feature is not enabled, viewportCount must not be greater than 1

Valid Usage (Implicit)

See Also

GraphicsPipelineCreateInfo, PipelineViewportStateCreateFlags, Rect2D, StructureType, Viewport

Constructors

PipelineViewportStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineViewportStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

VkPipelineRasterizationStateCreateInfo - Structure specifying parameters of a newly created pipeline rasterization state

Description

The application can also add a PipelineRasterizationStateRasterizationOrderAMD structure to the pNext chain of a PipelineRasterizationStateCreateInfo structure. This structure enables selecting the rasterization order to use when rendering with the corresponding graphics pipeline as described in Rasterization Order.

Valid Usage

Valid Usage (Implicit)

See Also

Bool32, CullModeFlags, FrontFace, GraphicsPipelineCreateInfo, PipelineRasterizationStateCreateFlags, PolygonMode, StructureType

Constructors

PipelineRasterizationStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineRasterizationStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

VkPipelineMultisampleStateCreateInfo - Structure specifying parameters of a newly created pipeline multisample state

Description

Each bit in the sample mask is associated with a unique sample index as defined for the coverage mask. Each bit b for mask word w in the sample mask corresponds to sample index i, where i = 32 × w + b. pSampleMask has a length equal to ⌈ rasterizationSamples / 32 ⌉ words.

If pSampleMask is NULL, it is treated as if the mask has all bits set to 1.

Valid Usage

  • If the alpha to one feature is not enabled, alphaToOneEnable must be FALSE
  • minSampleShading must be in the range [0,1]
  • If the VK_NV_framebuffer_mixed_samples extension is enabled, and if the subpass has any color attachments and rasterizationSamples is greater than the number of color samples, then sampleShadingEnable must be FALSE

Valid Usage (Implicit)

See Also

Bool32, GraphicsPipelineCreateInfo, PipelineMultisampleStateCreateFlags, SampleCountFlagBits, SampleMask, StructureType

Constructors

PipelineMultisampleStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineMultisampleStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

data PipelineColorBlendAttachmentState Source #

VkPipelineColorBlendAttachmentState - Structure specifying a pipeline color blend attachment state

Valid Usage

Valid Usage (Implicit)

See Also

BlendFactor, BlendOp, Bool32, ColorComponentFlags, PipelineColorBlendStateCreateInfo

Constructors

PipelineColorBlendAttachmentState 

Fields

Instances

Instances details
Eq PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero PipelineColorBlendAttachmentState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

VkPipelineColorBlendStateCreateInfo - Structure specifying parameters of a newly created pipeline color blend state

Description

Each element of the pAttachments array is a PipelineColorBlendAttachmentState structure specifying per-target blending state for each individual color attachment. If the independent blending feature is not enabled on the device, all PipelineColorBlendAttachmentState elements in the pAttachments array must be identical.

The value of attachmentCount must be greater than the index of all color attachments that are not ATTACHMENT_UNUSED in SubpassDescription::pColorAttachments or SubpassDescription2::pColorAttachments for the subpass in which this pipeline is used.

Valid Usage

Valid Usage (Implicit)

See Also

Bool32, GraphicsPipelineCreateInfo, LogicOp, PipelineColorBlendAttachmentState, PipelineColorBlendStateCreateFlags, StructureType

Constructors

PipelineColorBlendStateCreateInfo 

Fields

Instances

Instances details
Extensible PipelineColorBlendStateCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

data PipelineDynamicStateCreateInfo Source #

VkPipelineDynamicStateCreateInfo - Structure specifying parameters of a newly created pipeline dynamic state

Valid Usage

  • Each element of pDynamicStates must be unique

Valid Usage (Implicit)

  • pNext must be NULL
  • flags must be 0
  • If dynamicStateCount is not 0, pDynamicStates must be a valid pointer to an array of dynamicStateCount valid DynamicState values

See Also

DynamicState, GraphicsPipelineCreateInfo, PipelineDynamicStateCreateFlags, StructureType

Constructors

PipelineDynamicStateCreateInfo 

Fields

data StencilOpState Source #

VkStencilOpState - Structure specifying stencil operation state

Valid Usage (Implicit)

See Also

CompareOp, PipelineDepthStencilStateCreateInfo, StencilOp

Constructors

StencilOpState 

Fields

  • failOp :: StencilOp

    failOp is a StencilOp value specifying the action performed on samples that fail the stencil test.

    failOp must be a valid StencilOp value

  • passOp :: StencilOp

    passOp is a StencilOp value specifying the action performed on samples that pass both the depth and stencil tests.

    passOp must be a valid StencilOp value

  • depthFailOp :: StencilOp

    depthFailOp is a StencilOp value specifying the action performed on samples that pass the stencil test and fail the depth test.

    depthFailOp must be a valid StencilOp value

  • compareOp :: CompareOp

    compareOp is a CompareOp value specifying the comparison operator used in the stencil test.

    compareOp must be a valid CompareOp value

  • compareMask :: Word32

    compareMask selects the bits of the unsigned integer stencil values participating in the stencil test.

  • writeMask :: Word32

    writeMask selects the bits of the unsigned integer stencil values updated by the stencil test in the stencil framebuffer attachment.

  • reference :: Word32

    reference is an integer reference value that is used in the unsigned stencil comparison.

Instances

Instances details
Eq StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Show StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Storable StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

FromCStruct StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

ToCStruct StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Zero StencilOpState Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

data PipelineDepthStencilStateCreateInfo Source #

VkPipelineDepthStencilStateCreateInfo - Structure specifying parameters of a newly created pipeline depth stencil state

Valid Usage

Valid Usage (Implicit)

See Also

Bool32, CompareOp, GraphicsPipelineCreateInfo, PipelineDepthStencilStateCreateFlags, StencilOpState, StructureType

Constructors

PipelineDepthStencilStateCreateInfo 

Fields

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

VkGraphicsPipelineCreateInfo - Structure specifying parameters of a newly created graphics pipeline

Description

The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.

If any shader stage fails to compile, the compile log will be reported back to the application, and ERROR_INVALID_SHADER_NV will be generated.

Valid Usage

Valid Usage (Implicit)

See Also

Pipeline, PipelineColorBlendStateCreateInfo, PipelineCreateFlags, PipelineDepthStencilStateCreateInfo, PipelineDynamicStateCreateInfo, PipelineInputAssemblyStateCreateInfo, PipelineLayout, PipelineMultisampleStateCreateInfo, PipelineRasterizationStateCreateInfo, PipelineShaderStageCreateInfo, PipelineTessellationStateCreateInfo, PipelineVertexInputStateCreateInfo, PipelineViewportStateCreateInfo, RenderPass, StructureType, createGraphicsPipelines

Constructors

GraphicsPipelineCreateInfo 

Fields

Instances

Instances details
Extensible GraphicsPipelineCreateInfo Source # 
Instance details

Defined in Vulkan.Core10.Pipeline

Methods

extensibleType :: StructureType Source #

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

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

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

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

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

Defined in Vulkan.Core10.Pipeline

newtype Pipeline Source #

Constructors

Pipeline Word64 

Instances

Instances details
Eq Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

Ord Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

Show Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

Storable Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

Zero Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

Methods

zero :: Pipeline Source #

HasObjectType Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

IsHandle Pipeline Source # 
Instance details

Defined in Vulkan.Core10.Handles

newtype PipelineLayoutCreateFlags Source #

VkPipelineLayoutCreateFlags - Reserved for future use

Description

PipelineLayoutCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineLayoutCreateInfo

Instances

Instances details
Eq PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Ord PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Read PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Show PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Storable PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Bits PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

Methods

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

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

xor :: PipelineLayoutCreateFlags -> PipelineLayoutCreateFlags -> PipelineLayoutCreateFlags #

complement :: PipelineLayoutCreateFlags -> PipelineLayoutCreateFlags #

shift :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

rotate :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

zeroBits :: PipelineLayoutCreateFlags #

bit :: Int -> PipelineLayoutCreateFlags #

setBit :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

clearBit :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

complementBit :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

testBit :: PipelineLayoutCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineLayoutCreateFlags -> Maybe Int #

bitSize :: PipelineLayoutCreateFlags -> Int #

isSigned :: PipelineLayoutCreateFlags -> Bool #

shiftL :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

unsafeShiftL :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

shiftR :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

unsafeShiftR :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

rotateL :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

rotateR :: PipelineLayoutCreateFlags -> Int -> PipelineLayoutCreateFlags #

popCount :: PipelineLayoutCreateFlags -> Int #

Zero PipelineLayoutCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineLayoutCreateFlags

newtype PipelineDepthStencilStateCreateFlags Source #

VkPipelineDepthStencilStateCreateFlags - Reserved for future use

Description

PipelineDepthStencilStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineDepthStencilStateCreateInfo

Instances

Instances details
Eq PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Ord PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Read PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Show PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Storable PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Bits PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

Methods

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

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

xor :: PipelineDepthStencilStateCreateFlags -> PipelineDepthStencilStateCreateFlags -> PipelineDepthStencilStateCreateFlags #

complement :: PipelineDepthStencilStateCreateFlags -> PipelineDepthStencilStateCreateFlags #

shift :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

rotate :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

zeroBits :: PipelineDepthStencilStateCreateFlags #

bit :: Int -> PipelineDepthStencilStateCreateFlags #

setBit :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

clearBit :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

complementBit :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

testBit :: PipelineDepthStencilStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineDepthStencilStateCreateFlags -> Maybe Int #

bitSize :: PipelineDepthStencilStateCreateFlags -> Int #

isSigned :: PipelineDepthStencilStateCreateFlags -> Bool #

shiftL :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

unsafeShiftL :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

shiftR :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

unsafeShiftR :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

rotateL :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

rotateR :: PipelineDepthStencilStateCreateFlags -> Int -> PipelineDepthStencilStateCreateFlags #

popCount :: PipelineDepthStencilStateCreateFlags -> Int #

Zero PipelineDepthStencilStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags

newtype PipelineDynamicStateCreateFlags Source #

VkPipelineDynamicStateCreateFlags - Reserved for future use

Description

PipelineDynamicStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineDynamicStateCreateInfo

Instances

Instances details
Eq PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Ord PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Read PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Show PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Storable PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Bits PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

Methods

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

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

xor :: PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags #

complement :: PipelineDynamicStateCreateFlags -> PipelineDynamicStateCreateFlags #

shift :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

rotate :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

zeroBits :: PipelineDynamicStateCreateFlags #

bit :: Int -> PipelineDynamicStateCreateFlags #

setBit :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

clearBit :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

complementBit :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

testBit :: PipelineDynamicStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineDynamicStateCreateFlags -> Maybe Int #

bitSize :: PipelineDynamicStateCreateFlags -> Int #

isSigned :: PipelineDynamicStateCreateFlags -> Bool #

shiftL :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

unsafeShiftL :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

shiftR :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

unsafeShiftR :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

rotateL :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

rotateR :: PipelineDynamicStateCreateFlags -> Int -> PipelineDynamicStateCreateFlags #

popCount :: PipelineDynamicStateCreateFlags -> Int #

Zero PipelineDynamicStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags

newtype PipelineColorBlendStateCreateFlags Source #

VkPipelineColorBlendStateCreateFlags - Reserved for future use

Description

PipelineColorBlendStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineColorBlendStateCreateInfo

Instances

Instances details
Eq PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Ord PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Read PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Show PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Storable PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Bits PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

Methods

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

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

xor :: PipelineColorBlendStateCreateFlags -> PipelineColorBlendStateCreateFlags -> PipelineColorBlendStateCreateFlags #

complement :: PipelineColorBlendStateCreateFlags -> PipelineColorBlendStateCreateFlags #

shift :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

rotate :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

zeroBits :: PipelineColorBlendStateCreateFlags #

bit :: Int -> PipelineColorBlendStateCreateFlags #

setBit :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

clearBit :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

complementBit :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

testBit :: PipelineColorBlendStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineColorBlendStateCreateFlags -> Maybe Int #

bitSize :: PipelineColorBlendStateCreateFlags -> Int #

isSigned :: PipelineColorBlendStateCreateFlags -> Bool #

shiftL :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

unsafeShiftL :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

shiftR :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

unsafeShiftR :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

rotateL :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

rotateR :: PipelineColorBlendStateCreateFlags -> Int -> PipelineColorBlendStateCreateFlags #

popCount :: PipelineColorBlendStateCreateFlags -> Int #

Zero PipelineColorBlendStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags

newtype PipelineMultisampleStateCreateFlags Source #

VkPipelineMultisampleStateCreateFlags - Reserved for future use

Description

PipelineMultisampleStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineMultisampleStateCreateInfo

Instances

Instances details
Eq PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Ord PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Read PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Show PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Storable PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Bits PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

Methods

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

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

xor :: PipelineMultisampleStateCreateFlags -> PipelineMultisampleStateCreateFlags -> PipelineMultisampleStateCreateFlags #

complement :: PipelineMultisampleStateCreateFlags -> PipelineMultisampleStateCreateFlags #

shift :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

rotate :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

zeroBits :: PipelineMultisampleStateCreateFlags #

bit :: Int -> PipelineMultisampleStateCreateFlags #

setBit :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

clearBit :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

complementBit :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

testBit :: PipelineMultisampleStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineMultisampleStateCreateFlags -> Maybe Int #

bitSize :: PipelineMultisampleStateCreateFlags -> Int #

isSigned :: PipelineMultisampleStateCreateFlags -> Bool #

shiftL :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

unsafeShiftL :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

shiftR :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

unsafeShiftR :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

rotateL :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

rotateR :: PipelineMultisampleStateCreateFlags -> Int -> PipelineMultisampleStateCreateFlags #

popCount :: PipelineMultisampleStateCreateFlags -> Int #

Zero PipelineMultisampleStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags

newtype PipelineRasterizationStateCreateFlags Source #

VkPipelineRasterizationStateCreateFlags - Reserved for future use

Description

PipelineRasterizationStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineRasterizationStateCreateInfo

Instances

Instances details
Eq PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Ord PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Read PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Show PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Storable PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Bits PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

Methods

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

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

xor :: PipelineRasterizationStateCreateFlags -> PipelineRasterizationStateCreateFlags -> PipelineRasterizationStateCreateFlags #

complement :: PipelineRasterizationStateCreateFlags -> PipelineRasterizationStateCreateFlags #

shift :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

rotate :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

zeroBits :: PipelineRasterizationStateCreateFlags #

bit :: Int -> PipelineRasterizationStateCreateFlags #

setBit :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

clearBit :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

complementBit :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

testBit :: PipelineRasterizationStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineRasterizationStateCreateFlags -> Maybe Int #

bitSize :: PipelineRasterizationStateCreateFlags -> Int #

isSigned :: PipelineRasterizationStateCreateFlags -> Bool #

shiftL :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

unsafeShiftL :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

shiftR :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

unsafeShiftR :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

rotateL :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

rotateR :: PipelineRasterizationStateCreateFlags -> Int -> PipelineRasterizationStateCreateFlags #

popCount :: PipelineRasterizationStateCreateFlags -> Int #

Zero PipelineRasterizationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags

newtype PipelineViewportStateCreateFlags Source #

VkPipelineViewportStateCreateFlags - Reserved for future use

Description

PipelineViewportStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineViewportStateCreateInfo

Instances

Instances details
Eq PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Ord PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Read PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Show PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Storable PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Bits PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

Methods

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

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

xor :: PipelineViewportStateCreateFlags -> PipelineViewportStateCreateFlags -> PipelineViewportStateCreateFlags #

complement :: PipelineViewportStateCreateFlags -> PipelineViewportStateCreateFlags #

shift :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

rotate :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

zeroBits :: PipelineViewportStateCreateFlags #

bit :: Int -> PipelineViewportStateCreateFlags #

setBit :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

clearBit :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

complementBit :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

testBit :: PipelineViewportStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineViewportStateCreateFlags -> Maybe Int #

bitSize :: PipelineViewportStateCreateFlags -> Int #

isSigned :: PipelineViewportStateCreateFlags -> Bool #

shiftL :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

unsafeShiftL :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

shiftR :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

unsafeShiftR :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

rotateL :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

rotateR :: PipelineViewportStateCreateFlags -> Int -> PipelineViewportStateCreateFlags #

popCount :: PipelineViewportStateCreateFlags -> Int #

Zero PipelineViewportStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineViewportStateCreateFlags

newtype PipelineTessellationStateCreateFlags Source #

VkPipelineTessellationStateCreateFlags - Reserved for future use

Description

PipelineTessellationStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineTessellationStateCreateInfo

Instances

Instances details
Eq PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Ord PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Read PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Show PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Storable PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Bits PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

Methods

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

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

xor :: PipelineTessellationStateCreateFlags -> PipelineTessellationStateCreateFlags -> PipelineTessellationStateCreateFlags #

complement :: PipelineTessellationStateCreateFlags -> PipelineTessellationStateCreateFlags #

shift :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

rotate :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

zeroBits :: PipelineTessellationStateCreateFlags #

bit :: Int -> PipelineTessellationStateCreateFlags #

setBit :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

clearBit :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

complementBit :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

testBit :: PipelineTessellationStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineTessellationStateCreateFlags -> Maybe Int #

bitSize :: PipelineTessellationStateCreateFlags -> Int #

isSigned :: PipelineTessellationStateCreateFlags -> Bool #

shiftL :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

unsafeShiftL :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

shiftR :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

unsafeShiftR :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

rotateL :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

rotateR :: PipelineTessellationStateCreateFlags -> Int -> PipelineTessellationStateCreateFlags #

popCount :: PipelineTessellationStateCreateFlags -> Int #

Zero PipelineTessellationStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags

newtype PipelineInputAssemblyStateCreateFlags Source #

VkPipelineInputAssemblyStateCreateFlags - Reserved for future use

Description

PipelineInputAssemblyStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineInputAssemblyStateCreateInfo

Instances

Instances details
Eq PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Ord PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Read PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Show PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Storable PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Bits PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

Methods

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

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

xor :: PipelineInputAssemblyStateCreateFlags -> PipelineInputAssemblyStateCreateFlags -> PipelineInputAssemblyStateCreateFlags #

complement :: PipelineInputAssemblyStateCreateFlags -> PipelineInputAssemblyStateCreateFlags #

shift :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

rotate :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

zeroBits :: PipelineInputAssemblyStateCreateFlags #

bit :: Int -> PipelineInputAssemblyStateCreateFlags #

setBit :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

clearBit :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

complementBit :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

testBit :: PipelineInputAssemblyStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineInputAssemblyStateCreateFlags -> Maybe Int #

bitSize :: PipelineInputAssemblyStateCreateFlags -> Int #

isSigned :: PipelineInputAssemblyStateCreateFlags -> Bool #

shiftL :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

unsafeShiftL :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

shiftR :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

unsafeShiftR :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

rotateL :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

rotateR :: PipelineInputAssemblyStateCreateFlags -> Int -> PipelineInputAssemblyStateCreateFlags #

popCount :: PipelineInputAssemblyStateCreateFlags -> Int #

Zero PipelineInputAssemblyStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags

newtype PipelineVertexInputStateCreateFlags Source #

VkPipelineVertexInputStateCreateFlags - Reserved for future use

Description

PipelineVertexInputStateCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

PipelineVertexInputStateCreateInfo

Instances

Instances details
Eq PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Ord PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Read PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Show PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Storable PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Bits PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

Methods

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

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

xor :: PipelineVertexInputStateCreateFlags -> PipelineVertexInputStateCreateFlags -> PipelineVertexInputStateCreateFlags #

complement :: PipelineVertexInputStateCreateFlags -> PipelineVertexInputStateCreateFlags #

shift :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

rotate :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

zeroBits :: PipelineVertexInputStateCreateFlags #

bit :: Int -> PipelineVertexInputStateCreateFlags #

setBit :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

clearBit :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

complementBit :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

testBit :: PipelineVertexInputStateCreateFlags -> Int -> Bool #

bitSizeMaybe :: PipelineVertexInputStateCreateFlags -> Maybe Int #

bitSize :: PipelineVertexInputStateCreateFlags -> Int #

isSigned :: PipelineVertexInputStateCreateFlags -> Bool #

shiftL :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

unsafeShiftL :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

shiftR :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

unsafeShiftR :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

rotateL :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

rotateR :: PipelineVertexInputStateCreateFlags -> Int -> PipelineVertexInputStateCreateFlags #

popCount :: PipelineVertexInputStateCreateFlags -> Int #

Zero PipelineVertexInputStateCreateFlags Source # 
Instance details

Defined in Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags

newtype PrimitiveTopology Source #

VkPrimitiveTopology - Supported primitive topologies

Description

Each primitive topology, and its construction from a list of vertices, is described in detail below with a supporting diagram, according to the following key:

Vertex A point in 3-dimensional space. Positions chosen within the diagrams are arbitrary and for illustration only.
Vertex Number Sequence position of a vertex within the provided vertex data.
Provoking Vertex Provoking vertex within the main primitive. The arrow points along an edge of the relevant primitive, following winding order. Used in flat shading.
Primitive Edge An edge connecting the points of a main primitive.
Adjacency Edge Points connected by these lines do not contribute to a main primitive, and are only accessible in a geometry shader.
Winding Order The relative order in which vertices are defined within a primitive, used in the facing determination. This ordering has no specific start or end point.

The diagrams are supported with mathematical definitions where the vertices (v) and primitives (p) are numbered starting from 0; v0 is the first vertex in the provided data and p0 is the first primitive in the set of primitives defined by the vertices and topology.

See Also

PipelineInputAssemblyStateCreateInfo, cmdSetPrimitiveTopologyEXT

Constructors

PrimitiveTopology Int32 

Bundled Patterns

pattern PRIMITIVE_TOPOLOGY_POINT_LIST :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_POINT_LIST specifies a series of separate point primitives.

pattern PRIMITIVE_TOPOLOGY_LINE_LIST :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_LINE_LIST specifies a series of separate line primitives.

pattern PRIMITIVE_TOPOLOGY_LINE_STRIP :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_LINE_STRIP specifies a series of connected line primitives with consecutive lines sharing a vertex.

pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_TRIANGLE_LIST specifies a series of separate triangle primitives.

pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP specifies a series of connected triangle primitives with consecutive triangles sharing an edge.

pattern PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_TRIANGLE_FAN specifies a series of connected triangle primitives with all triangles sharing a common vertex. If the VK_KHR_portability_subset extension is enabled, and PhysicalDevicePortabilitySubsetFeaturesKHR::triangleFans is FALSE, then triangle fans are not supported by the implementation, and PRIMITIVE_TOPOLOGY_TRIANGLE_FAN must not be used.

pattern PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY specifies a series of separate line primitives with adjacency.

pattern PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY specifies a series of connected line primitives with adjacency, with consecutive primitives sharing three vertices.

pattern PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY specifies a series of separate triangle primitives with adjacency.

pattern PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY specifies connected triangle primitives with adjacency, with consecutive triangles sharing an edge.

pattern PRIMITIVE_TOPOLOGY_PATCH_LIST :: PrimitiveTopology

PRIMITIVE_TOPOLOGY_PATCH_LIST specifies separate patch primitives.

Instances

Instances details
Eq PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

Ord PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

Read PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

Show PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

Storable PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

Zero PrimitiveTopology Source # 
Instance details

Defined in Vulkan.Core10.Enums.PrimitiveTopology

newtype CompareOp Source #

Constructors

CompareOp Int32 

Bundled Patterns

pattern COMPARE_OP_NEVER :: CompareOp

COMPARE_OP_NEVER specifies that the test evaluates to false.

pattern COMPARE_OP_LESS :: CompareOp

COMPARE_OP_LESS specifies that the test evaluates A < B.

pattern COMPARE_OP_EQUAL :: CompareOp

COMPARE_OP_EQUAL specifies that the test evaluates A = B.

pattern COMPARE_OP_LESS_OR_EQUAL :: CompareOp

COMPARE_OP_LESS_OR_EQUAL specifies that the test evaluates A ≤ B.

pattern COMPARE_OP_GREATER :: CompareOp

COMPARE_OP_GREATER specifies that the test evaluates A > B.

pattern COMPARE_OP_NOT_EQUAL :: CompareOp

COMPARE_OP_NOT_EQUAL specifies that the test evaluates A ≠ B.

pattern COMPARE_OP_GREATER_OR_EQUAL :: CompareOp

COMPARE_OP_GREATER_OR_EQUAL specifies that the test evaluates A ≥ B.

pattern COMPARE_OP_ALWAYS :: CompareOp

COMPARE_OP_ALWAYS specifies that the test evaluates to true.

Instances

Instances details
Eq CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

Ord CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

Read CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

Show CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

Storable CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

Zero CompareOp Source # 
Instance details

Defined in Vulkan.Core10.Enums.CompareOp

newtype PolygonMode Source #

VkPolygonMode - Control polygon rasterization mode

Description

These modes affect only the final rasterization of polygons: in particular, a polygon’s vertices are shaded and the polygon is clipped and possibly culled before these modes are applied.

See Also

PipelineRasterizationStateCreateInfo

Constructors

PolygonMode Int32 

Bundled Patterns

pattern POLYGON_MODE_FILL :: PolygonMode

POLYGON_MODE_FILL specifies that polygons are rendered using the polygon rasterization rules in this section.

pattern POLYGON_MODE_LINE :: PolygonMode

POLYGON_MODE_LINE specifies that polygon edges are drawn as line segments.

pattern POLYGON_MODE_POINT :: PolygonMode

POLYGON_MODE_POINT specifies that polygon vertices are drawn as points.

pattern POLYGON_MODE_FILL_RECTANGLE_NV :: PolygonMode

POLYGON_MODE_FILL_RECTANGLE_NV specifies that polygons are rendered using polygon rasterization rules, modified to consider a sample within the primitive if the sample location is inside the axis-aligned bounding box of the triangle after projection. Note that the barycentric weights used in attribute interpolation can extend outside the range [0,1] when these primitives are shaded. Special treatment is given to a sample position on the boundary edge of the bounding box. In such a case, if two rectangles lie on either side of a common edge (with identical endpoints) on which a sample position lies, then exactly one of the triangles must produce a fragment that covers that sample during rasterization.

Polygons rendered in POLYGON_MODE_FILL_RECTANGLE_NV mode may be clipped by the frustum or by user clip planes. If clipping is applied, the triangle is culled rather than clipped.

Area calculation and facingness are determined for POLYGON_MODE_FILL_RECTANGLE_NV mode using the triangle’s vertices.