Struct ComputePipelineDescription
- Namespace
- NeoVeldrid
- Assembly
- NeoVeldrid.dll
Describes a compute Pipeline, for creation using a ResourceFactory.
public struct ComputePipelineDescription : IEquatable<ComputePipelineDescription>
- Implements
- Inherited Members
Constructors
ComputePipelineDescription(Shader, ResourceLayout, uint, uint, uint)
Constructs a new ComputePipelineDescription.
public ComputePipelineDescription(Shader shaderStage, ResourceLayout resourceLayout, uint threadGroupSizeX, uint threadGroupSizeY, uint threadGroupSizeZ)
Parameters
shaderStageShaderThe compute Shader to be used in the Pipeline. This must be a Shader with Compute.
resourceLayoutResourceLayoutThe resource layout available to the Pipeline.
threadGroupSizeXuintThe X dimension of the thread group size.
threadGroupSizeYuintThe Y dimension of the thread group size.
threadGroupSizeZuintThe Z dimension of the thread group size.
ComputePipelineDescription(Shader, ResourceLayout, uint, uint, uint, SpecializationConstant[])
Constructs a new ComputePipelineDescription.
public ComputePipelineDescription(Shader shaderStage, ResourceLayout resourceLayout, uint threadGroupSizeX, uint threadGroupSizeY, uint threadGroupSizeZ, SpecializationConstant[] specializations)
Parameters
shaderStageShaderThe compute Shader to be used in the Pipeline. This must be a Shader with Compute.
resourceLayoutResourceLayoutThe resource layout available to the Pipeline.
threadGroupSizeXuintThe X dimension of the thread group size.
threadGroupSizeYuintThe Y dimension of the thread group size.
threadGroupSizeZuintThe Z dimension of the thread group size.
specializationsSpecializationConstant[]An array of SpecializationConstant used to override specialization constants in the created Pipeline. Each element in this array describes a single ID-value pair, which will be matched with the constants specified in the Shader.
ComputePipelineDescription(Shader, ResourceLayout[], uint, uint, uint)
Constructs a new ComputePipelineDescription.
public ComputePipelineDescription(Shader computeShader, ResourceLayout[] resourceLayouts, uint threadGroupSizeX, uint threadGroupSizeY, uint threadGroupSizeZ)
Parameters
computeShaderShaderThe compute Shader to be used in the Pipeline. This must be a Shader with Compute.
resourceLayoutsResourceLayout[]The set of resource layouts available to the Pipeline.
threadGroupSizeXuintThe X dimension of the thread group size.
threadGroupSizeYuintThe Y dimension of the thread group size.
threadGroupSizeZuintThe Z dimension of the thread group size.
Fields
ComputeShader
public Shader ComputeShader
Field Value
ResourceLayouts
An array of ResourceLayout, which controls the layout of shader resoruces in the Pipeline.
public ResourceLayout[] ResourceLayouts
Field Value
Specializations
An array of SpecializationConstant used to override specialization constants in the created Pipeline. Each element in this array describes a single ID-value pair, which will be matched with the constants specified in the Shader.
public SpecializationConstant[] Specializations
Field Value
ThreadGroupSizeX
The X dimension of the thread group size.
public uint ThreadGroupSizeX
Field Value
ThreadGroupSizeY
The Y dimension of the thread group size.
public uint ThreadGroupSizeY
Field Value
ThreadGroupSizeZ
The Z dimension of the thread group size.
public uint ThreadGroupSizeZ
Field Value
Methods
Equals(ComputePipelineDescription)
Element-wise equality.
public bool Equals(ComputePipelineDescription other)
Parameters
otherComputePipelineDescriptionThe instance to compare to.
Returns
- bool
True if all elements and all array elements are equal; false otherswise.
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()
Returns
- int
A 32-bit signed integer that is the hash code for this instance.