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 to True 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. If descriptorCount 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.

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 for N greater than 1 then N 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 match reflection 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 of discardRectangles 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 and slopeScaledDepthBias

depthClampEnable

True if pixels outside of the near and far depth planes should be clamped and to 0.0 to 1.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.