Common Pipeline State Abstraction¶
Contents
- class renderdoc.PipeState¶
An API-agnostic view of the common aspects of the pipeline state. This allows simple access to e.g. find out the bound resources or vertex buffers, or certain pipeline state which is available on all APIs.
For more detailed or precise information without abstraction, access the specific pipeline state for the capture that’s open.
- Abbrev(stage)¶
Retrieves a suitable two or three letter abbreviation of the given shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to abbreviate.
- Returns
The abbreviation of the stage.
- Return type
str
- GetAllUsedDescriptors(onlyUsed=False)¶
- GetAllUsedDescriptors() None
Retrieves all descriptor information for all descriptors accessed at the current event.
- Parameters
onlyUsed# (bool) – Omit descriptors bound or declared but not accessed.
- Returns
All descriptors accessed at the current event.
- Return type
List[UsedDescriptor]
- GetColorBlends()¶
Retrieves the current color blending states, per target.
- Returns
The currently color blend states.
- Return type
List[ColorBlend]
- GetComputePipelineObject()¶
Retrieves the the compute pipeline state object, if applicable.
- Returns
The object ID for the given pipeline object.
- Return type
- GetConstantBlock(stage, index, arrayIdx)¶
Retrieves the constant block at a given binding.
- Parameters
stage# (ShaderStage) – The shader stage to fetch from.
index# (int) – The index in the shader’s ConstantBlocks array to look up.
arrayIdx# (int) – For APIs that support arrays of constant buffers in a single binding, the index in that array to look up.
- Returns
The constant buffer at the specified binding.
- Return type
- GetConstantBlocks(stage, onlyUsed=False)¶
- GetConstantBlocks(stage) None
Retrieves the constant blocks used by a particular shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to fetch from.
onlyUsed# (bool) – Omit descriptors bound or declared but not accessed.
- Returns
The currently bound constant blocks.
- Return type
List[UsedDescriptor]
- GetDepthResolveTarget()¶
Retrieves the read/write resources bound to the depth-stencil resolve output.
- Returns
The currently bound depth-stencil resolve resource.
- Return type
- GetDepthTarget()¶
Retrieves the read/write resources bound to the depth-stencil output.
- Returns
The currently bound depth-stencil resource.
- Return type
- GetDescriptorAccess()¶
Retrieves the current list of descriptor accesses, as cached from a call to
ReplayController.GetDescriptorAccess()
. The return value is identical, this is here for convenience of access.- Returns
The descriptor accesses.
- Return type
List[DescriptorAccess]
- GetGraphicsPipelineObject()¶
Retrieves the the graphics pipeline state object, if applicable.
- Returns
The object ID for the given pipeline object.
- Return type
- GetIBuffer()¶
Retrieves the current index buffer binding.
Note
On OpenGL the index stride/width is not part of any state, but is specified in each action. In this case the current stride is whichever was last specified to a action, as if there was implicit state set by a action.
- Returns
A
BoundVBuffer
with the index buffer details- Return type
- GetOutputTargets()¶
Retrieves the resources bound to the color outputs.
- Returns
The currently bound output targets.
- Return type
List[Descriptor]
- GetPrimitiveTopology()¶
Returns the current primitive topology.
Note
On OpenGL the primitive topology is not part of any state, but is specified in each action. In this case the current topology is whichever was last specified to a action, as if there was implicit state set by a action.
- Returns
The current primitive topology.
- Return type
- GetRasterizedStream()¶
Retrieves the rasterized stream, if multiple streams are being generated in the GS.
- Returns
The rasterized stream, or -1 of no stream is being rasterized.
- Return type
int
- GetReadOnlyResources(stage, onlyUsed=False)¶
- GetReadOnlyResources(stage) None
Retrieves the read-only resources used by a particular shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to fetch from.
onlyUsed# (bool) – Omit descriptors bound or declared but not accessed.
- Returns
The currently bound read-only resources.
- Return type
List[UsedDescriptor]
- GetReadWriteResources(stage, onlyUsed=False)¶
- GetReadWriteResources(stage) None
Retrieves the read/write resources used by a particular shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to fetch from.
onlyUsed# (bool) – Omit descriptors bound or declared but not accessed.
- Returns
The currently bound read/write resources.
- Return type
List[UsedDescriptor]
- GetResourceLayout(id)¶
For APIs that have explicit barriers, retrieves the current layout of a resource.
- Parameters
id# (ResourceId) – The ID of the resource to query for
- Returns
The name of the current layout of the first subresource in the resource.
- Return type
str
- GetRestartIndex()¶
Retrieves the primitive restart index.
- Returns
The index value that represents a primitive restart not a real index.
- Return type
int
- GetSamplers(stage, onlyUsed=False)¶
- GetSamplers(stage) None
Retrieves the samplers bound to a particular shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to fetch from.
onlyUsed# (bool) – Omit descriptors bound or declared but not accessed.
- Returns
The currently bound sampler resources.
- Return type
List[UsedDescriptor]
- GetScissor(index)¶
Retrieves the scissor region for a given index.
- GetShader(stage)¶
Retrieves the object ID of the shader bound at a shader stage.
- Parameters
stage# (ShaderStage) – The shader stage to fetch.
- Returns
The object ID for the given shader.
- Return type
- GetShaderEntryPoint(stage)¶
Retrieves the name of the entry point function for a shader stage.
For some APIs that don’t distinguish by entry point, this may be empty.
- Parameters
stage# (ShaderStage) – The shader stage to fetch.
- Returns
The entry point name for the given shader.
- Return type
str
- GetShaderMessages()¶
Retrieves the shader messages obtained for the current action.
- Returns
The shader messages obtained for the current action.
- Return type
List[ShaderMessage]
- GetShaderReflection(stage)¶
Retrieves the shader reflection information for a shader stage.
This returns
None
if no shader is bound.- Parameters
stage# (ShaderStage) – The shader stage to fetch.
- Returns
The reflection data for the given shader.
- Return type
- GetStencilFaces()¶
Retrieves the current stencil states.
- Returns
The currently stencil states. Front facing first, back facing second.
- Return type
Tuple[StencilFace, StencilFace]
- GetVBuffers()¶
Retrieves the currently bound vertex buffers.
- Returns
The list of bound vertex buffers.
- Return type
List[BoundVBuffer]
- GetVertexInputs()¶
Retrieves the currently specified vertex attributes.
- Returns
The list of current vertex attributes.
- Return type
List[VertexInputAttribute]
- GetViewport(index)¶
Retrieves the viewport for a given index.
- HasAlignedPostVSData(stage)¶
Determines whether or not the PostVS data is aligned in the typical fashion (ie. vectors not crossing
float4
boundaries). APIs that use stream-out or transform feedback have tightly packed data, but APIs that rewrite shaders to dump data might have these alignment requirements.- Parameters
stage# (MeshDataStage) – The mesh data stage for the output data.
- Returns
A boolean indicating if post-VS data is aligned.
- Return type
bool
- IsCaptureD3D11()¶
Determines whether or not a D3D11 capture is currently loaded.
- Returns
A boolean indicating if a D3D11 capture is currently loaded.
- Return type
bool
- IsCaptureD3D12()¶
Determines whether or not a D3D12 capture is currently loaded.
- Returns
A boolean indicating if a D3D12 capture is currently loaded.
- Return type
bool
- IsCaptureGL()¶
Determines whether or not an OpenGL capture is currently loaded.
- Returns
A boolean indicating if an OpenGL capture is currently loaded.
- Return type
bool
- IsCaptureLoaded()¶
Determines whether or not a capture is currently loaded.
- Returns
A boolean indicating if a capture is currently loaded.
- Return type
bool
- IsCaptureVK()¶
Determines whether or not a Vulkan capture is currently loaded.
- Returns
A boolean indicating if a Vulkan capture is currently loaded.
- Return type
bool
- IsIndependentBlendingEnabled()¶
Determines whether or not independent blending is enabled.
- Returns
A boolean indicating if independent blending is enabled.
- Return type
bool
- IsRestartEnabled()¶
Determines whether or not primitive restart is enabled.
- Returns
A boolean indicating if primitive restart is enabled.
- Return type
bool
- IsTessellationEnabled()¶
Determines whether or not tessellation is currently enabled.
- Returns
A boolean indicating if tessellation is currently enabled.
- Return type
bool
- MultiviewBroadcastCount()¶
- Returns
The number of views being broadcast to simultaneously during rendering.
- Return type
int
- OutputAbbrev()¶
Retrieves a suitable two or three letter abbreviation of the output stage. Typically ‘OM’ or ‘FBO’.
- Returns
The abbreviation of the output stage.
- Return type
str
- SupportsBarriers()¶
Determines whether or not the current capture uses explicit barriers.
- Returns
A boolean indicating if explicit barriers are used.
- Return type
bool
- SupportsResourceArrays()¶
Determines whether or not the current capture supports binding arrays of resources.
- Returns
A boolean indicating if binding arrays of resources is supported.
- Return type
bool
General¶
Vertex Inputs¶
- class renderdoc.BoundVBuffer¶
Information about a single vertex or index buffer binding.
- byteOffset¶
The offset in bytes from the start of the buffer to the data.
- byteSize¶
The size of the buffer binding, or 0xFFFFFFFF if the whole buffer is bound.
- byteStride¶
The stride in bytes between the start of one element and the start of the next.
- resourceId¶
A
ResourceId
identifying the buffer.
- class renderdoc.VertexInputAttribute¶
Information about a vertex input attribute feeding the vertex shader.
- byteOffset¶
The byte offset from the start of the vertex data for this VB to this attribute.
- floatCastWrong¶
Only valid for attributes on OpenGL. If the attribute has been set up for integers to be converted to floats (glVertexAttribFormat with GL_INT) we store the format as integers. This is fine if the application has a float input in the shader it just means we display the raw integer instead of the casted float. However if the shader has an integer input this is invalid and it will read something undefined - possibly the int bits of the casted float.
This property is set to
True
if the cast happens to an integer input and that bad cast needs to be emulated.
- format¶
The interpreted format of this attribute.
- Type
- genericEnabled¶
True
if this attribute is usinggenericValue
for its data.
- genericValue¶
The generic value for this attribute if it has no vertex buffer bound.
- Type
- instanceRate¶
If
perInstance
isTrue
, the number of instances that source the same value from the vertex buffer before advancing to the next value.
- name¶
The name of this input. This may be a variable name or a semantic name.
- perInstance¶
True
if this attribute runs at instance rate.
- used¶
True
if this attribute is enabled and used by the vertex shader.
- vertexBuffer¶
The index of the vertex buffer used to provide this attribute.
- class renderdoc.Topology(value)¶
A primitive topology used for processing vertex data.
- Unknown¶
An unknown or undefined topology.
- PointList¶
A point list.
- LineList¶
A line list.
- LineStrip¶
A line strip.
- LineLoop¶
A line loop.
- TriangleList¶
A triangle list.
- TriangleStrip¶
A triangle strip.
- TriangleFan¶
A triangle fan.
- LineList_Adj¶
A line list with adjacency information.
- LineStrip_Adj¶
A line strip with adjacency information.
- TriangleList_Adj¶
A triangle list with adjacency information.
- TriangleStrip_Adj¶
A triangle strip with adjacency information.
- PatchList¶
An alias for
PatchList_1CPs
.
- PatchList_1CPs¶
A patch list with 1 control points.
- PatchList_2CPs¶
A patch list with 2 control points.
- PatchList_3CPs¶
A patch list with 3 control points.
- PatchList_4CPs¶
A patch list with 4 control points.
- PatchList_5CPs¶
A patch list with 5 control points.
- PatchList_6CPs¶
A patch list with 6 control points.
- PatchList_7CPs¶
A patch list with 7 control points.
- PatchList_8CPs¶
A patch list with 8 control points.
- PatchList_9CPs¶
A patch list with 9 control points.
- PatchList_10CPs¶
A patch list with 10 control points.
- PatchList_11CPs¶
A patch list with 11 control points.
- PatchList_12CPs¶
A patch list with 12 control points.
- PatchList_13CPs¶
A patch list with 13 control points.
- PatchList_14CPs¶
A patch list with 14 control points.
- PatchList_15CPs¶
A patch list with 15 control points.
- PatchList_16CPs¶
A patch list with 16 control points.
- PatchList_17CPs¶
A patch list with 17 control points.
- PatchList_18CPs¶
A patch list with 18 control points.
- PatchList_19CPs¶
A patch list with 19 control points.
- PatchList_20CPs¶
A patch list with 20 control points.
- PatchList_21CPs¶
A patch list with 21 control points.
- PatchList_22CPs¶
A patch list with 22 control points.
- PatchList_23CPs¶
A patch list with 23 control points.
- PatchList_24CPs¶
A patch list with 24 control points.
- PatchList_25CPs¶
A patch list with 25 control points.
- PatchList_26CPs¶
A patch list with 26 control points.
- PatchList_27CPs¶
A patch list with 27 control points.
- PatchList_28CPs¶
A patch list with 28 control points.
- PatchList_29CPs¶
A patch list with 29 control points.
- PatchList_30CPs¶
A patch list with 30 control points.
- PatchList_31CPs¶
A patch list with 31 control points.
- PatchList_32CPs¶
A patch list with 32 control points.
- renderdoc.NumVerticesPerPrimitive(topology)¶
A utility function that returns the number of vertices in a primitive of a given topology.
Note
In strip topologies vertices are re-used.
- renderdoc.VertexOffset(topology, primitive)¶
A utility function that returns the offset in the list of vertices of the first vertex in a particular primitive of a given topology. This calculation is simple but not trivial for the case of strip topologies.
- renderdoc.PatchList_Count(topology)¶
Return the number of control points in a patch list
Topology
t
must be a patch list topology, the return value will be between 1 and 32 inclusive
- renderdoc.PatchList_Topology(N)¶
Return the patch list
Topology
with N control pointsN
must be between 1 and 32 inclusive.
Shader Resource Bindings¶
- class renderdoc.UsedDescriptor¶
Combined information about a single descriptor that has been used, both the information about its access and its contents.
This is a helper struct for the common pipeline state abstraction to trade off simplicity of access against optimal access.
- access¶
The access information of which shader reflection object accessed which descriptor.
- Type
- descriptor¶
The contents of the accessed descriptor, if it is a normal non-sampler descriptor.
For sampler descriptors this is empty.
- Type
- sampler¶
The contents of the accessed descriptor, if it is a sampler descriptor.
For normal descriptors this is empty.
- Type
- class renderdoc.BindType(value)¶
The type of a shader resource bind.
- Unknown¶
An unknown type of binding.
- ConstantBuffer¶
A constant or uniform buffer.
- Sampler¶
A separate sampler object.
- ImageSampler¶
A combined image and sampler object.
- ReadOnlyImage¶
An image that can only be sampled from.
- ReadWriteImage¶
An image that can be read from and written to arbitrarily.
- ReadOnlyTBuffer¶
A texture buffer that can only be read from.
- ReadWriteTBuffer¶
A texture buffer that can be read from and written to arbitrarily.
- ReadOnlyBuffer¶
A buffer that can only be read from, distinct from
ConstantBuffer
.
- ReadWriteBuffer¶
A buffer that can be read from and written to arbitrarily.
- ReadOnlyResource¶
A resource that can only be read from
- ReadWriteResource¶
A resource that can be read from and written to arbitrarily.
- InputAttachment¶
An input attachment for reading from the target currently being written.
- class renderdoc.TextureSwizzle(value)¶
A single source component for a destination texture swizzle.
- Red¶
The Red component.
- Green¶
The Green component.
- Blue¶
The Blue component.
- Alpha¶
The Alpha component.
- Zero¶
The fixed value
0
.
- One¶
The fixed value
1
.
- class renderdoc.TextureSwizzle4¶
The four components of a texture swizzle.
- alpha¶
The alpha channel’s
TextureSwizzle
.
- blue¶
The blue channel’s
TextureSwizzle
.
- green¶
The green channel’s
TextureSwizzle
.
- red¶
The red channel’s
TextureSwizzle
.
Samplers¶
- class renderdoc.AddressMode(value)¶
A texture addressing mode in a single direction (U,V or W).
- Wrap¶
The texture is tiled at every multiple of 1.0.
- MirrorClamp¶
Alias of
MirrorOnce
.
- ClampEdge¶
The texture is clamped to the range of
[0.0, 1.0]
and the texture value at each end used.
- ClampBorder¶
The texture is clamped such that texture co-ordinates outside the range of
[0.0, 1.0]
are set to the border color specified in the sampler.
- class renderdoc.TextureFilter¶
The details of a texture filter in a sampler.
- filter¶
The
FilterFunction
to apply after interpolating values.
- magnify¶
The
FilterMode
to use when magnifying the texture.
- minify¶
The
FilterMode
to use when minifying the texture.
- mip¶
The
FilterMode
to use when interpolating between mips.
- class renderdoc.FilterMode(value)¶
The texture filtering mode for a given direction (minification, magnification, or between mips).
- NoFilter¶
No filtering - this direction is disabled or there is no sampler.
- Point¶
Point or nearest filtering - the closest pixel or mip level to the sample location is used.
- Linear¶
Linear filtering - a linear interpolation happens between the pixels or mips on either side of the sample location in each direction.
- Cubic¶
Similar to linear filtering but with a cubic curve used for interpolation instead of linear.
- Anisotropic¶
This sampler is using anisotropic filtering.
- class renderdoc.FilterFunction(value)¶
The function used to process the returned value after interpolation.
- Normal¶
No special processing is used, the value is returned directly to the shader.
- Comparison¶
The value from interpolation is compared to a reference value and the comparison result is returned to the shader.
- Minimum¶
Instead of interpolating between sample points to retrieve an interpolated value, a min filter is used instead to find the minimum sample value.
Texels that were weight to 0 during interpolation are not included in the min function.
- Maximum¶
Instead of interpolating between sample points to retrieve an interpolated value, a max filter is used instead to find the maximum sample value.
Texels that were weight to 0 during interpolation are not included in the max function.
- class renderdoc.ChromaSampleLocation(value)¶
Determines where in the pixel downsampled chrome samples are positioned.
- CositedEven¶
The chroma samples are positioned exactly in the same place as the even luma co-ordinates.
- Midpoint¶
The chrome samples are positioned half way between each even luma sample and the next highest odd luma sample.
- class renderdoc.YcbcrConversion(value)¶
The color model conversion that a YCbCr sampler uses to convert from YCbCr to RGB.
- Raw¶
The input values are not converted at all.
- RangeOnly¶
There is no model conversion but the inputs are range expanded as for YCbCr.
- BT709¶
The conversion uses the BT.709 color model conversion.
- BT601¶
The conversion uses the BT.601 color model conversion.
- BT2020¶
The conversion uses the BT.2020 color model conversion.
- class renderdoc.YcbcrRange(value)¶
Specifies the range of encoded values and their interpretation.
- ITUFull¶
The full range of input values are valid and interpreted according to ITU “full range” rules.
- ITUNarrow¶
A head and foot are reserved in the encoded values, and the remaining values are expanded according to “narrow range” rules.
Viewport and Scissor¶
- class renderdoc.Viewport¶
Information about a viewport.
- enabled¶
Is this viewport enabled.
- height¶
The height of the viewport.
- maxDepth¶
The maximum depth of the viewport.
- minDepth¶
The minimum depth of the viewport.
- width¶
The width of the viewport.
- x¶
The X co-ordinate of the viewport.
- y¶
The Y co-ordinate of the viewport.
Rasterizer¶
- class renderdoc.CullMode(value)¶
The culling mode for polygons.
- NoCull¶
No polygon culling is performed.
- Front¶
Front-facing polygons are culled.
- Back¶
Back-facing polygons are culled.
- FrontAndBack¶
Both front-facing and back-facing polygons are culled.
- class renderdoc.FillMode(value)¶
The fill mode for polygons.
- Solid¶
Polygons are filled in and rasterized solidly.
- Wireframe¶
Polygons are rendered only with lines along their edges, forming a wireframe.
- Point¶
Only the points at the polygons vertices are rendered.
- class renderdoc.ConservativeRaster(value)¶
The conservative rasterization mode.
- Disabled¶
No conservative rasterization, the default rasterization coverage algorithm is used.
- Underestimate¶
Fragments will only be generated if the primitive full covers all parts of the pixel, including edges and corners.
- Overestimate¶
Fragments will be generated if the primitive covers any part of the pixel, including edges and corners.
- class renderdoc.LineRaster(value)¶
The line rasterization mode.
- Default¶
Default line rasterization mode as defined by the API specification.
- Rectangular¶
Lines are rasterized as rectangles extruded from the line.
- Bresenham¶
Lines are rasterized according to the bresenham line algorithm.
- RectangularSmooth¶
Lines are rasterized as rectangles extruded from the line with coverage falloff being implementation independent.
- RectangularD3D¶
Lines are rasterized as rectangles extruded from the line, but with a width of 1.4 according to legacy D3D behaviour
- class renderdoc.ShadingRateCombiner(value)¶
A combiner to apply when determining a pixel shading rate.
- Keep¶
Keep the first input to the combiner.
- Replace¶
Replace with the second input to the combiner.
- Min¶
Use the minimum (finest rate) of the two inputs.
- Max¶
Use the maximum (coarsest rate) of the two inputs.
- Multiply¶
Multiply the two rates together (e.g. 1x1 and 1x2 = 1x2, 2x2 and 2x2 = 4x4). Note that D3D names this ‘sum’ misleadingly.
Stencil¶
- class renderdoc.StencilFace¶
Describes the details of a stencil operation.
- compareMask¶
The mask for testing stencil values.
- depthFailOperation¶
the
StencilOperation
to apply if the depth-test fails.
- failOperation¶
The
StencilOperation
to apply if the stencil-test fails.
- function¶
the
CompareFunction
to use for testing stencil values.
- passOperation¶
the
StencilOperation
to apply if the stencil-test passes.
- reference¶
The current stencil reference value.
- writeMask¶
The mask for writing stencil values.
- class renderdoc.StencilOperation(value)¶
A stencil operation to apply in stencil processing.
- Keep¶
Keep the existing value unmodified.
- Zero¶
Set the value to
0
.
- Replace¶
Replace the value with the stencil reference value.
- IncSat¶
Increment the value but saturate at the maximum representable value (typically
255
).
- DecSat¶
Decrement the value but saturate at
0
.
- IncWrap¶
Increment the value and wrap at the maximum representable value (typically
255
) to0
.
- DecWrap¶
Decrement the value and wrap at
0
to the maximum representable value (typically255
).
- Invert¶
Invert the bits in the stencil value (bitwise
NOT
).
Blending¶
- class renderdoc.ColorBlend¶
Describes the blend configuration for a given output target.
- alphaBlend¶
The blending equation for alpha values.
- Type
- colorBlend¶
The blending equation for color values.
- Type
- enabled¶
True
if blending is enabled for this target.
- logicOperation¶
The
LogicOperation
to use for logic operations, iflogicOperationEnabled
isTrue
.
- logicOperationEnabled¶
True
if the logic operation inlogicOperation
should be used.
- writeMask¶
The mask for writes to the render target.
- class renderdoc.BlendEquation¶
Describes the details of a blend operation.
- destination¶
The
BlendMultiplier
for the destination blend value.
- operation¶
The
BlendOperation
to use in the blend calculation.
- source¶
The
BlendMultiplier
for the source blend value.
- class renderdoc.BlendMultiplier(value)¶
A multiplier on one component in the blend equation.
Note
The “source” value is the value written out by the shader.
The “second source” value is provided when dual source blending is used.
The “destination” value is the value in the target being blended to.
These values are combined using a given blend operation, see
BlendOperation
.Where a color is referenced, the value depends on where the multiplier appears in the blend equation. If it is a multiplier on the color component then it refers to the color component. If it is a multiplier on the alpha component then it refers to the alpha component.
If alpha is referenced explicitly it always refers to alpha, in both color and alpha equations.
- Zero¶
The literal value
0.0
.
- One¶
The literal value
1.0
.
- SrcCol¶
The source value’s color.
- InvSrcCol¶
1.0
minus the source value’s color.
- DstCol¶
The destination value’s color.
- InvDstCol¶
1.0
minus the destination value’s color.
- SrcAlpha¶
The source value’s alpha.
- InvSrcAlpha¶
1.0
minus the source value’s alpha.
- DstAlpha¶
The destination value’s alpha.
- InvDstAlpha¶
1.0
minus the destination value’s alpha.
- SrcAlphaSat¶
The lowest value of
SrcAlpha
andInvDstAlpha
. If used in the alpha equation, it takes the valueOne
.
- FactorRGB¶
The color components of the fixed blend factor constant.
- InvFactorRGB¶
1.0
minus the color components of the fixed blend factor constant.
- FactorAlpha¶
The alpha component of the fixed blend factor constant.
- InvFactorAlpha¶
1.0
minus the alpha components of the fixed blend factor constant.
- Src1Col¶
The second source value’s color.
- InvSrc1Col¶
1.0
minus the second source value’s color.
- Src1Alpha¶
The second source value’s alpha.
- InvSrc1Alpha¶
1.0
minus the second source value’s alpha.
- class renderdoc.BlendOperation(value)¶
A blending operation to apply in color blending.
Note
The “source” value is the value written out by the shader.
The “destination” value is the value in the target being blended to.
These values are multiplied by a given blend factor, see
BlendMultiplier
.- Add¶
Add the two values being processed together.
- Subtract¶
Subtract the destination value from the source value.
- ReversedSubtract¶
Subtract the source value from the destination value.
- Minimum¶
The minimum of the source and destination value.
- Maximum¶
The maximum of the source and destination value.
- class renderdoc.LogicOperation(value)¶
A logical operation to apply when writing texture values to an output.
Note
The “source” value is the value written out by the shader.
The “destination” value is the value in the target being written to.
- NoOp¶
No operation is performed, the destination is unmodified.
- Clear¶
A
0
in every bit.
- Set¶
A
1
in every bit.
- Copy¶
The contents of the source value.
- CopyInverted¶
The contents of the source value are bitwise inverted.
- Invert¶
The contents of the destination value are bitwise inverted, then written.
- And¶
The source and destination values are combined with the bitwise
AND
operator.
- Nand¶
The source and destination values are combined with the bitwise
NAND
operator.
- Or¶
The source and destination values are combined with the bitwise
OR
operator.
- Xor¶
The source and destination values are combined with the bitwise
XOR
operator.
- Nor¶
The source and destination values are combined with the bitwise
NOR
operator.
- Equivalent¶
The source and destination values are combined with the logical equivalence operator, defined as
NOT (s XOR d)
.
- AndReverse¶
The source and inverted destination values are combined with the bitwise
AND
operator - i.e.s AND (NOT d)
.
- AndInverted¶
The inverted source and destination values are combined with the bitwise
AND
operator - i.e.(NOT s) AND d
.
- OrReverse¶
The source and inverted destination values are combined with the bitwise
OR
operator - i.e.s OR (NOT d)
.
- OrInverted¶
The inverted source and destination values are combined with the bitwise
OR
operator - i.e.(NOT s) OR d
.
Shader Messages¶
- class renderdoc.ShaderMessage¶
A shader printed message.
- disassemblyLine¶
The line (starting from 1) of the disassembly where this message came from, or -1 if it is not associated with any line.
- Type
int
- location¶
The location (thread/invocation) of the shader that this message comes from.
- message¶
The formatted message.
- Type
str
- stage¶
The shader stage this message comes from.
- Type
- class renderdoc.ShaderMessageLocation¶
A shader message’s location.
- compute¶
The location if the shader is a compute shader.
- geometry¶
The location if the shader is a geometry shader.
- mesh¶
The location if the shader is a task or mesh shader.
- pixel¶
The location if the shader is a pixel shader.
- vertex¶
The location if the shader is a vertex shader.
- class renderdoc.ShaderMeshMessageLocation¶
A task or mesh message’s location.
- NotUsed¶
Set for values of task group/thread index when no task shaders were run.
Also set for values of a mesh group or thread index when that dimensionality is unused. For example if the shader declares a group dimension of (128,1,1) then the y and z values for thread index will be indicated as not used.
- meshGroup¶
The mesh workgroup index within the dispatch or launching task workgroup.
- Type
Tuple[int,int,int]
- taskGroup¶
The task workgroup index between the task dispatch.
- Type
Tuple[int,int,int]
- thread¶
The thread index within the workgroup, either for a task shader or mesh shader.
Note
Since task shaders can only emit one set of meshes per group, the task thread is not relevant for mesh shader messages, so this is the thread either for a task or a mesh shader message.
- Type
Tuple[int,int,int]
- class renderdoc.ShaderVertexMessageLocation¶
A vertex shader message’s location.
- instance¶
The instance for this vertex.
- Type
int
- vertexIndex¶
The vertex or index for this vertex.
- Type
int
- view¶
The multiview view for this vertex, or
0
if multiview is disabled.- Type
int
- class renderdoc.ShaderPixelMessageLocation¶
A pixel shader message’s location.
- NoLocation¶
No frame number is available.
- primitive¶
The generating primitive, or
NoLocation
if the primitive ID is unavailable.- Type
int
- sample¶
The sample, or
NoLocation
if sample shading is disabled.- Type
int
- view¶
The multiview view for this fragment, or
0
if multiview is disabled.- Type
int
- x¶
The x co-ordinate of the pixel.
- Type
int
- y¶
The y co-ordinate of the pixel.
- Type
int
- class renderdoc.ShaderGeometryMessageLocation¶
A geometry shader message’s location.
- NoLocation¶
No frame number is available.
- primitive¶
The primitive index
- Type
int
- view¶
The multiview view for this primitive, or
0
if multiview is disabled.- Type
int
- class renderdoc.ShaderComputeMessageLocation¶
A compute shader message’s location.
- thread¶
The thread index within the workgroup.
- Type
Tuple[int,int,int]
- workgroup¶
The workgroup index within the dispatch.
- Type
Tuple[int,int,int]
qrenderdoc.ShaderMessageViewer