Vulkan Pipeline State¶
Contents
-
class
renderdoc.VKState¶ The full current Vulkan pipeline state.
-
colorBlend¶ The color blending configuration.
- Type
-
compute¶ The currently bound compute pipeline, if any.
- Type
-
conditionalRendering¶ The current conditional rendering state.
-
currentPass¶ The current renderpass, subpass and framebuffer.
- Type
-
depthStencil¶ The depth-stencil state.
- Type
-
graphics¶ The currently bound graphics pipeline, if any.
- Type
-
images¶ The resource states for the currently live resources.
- Type
List[VKImageData]
-
inputAssembly¶ The input assembly stage.
- Type
-
multisample¶ The multisampling configuration.
- Type
-
pushconsts¶ The raw push constant data.
- Type
bytes
-
rasterizer¶ The rasterization configuration.
- Type
-
shaderMessages¶ The shader messages retrieved for this action.
- Type
List[ShaderMessage]
-
tessellation¶ The tessellation stage.
- Type
-
transformFeedback¶ The transform feedback stage.
- Type
-
vertexInput¶ The vertex input stage.
- Type
-
viewportScissor¶ The viewport setup.
- Type
-
Pipeline and Bindings¶
-
class
renderdoc.VKPipeline¶ Describes the object and descriptor set bindings of a Vulkan pipeline object.
-
descriptorSets¶ The bound descriptor sets.
- Type
List[VKDescriptorSet]
-
flags¶ The flags used to create the pipeline object.
-
pipelineLayoutResourceId¶ The
ResourceIdof the pipeline layout object.
-
pipelineResourceId¶ The
ResourceIdof the pipeline object.
-
-
class
renderdoc.VKDescriptorSet¶ The contents of a descriptor set.
-
bindings¶ The bindings within this set. This list is indexed by the binding, so it may be sparse (some entries do not contain any elements).
- Type
List[VKDescriptorBinding]
-
descriptorSetResourceId¶ The
ResourceIdof the descriptor set object.
-
inlineData¶ The inline byte data within this descriptor set. Individual bindings will have an offset and size into this buffer.
- Type
bytes
-
layoutResourceId¶ The
ResourceIdof the descriptor set layout that matches this set.
-
pushDescriptor¶ Indicates if this is a virtual ‘push’ descriptor set.
-
-
class
renderdoc.VKDescriptorBinding¶ The contents of a single binding within a descriptor set, either arrayed or not.
-
binds¶ The binding elements. If
descriptorCountis 1 then this list has only one element and the binding is not arrayed.- Type
List[VKBindingElement]
-
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
bindsare 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
bindsthat 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
bindsthat 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
ShaderStageMaskwhere this binding is visible.
-
-
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
Trueif the border color is used,Falseotherwise.- Return type
bool
-
addressU¶ For samplers - the
AddressModein the U direction.
-
addressV¶ For samplers - the
AddressModein the V direction.
-
addressW¶ For samplers - the
AddressModein the W direction.
-
borderColor¶ For samplers - the RGBA border color.
- Type
Tuple[float,float,float,float]
-
byteOffset¶ For buffers - the byte offset where the buffer view starts in the underlying buffer.
For inline block uniforms (see
inlineBlock) this is the byte offset into the descriptor set’s inline block data.
-
byteSize¶ For buffers - how many bytes are in this buffer view.
-
chromaFilter¶ For ycbcr samplers - the
FilterModedescribing the chroma filtering mode.
-
compareFunction¶ For samplers - the
CompareFunctionfor comparison samplers.
-
dynamicallyUsed¶ Trueif this binding element is dynamically used.If set to
Falsethis 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 toTrueeven if the shader did not use them, since single descriptors may only be dynamically skipped by control flow.
-
filter¶ The filtering mode.
- Type
-
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 -
Trueif explicit reconstruction is force enabled.
-
immutableSampler¶ Trueif this is an immutable sampler binding.
-
inlineBlock¶ Trueif 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
ResourceIdof the current underlying buffer or image object.
-
samplerResourceId¶ The
ResourceIdof the current sampler object.
-
swizzle¶ The swizzle applied to a texture by the view.
- Type
-
unnormalized¶ For samplers -
Trueif unnormalized co-ordinates are used in this sampler.
-
viewFormat¶ The format cast that the view uses.
- Type
-
viewResourceId¶ The
ResourceIdof the current view object, if one is in use.
-
xChromaOffset¶ For ycbcr samplers - the
ChromaSampleLocationX-axis chroma offset.
-
yChromaOffset¶ For ycbcr samplers - the
ChromaSampleLocationY-axis chroma offset.
-
ycbcrModel¶ For ycbcr samplers - the
YcbcrConversionused for conversion.
-
ycbcrRange¶ For ycbcr samplers - the
YcbcrRangeused for conversion.
-
ycbcrSampler¶ For samplers - the
ResourceIdof the ycbcr conversion object associated with this sampler.
-
ycbcrSwizzle¶ For ycbcr samplers - The swizzle applied before conversion.
- Type
-
Vertex Input¶
-
class
renderdoc.VKInputAssembly¶ Describes the vulkan input assembly configuration.
-
indexBuffer¶ The index buffer binding.
- Type
-
primitiveRestartEnable¶ Trueif primitive restart is enabled for strip primitives.
-
-
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.
-
byteStride¶ The number of bytes for each index in the index buffer. Typically 2 or 4 bytes but it can be 0 if no index buffer is bound.
-
resourceId¶ The
ResourceIdof the index buffer.
-
-
class
renderdoc.VKVertexInput¶ Describes the fixed-function vertex input fetch setup.
-
attributes¶ The vertex attributes.
- Type
List[VKVertexAttribute]
-
bindings¶ The vertex bindings.
- Type
List[VKVertexBinding]
-
vertexBuffers¶ The vertex buffers.
- Type
List[VKVertexBuffer]
-
-
class
renderdoc.VKVertexAttribute¶ Describes the configuration of a single vertex attribute.
-
binding¶ The vertex binding where data will be sourced from.
-
format¶ The format describing how the input element is interpreted.
- Type
-
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
0then every vertex gets the same value.If it’s
1then one element is read for each instance, and forNgreater than1thenNinstances read the same element before advancing.
-
perInstance¶ Trueif 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
ResourceIdof the buffer bound to this slot.
-
Shader¶
-
class
renderdoc.VKShader¶ Describes a Vulkan shader stage.
-
bindpointMapping¶ The bindpoint mapping data to match
reflection.
-
entryPoint¶ The name of the entry point in the shader module that is used.
-
pushConstantRangeByteOffset¶ The byte offset into the push constant data that is visible to this shader.
-
pushConstantRangeByteSize¶ The number of bytes in the push constant data that is visible to this shader.
-
reflection¶ The reflection data for this shader.
- Type
-
resourceId¶ The
ResourceIdof the shader module object.
-
specializationData¶ The provided specialization constant data. Shader constants store the byte offset into this buffer as their byteOffset. This data includes the applied specialization constants over the top of the default values, so it is safe to read any constant from here and get the correct current value.
- Type
bytes
-
stage¶ A
ShaderStageidentifying which stage this shader is bound to.
-
Transform Feedback¶
-
class
renderdoc.VKTransformFeedback¶ Describes the state of the fixed-function transform feedback.
-
buffers¶ The bound transform feedback buffers.
- Type
List[VKXFBBuffer]
-
-
class
renderdoc.VKXFBBuffer¶ Describes a single transform feedback binding.
-
active¶ A flag indicating if this buffer is active or not.
-
bufferResourceId¶ The
ResourceIdof 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
ResourceIdof the buffer storing the counter value (if set).
-
Rasterizer¶
-
class
renderdoc.VKViewportScissor¶ Describes a combined viewport and scissor region.
-
class
renderdoc.VKViewState¶ Describes the view state in the pipeline.
-
discardRectangles¶ The discard rectangles, if enabled.
- Type
List[VKRenderArea]
-
discardRectanglesExclusive¶ Trueif a fragment in any one of the discard rectangles fails the discard test, and a fragment in none of them passes.Falseif a fragment in any one of the discard rectangles passes the discard test, and a fragment in none of them is discarded.Note
A
Truevalue and an empty list ofdiscardRectanglesmeans the test is effectively disabled, since with no rectangles no fragment can be inside one.
-
viewportScissors¶ The bound viewports and scissors.
- Type
List[VKViewportScissor]
-
-
class
renderdoc.VKRasterizer¶ Describes the rasterizer state in the pipeline.
-
conservativeRasterization¶ The active conservative rasterization mode.
-
depthBias¶ The fixed depth bias value to apply to z-values.
-
depthBiasClamp¶ The clamp value for calculated depth bias from
depthBiasandslopeScaledDepthBias
-
depthClampEnable¶ Trueif pixels outside of the near and far depth planes should be clamped and to0.0to1.0.
-
depthClipEnable¶ Trueif 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
-
frontCCW¶ Trueif counter-clockwise polygons are front-facing.Falseif 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¶ Trueif primitives should be discarded during rasterization.
-
slopeScaledDepthBias¶ The slope-scaled depth bias value to apply to z-values.
-
Multisampling¶
-
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 custom sample locations configuration.
- Type
-
sampleMask¶ A mask that generated samples should be masked with using bitwise
AND.
-
sampleShadingEnable¶ Trueif rendering should happen at sample-rate frequency.
-
-
class
renderdoc.VKSampleLocations¶ Describes state of custom sample locations in the pipeline.
-
customLocations¶ 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.
- Type
List[FloatVector]
-
gridHeight¶ The height in pixels of the region configured.
-
gridWidth¶ The width in pixels of the region configured.
-
Blending¶
-
class
renderdoc.VKColorBlendState¶ Describes the pipeline blending state.
-
alphaToCoverageEnable¶ Trueif alpha-to-coverage should be used when blending to an MSAA target.
-
alphaToOneEnable¶ Trueif alpha-to-one should be used when blending to an MSAA target.
-
blendFactor¶ The constant blend factor to use in blend equations.
- Type
Tuple[float,float,float,float]
-
blends¶ The blend operations for each target.
- Type
List[ColorBlend]
-
Depth/Stencil State¶
-
class
renderdoc.VKDepthStencil¶ Describes the pipeline depth-stencil state.
-
backFace¶ The stencil state for back-facing polygons.
- Type
-
depthBoundsEnable¶ Trueif depth bounds tests should be applied.
-
depthFunction¶ The
CompareFunctionto use for testing depth values.
-
depthTestEnable¶ Trueif depth testing should be performed.
-
depthWriteEnable¶ Trueif depth values should be written to the depth target.
-
frontFace¶ The stencil state for front-facing polygons.
- Type
-
maxDepthBounds¶ The far plane bounding value.
-
minDepthBounds¶ The near plane bounding value.
-
stencilTestEnable¶ Trueif stencil operations should be performed.
-
Renderpass and Framebuffer¶
-
class
renderdoc.VKCurrentPass¶ Describes the current pass instance at the current time.
-
framebuffer¶ The framebuffer that is currently being used.
- Type
-
renderArea¶ The render area that is currently being rendered to.
- Type
-
renderpass¶ The renderpass and subpass that is currently active.
- Type
-
-
class
renderdoc.VKRenderPass¶ Describes the setup of a renderpass and subpasses.
-
colorAttachments¶ The color attachments for the current subpass, as indices into the framebuffer attachments.
- Type
List[int]
-
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¶ The input attachments for the current subpass, as indices into the framebuffer attachments.
- Type
List[int]
-
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.
- Type
List[int]
-
resolveAttachments¶ The resolve attachments for the current subpass, as indices into the framebuffer attachments.
- Type
List[int]
-
resourceId¶ The
ResourceIdof the render pass.
-
subpass¶ The index of the current active subpass.
-
-
class
renderdoc.VKFramebuffer¶ Describes a framebuffer object and its attachments.
-
attachments¶ The attachments of this framebuffer.
- Type
List[VKAttachment]
-
height¶ The height of this framebuffer in pixels.
-
layers¶ The number of layers in this framebuffer.
-
resourceId¶ The
ResourceIdof the framebuffer object.
-
width¶ The width of this framebuffer in pixels.
-
-
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
ResourceIdof 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¶ The swizzle applied to the texture by the view.
- Type
-
viewFormat¶ The format cast that the view uses.
- Type
-
viewResourceId¶ The
ResourceIdof the image view itself.
-
Image States¶
-
class
renderdoc.VKImageData¶ Contains the current layout of all subresources in the image.
-
layouts¶ The subresource regions in this resource.
- Type
List[VKImageLayout]
-
resourceId¶ The
ResourceIdof the image.
-
-
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.
-
Conditional Rendering¶
-
class
renderdoc.VKConditionalRendering¶ Contains the current conditional rendering state.
-
bufferId¶ The
ResourceIdof the buffer containing the predicate for conditional rendering.
-
byteOffset¶ The byte offset into buffer where the predicate is located.
-
isInverted¶ Trueif predicate result is inverted.
-
isPassing¶ Trueif the current predicate would render.
-