Vulkan Pipeline State¶
-
class
renderdoc.
VKState
¶ The full current Vulkan pipeline state.
-
colorBlend
¶ A
VKColorBlendState
describing color blending.
-
compute
¶ A
VKPipeline
with the currently bound compute pipeline, if any.
-
computeShader
¶ A
VKShader
describing the compute shader stage.
-
conditionalRendering
¶ A
ConditionalRendering
describing the current conditional rendering state.
-
currentPass
¶ A
VKCurrentPass
describing the current renderpass, subpass and framebuffer.
-
depthStencil
¶ A
VKDepthStencil
describing the depth-stencil stage.
-
fragmentShader
¶ A
VKShader
describing the fragment shader stage.
-
geometryShader
¶ A
VKShader
describing the geometry shader stage.
-
graphics
¶ A
VKPipeline
with the currently bound graphics pipeline, if any.
-
images
¶ A list of
VKImageData
entries, one for each image.
-
inputAssembly
¶ A
VKInputAssembly
describing the input assembly stage.
-
multisample
¶ A
VKMultiSample
describing the multisample setup.
-
pushconsts
¶ A
bytes
containing the raw push constant data.
-
rasterizer
¶ A
VKRasterizer
describing rasterization.
-
tessControlShader
¶ A
VKShader
describing the tessellation control shader stage.
-
tessEvalShader
¶ A
VKShader
describing the tessellation evaluation shader stage.
-
tessellation
¶ A
VKTessellation
describing the tessellation stage.
-
transformFeedback
¶ A
VKTransformFeedback
describing the tessellation stage.
-
vertexInput
¶ A
VKVertexInput
describing the vertex input stage.
-
vertexShader
¶ A
VKShader
describing the vertex shader stage.
-
viewportScissor
¶ A
VKViewState
describing the viewport setup.
-
-
class
renderdoc.
VKBindingElement
The contents of a single binding element within a descriptor set, possibly in an array.
-
UseBorder
() For samplers - check if the border color is used in this Vulkan sampler.
Returns: True
if the border color is used,False
otherwise.Return type: bool
-
addressU
For samplers - the
AddressMode
in the U direction.
-
addressV
For samplers - the
AddressMode
in the V direction.
-
addressW
For samplers - the
AddressMode
in the W direction.
-
borderColor
For samplers - the RGBA border color.
-
byteOffset
For buffers - the byte offset where the buffer view starts in the underlying buffer.
-
byteSize
For buffers - how many bytes are in this buffer view.
-
chromaFilter
For ycbcr samplers - the
FilterMode
describing the chroma filtering mode.
-
compareFunction
For samplers - the
CompareFunction
for comparison samplers.
-
dynamicallyUsed
True
if this binding element is dynamically used.If set to
False
this means that the binding was available to the shader but during execution it was not referenced. The data gathered for setting this variable is conservative, meaning that only accesses through arrays will have this calculated to reduce the required feedback bandwidth - single non-arrayed descriptors may have this value set toTrue
even if the shader did not use them, since single descriptors may only be dynamically skipped by control flow.
-
filter
For samplers - the
TextureFilter
describing the filtering mode.
-
firstMip
For textures - the first mip level used in the view.
-
firstSlice
For 3D textures and texture arrays - the first slice used in the view.
-
forceExplicitReconstruction
For ycbcr samplers -
True
if explicit reconstruction is force enabled.
-
immutableSampler
True
if this is an immutable sampler binding.
-
inlineBlock
True
if this is an inline uniform block binding.
-
maxAnisotropy
For samplers - the maximum anisotropic filtering level to use.
-
maxLOD
For samplers - the maximum mip level that can be used.
-
minLOD
For samplers - the minimum mip level that can be used.
-
mipBias
For samplers - a bias to apply to the calculated mip level before sampling.
-
numMips
For textures - the number of mip levels in the view.
-
numSlices
For 3D textures and texture arrays - the number of array slices in the view.
-
resourceResourceId
The
ResourceId
of the current underlying buffer or image object.
-
samplerResourceId
The
ResourceId
of the current sampler object.
-
swizzle
A
TextureSwizzle4
indicating the swizzle applied to this texture.
-
unnormalized
For samplers -
True
if unnormalized co-ordinates are used in this sampler.
-
viewFormat
The
ResourceFormat
that the view uses.
-
viewResourceId
The
ResourceId
of the current view object, if one is in use.
-
xChromaOffset
For ycbcr samplers - the
ChromaSampleLocation
X-axis chroma offset.
-
yChromaOffset
For ycbcr samplers - the
ChromaSampleLocation
Y-axis chroma offset.
-
ycbcrModel
For ycbcr samplers - the
YcbcrConversion
used for conversion.
-
ycbcrRange
For ycbcr samplers - the
YcbcrRange
used for conversion.
-
ycbcrSampler
For samplers - the
ResourceId
of the ycbcr conversion object associated with this sampler.
-
ycbcrSwizzle
For ycbcr samplers - A
TextureSwizzle4
indicating the swizzle applied before conversion.
-
-
class
renderdoc.
VKDescriptorBinding
The contents of a single binding within a descriptor set, either arrayed or not.
-
binds
A list of
VKBindingElement
with the binding elements. IfdescriptorCount
is 1 then this isn’t an array, and this list has only one element.
-
descriptorCount
How many descriptors are in this binding array. If this binding is empty/non-existant this value will be
0
.
-
dynamicallyUsedCount
Lists how many bindings in
binds
are dynamically used. Useful to avoid redundant iteration to determine whether any bindings are present.For more information see
VKBindingElement.dynamicallyUsed
.
-
firstUsedIndex
Gives the index of the first binding in
binds
that is dynamically used. Useful to avoid redundant iteration in very large descriptor arrays with a small subset that are used.For more information see
VKBindingElement.dynamicallyUsed
.
-
lastUsedIndex
Gives the index of the first binding in
binds
that is dynamically used. Useful to avoid redundant iteration in very large descriptor arrays with a small subset that are used.Note
This may be set to a higher value than the number of bindings, if no dynamic use information is available. Ensure that this is an additional check on the bind and the count is still respected.
For more information see
VKBindingElement.dynamicallyUsed
.
-
stageFlags
The
ShaderStageMask
where this binding is visible.
-
type
The
BindType
of this binding.
-
-
class
renderdoc.
VKDescriptorSet
The contents of a descriptor set.
-
bindings
A list of
VKDescriptorBinding
with the bindings within this set. This list is indexed by the binding, so it may be sparse (some entries do not contain any elements).
-
descriptorSetResourceId
The
ResourceId
of the descriptor set object.
-
layoutResourceId
The
ResourceId
of the descriptor set layout that matches this set.
-
pushDescriptor
Indicates if this is a virtual ‘push’ descriptor set.
-
-
class
renderdoc.
VKPipeline
Describes the object and descriptor set bindings of a Vulkan pipeline object.
-
descriptorSets
A list of
VKDescriptorSet
with the bound descriptor sets.
-
flags
The flags used to create the pipeline object.
-
pipelineLayoutResourceId
The
ResourceId
of the pipeline layout object.
-
pipelineResourceId
The
ResourceId
of the pipeline object.
-
-
class
renderdoc.
VKIndexBuffer
Describes the Vulkan index buffer binding.
-
byteOffset
The byte offset from the start of the buffer to the beginning of the index data.
-
resourceId
The
ResourceId
of the index buffer.
-
-
class
renderdoc.
VKInputAssembly
Describes the vulkan input assembly configuration.
-
indexBuffer
The
VKIndexBuffer
with the index buffer binding.
-
primitiveRestartEnable
True
if primitive restart is enabled for strip primitives.
-
-
class
renderdoc.
VKVertexAttribute
Describes the configuration of a single vertex attribute.
-
binding
The vertex binding where data will be sourced from.
-
byteOffset
The byte offset from the start of each vertex data in the
binding
to this attribute.
-
format
The
ResourceFormat
describing how each input element will be interpreted.
-
location
The location in the shader that is bound to this attribute.
-
-
class
renderdoc.
VKVertexBinding
Describes a vertex binding.
-
instanceDivisor
The instance rate divisor.
If this is
0
then every vertex gets the same value.If it’s
1
then one element is read for each instance, and forN
greater than1
thenN
instances read the same element before advancing.
-
perInstance
True
if the vertex data is instance-rate.
-
vertexBufferBinding
The vertex binding where data will be sourced from.
-
-
class
renderdoc.
VKVertexBuffer
Describes a single Vulkan vertex buffer binding.
-
byteOffset
The byte offset from the start of the buffer to the beginning of the vertex data.
-
byteSize
The size of the vertex buffer.
-
byteStride
The byte stride between the start of one set of vertex data and the next.
-
resourceId
The
ResourceId
of the buffer bound to this slot.
-
-
class
renderdoc.
VKVertexInput
Describes the fixed-function vertex input fetch setup.
-
attributes
A list of
VKVertexAttribute
with the vertex attributes.
-
bindings
A list of
VKVertexBinding
with the vertex bindings.
-
vertexBuffers
A list of
VKVertexBuffer
with the vertex buffers.
-
-
class
renderdoc.
VKSpecializationConstant
The provided value for a specialization constant.
-
data
A
bytes
with the contents of the constant.
-
specializationId
The specialization ID
-
-
class
renderdoc.
VKShader
Describes a Vulkan shader stage.
-
bindpointMapping
A
ShaderBindpointMapping
to matchreflection
with the bindpoint mapping data.
-
entryPoint
The name of the entry point in the shader module that is used.
-
reflection
A
ShaderReflection
describing the reflection data for this shader.
-
resourceId
The
ResourceId
of the shader module object.
-
specialization
A list of
VKSpecializationConstant
with the provided specialization constants.
-
stage
A
ShaderStage
identifying which stage this shader is bound to.
-
-
class
renderdoc.
VKTessellation
Describes the state of the fixed-function tessellator.
-
domainOriginUpperLeft
True
if the tessellation domain origin is upper-left,False
if lower-left.
-
numControlPoints
The number of control points in each input patch.
-
-
class
renderdoc.
VKXFBBuffer
Describes a single transform feedback binding.
-
active
A flag indicating if this buffer is active or not.
-
bufferResourceId
The
ResourceId
of the bound data buffer.
-
byteOffset
The offset in bytes to the start of the data in the
bufferResourceId
.
-
byteSize
The size in bytes of the data buffer.
-
counterBufferOffset
The offset in bytes to the counter in the
counterBufferResourceId
.
-
counterBufferResourceId
The
ResourceId
of the buffer storing the counter value (if set).
-
-
class
renderdoc.
VKTransformFeedback
Describes the state of the fixed-function transform feedback.
-
buffers
The bound transform feedback buffers.
-
-
class
renderdoc.
VKRenderArea
Describes a render area in the current framebuffer.
-
height
The height of the render area.
-
width
The width of the render area.
-
x
The X co-ordinate of the render area.
-
y
The Y co-ordinate of the render area.
-
-
class
renderdoc.
VKViewportScissor
Describes a combined viewport and scissor region.
-
scissor
The
Scissor
.
-
vp
The
Viewport
.
-
-
class
renderdoc.
VKViewState
Describes the view state in the pipeline.
-
discardRectangles
A list of
VKRenderArea
defining discard rectangles.
-
discardRectanglesExclusive
True
if a fragment in any one of the discard rectangles fails the discard test, and a fragment in none of them passes.False
if a fragment in any one of the discard rectangles passes the discard test, and a fragment in none of them is discarded.Note
A
True
value and an empty list ofdiscardRectangles
means the test is effectively disabled, since with no rectangles no fragment can be inside one.
-
viewportScissors
A list of
VKViewportScissor
.
-
-
class
renderdoc.
VKRasterizer
Describes the rasterizer state in the pipeline.
-
conservativeRasterization
The active conservative rasterization mode.
-
cullMode
The polygon
CullMode
.
-
depthBias
The fixed depth bias value to apply to z-values.
-
depthBiasClamp
The clamp value for calculated depth bias from
depthBias
andslopeScaledDepthBias
-
depthClampEnable
True
if pixels outside of the near and far depth planes should be clamped and to0.0
to1.0
.
-
depthClipEnable
True
if pixels outside of the near and far depth planes should be clipped.Note
In Vulkan 1.0 this value was implicitly set to the opposite of
depthClampEnable
, but with later extensions & versions it can be set independently.
-
extraPrimitiveOverestimationSize
The extra size in pixels to increase primitives by during conservative rasterization, in the x and y directions in screen space.
See
conservativeRasterizationMode
-
fillMode
The polygon
FillMode
.
-
frontCCW
True
if counter-clockwise polygons are front-facing.False
if clockwise polygons are front-facing.
-
lineRasterMode
The line rasterization mode.
-
lineStippleFactor
The line stipple factor, or 0 if line stipple is disabled.
-
lineStipplePattern
The line stipple bit-pattern.
-
lineWidth
The fixed line width in pixels.
-
rasterizerDiscardEnable
True
if primitives should be discarded during rasterization.
-
slopeScaledDepthBias
The slope-scaled depth bias value to apply to z-values.
-
-
class
renderdoc.
VKSampleLocations
Describes state of custom sample locations in the pipeline.
-
customLocations
A list of
FloatVector
giving the custom sample locations. Only x and y are valid, z and w are set to 0.0.If the list is empty then the standard sample pattern is in use.
-
gridHeight
The height in pixels of the region configured.
-
gridWidth
The width in pixels of the region configured.
-
-
class
renderdoc.
VKMultiSample
Describes the multisampling state in the pipeline.
-
minSampleShading
The minimum sample shading rate.
-
rasterSamples
How many samples to use when rasterizing.
-
sampleLocations
The
VKSampleLocations
with any custom sample locations that are configured.
-
sampleMask
A mask that generated samples should be masked with using bitwise
AND
.
-
sampleShadingEnable
True
if rendering should happen at sample-rate frequency.
-
-
class
renderdoc.
VKColorBlendState
Describes the pipeline blending state.
-
alphaToCoverageEnable
True
if alpha-to-coverage should be used when blending to an MSAA target.
-
alphaToOneEnable
True
if alpha-to-one should be used when blending to an MSAA target.
-
blendFactor
The constant blend factor to use in blend equations.
-
blends
The list of
ColorBlend
with the blending configuration per-attachment.
-
-
class
renderdoc.
VKDepthStencil
Describes the pipeline depth-stencil state.
-
backFace
A
StencilFace
describing what happens for back-facing polygons.
-
depthBoundsEnable
True
if depth bounds tests should be applied.
-
depthFunction
The
CompareFunction
to use for testing depth values.
-
depthTestEnable
True
if depth testing should be performed.
-
depthWriteEnable
True
if depth values should be written to the depth target.
-
frontFace
A
StencilFace
describing what happens for front-facing polygons.
-
maxDepthBounds
The far plane bounding value.
-
minDepthBounds
The near plane bounding value.
-
stencilTestEnable
True
if stencil operations should be performed.
-
-
class
renderdoc.
VKRenderPass
Describes the setup of a renderpass and subpasses.
-
colorAttachments
A list of indices into the framebuffer attachments for color attachments.
-
depthstencilAttachment
An index into the framebuffer attachments for the depth-stencil attachment.
If there is no depth-stencil attachment, this index is
-1
.
-
fragmentDensityAttachment
An index into the framebuffer attachments for the fragment density attachment.
If there is no fragment density attachment, this index is
-1
.
-
inputAttachments
A list of indices into the framebuffer attachments for input attachments.
-
multiviews
If multiview is enabled, contains a list of view indices to be broadcast to during rendering.
If the list is empty, multiview is disabled and rendering is as normal.
-
resolveAttachments
A list of indices into the framebuffer attachments for resolve attachments.
-
resourceId
The
ResourceId
of the render pass.
-
subpass
The index of the current active subpass.
-
-
class
renderdoc.
VKAttachment
Describes a single attachment in a framebuffer object.
-
firstMip
The first mip level used in the attachment.
-
firstSlice
For 3D textures and texture arrays, the first slice used in the attachment.
-
imageResourceId
The
ResourceId
of the underlying image that the view refers to.
-
numMips
The number of mip levels in the attachment.
-
numSlices
For 3D textures and texture arrays, the number of array slices in the attachment.
-
swizzle
A
TextureSwizzle4
indicating the swizzle applied to this texture.
-
viewFormat
The
ResourceFormat
that the view uses.
-
viewResourceId
The
ResourceId
of the image view itself.
-
-
class
renderdoc.
VKFramebuffer
Describes a framebuffer object and its attachments.
-
attachments
A list of
VKAttachment
with the attachments of this framebuffer.
-
height
The height of this framebuffer in pixels.
-
layers
The number of layers in this framebuffer.
-
resourceId
The
ResourceId
of the framebuffer object.
-
width
The width of this framebuffer in pixels.
-
-
class
renderdoc.
VKCurrentPass
Describes the current pass instance at the current time.
-
framebuffer
The
VKFramebuffer
that is currently being used.
-
renderArea
The
VKRenderArea
that is currently being rendered to.
-
renderpass
The
VKRenderPass
that is currently active.
-
-
class
renderdoc.
VKImageLayout
Contains the layout of a range of subresources in an image.
-
baseLayer
For 3D textures and texture arrays, the first slice used in the range.
-
baseMip
The first mip level used in the range.
-
name
The name of the current image state.
-
numLayer
For 3D textures and texture arrays, the number of array slices in the range.
-
numMip
The number of mip levels in the range.
-
-
class
renderdoc.
VKImageData
Contains the current layout of all subresources in the image.
-
layouts
A list of
VKImageLayout
with the set of subresources that make up the image.
-
resourceId
The
ResourceId
of the image.
-
-
class
renderdoc.
VKConditionalRendering
Contains the current conditional rendering state.
-
bufferId
The
ResourceId
of the buffer containing the predicate for conditional rendering.
-
byteOffset
The byte offset into buffer where the predicate is located.
-
isInverted
True
if predicate result is inverted.
-
isPassing
True
if the current predicate would render.
-