- class renderdoc.ResourceId¶
This is an opaque identifier that uniquely locates a resource.
These IDs do not overlap ever - textures, buffers, shaders and samplers will all have unique IDs and do not reuse the namespace. Likewise the IDs assigned for resources during capture are not re-used on replay - the corresponding resources created on replay to stand-in for capture-time resources are given unique IDs and a mapping is stored to between the capture-time resource and the replay-time one.
- class renderdoc.ResourceDescription¶
A description of any type of resource.
Utility function for setting up a custom name to overwrite the auto-generated one.
givenName# (str) – The custom name to use.
namewas just autogenerated based on the ID, not assigned a human-readable name by the application.
ResourceIdof any derived resources, such as resource views or aliases.
Can be empty if there are no derived resources.
This is the inverse of
parentResourcesin a potentially many:many relationship, but typically it is one parent to many derived.
The chunk indices in the structured file that initialised this resource.
This will at least contain the first call that created it, but may contain other auxilliary calls.
The name given to this resource.
ResourceIdof parent resources, of which this is derived.
Can be empty if there are no parent resources.
This is the inverse of
derivedResourcesin a potentially many:many relationship, but typically it is one parent to many derived.
- class renderdoc.ResourceType(value)¶
The type of a resource referred to by binding or API usage.
In some cases there is a little overlap or fudging when mapping API concepts - this is primarily just intended for e.g. fuzzy user filtering or rough categorisation. Precise mapping would require API-specific concepts.
An unknown type of resource.
A system-level object, typically unique.
A queue representing the ability to execute commands in a single stream, possibly in parallel to other queues.
A recorded set of commands that can then be subsequently executed.
A texture - one- to three- dimensional, possibly with array layers and mip levels. See
A particular view into a texture or buffer, e.g. either accessing the underlying resource through a different type, or only a subset of the resource.
The information regarding how a texture is accessed including wrapping, minification/magnification and other information. The precise details are API-specific and listed in the API state when bound.
A special class of
Texturethat is owned by the swapchain and is used for presentation.
An object corresponding to an actual memory allocation, which other resources can then be bound to.
A single shader object for any shader stage. May be bound directly, or used to compose into a
PipelineStatedepending on the API.
An object that determines some manner of shader binding. Since this varies significantly by API, different concepts used for shader resource binding fall under this type.
A single object containing all information regarding the current GPU pipeline, containing both shader objects, potentially some shader binding information, and fixed-function state.
A single object encapsulating some amount of related state that can be set together, instead of setting each individual state separately.
An object related to collecting render pass information together. This may not be an actual explicit render pass object if it doesn’t exist in the API, it may also be a collection of textures in a framebuffer that are bound together to the API for rendering.
A query for retrieving some kind of feedback from the GPU, either as a fixed number or a boolean value which can be used in predicated rendering.
A synchronisation object used for either synchronisation between GPU and CPU, or GPU-to-GPU work.
An object which pools together other objects in an opaque way, either for runtime allocation and deallocation, or for caching purposes.
- class renderdoc.TextureDescription¶
A description of a texture resource.
How many array elements this texture has, will be at least 1.
How many bytes would be used to store this texture and all its mips/slices.
The way this texture will be used in the pipeline.
Trueif this texture is used as a cubemap or cubemap array.
The depth of the texture, or 1 if not applicable.
The base dimension of the texture - either 1, 2, or 3.
The height of the texture, or 1 if not applicable.
How many mips this texture has, will be at least 1.
The quality setting of this texture, or 0 if not applicable.
How many multisampled samples this texture has, will be at least 1.
The width of the texture, or length for buffer textures.
- class renderdoc.TextureType(value)¶
The dimensionality of a texture binding.
An unknown type of texture.
A texel buffer.
A 1D texture.
A 1D texture array.
A 2D texture.
A rectangle texture, a legacy format for non-power of two textures.
A 2D texture array.
A multi-sampled 2D texture.
A multi-sampled 2D texture array.
A 3D texture.
A Cubemap texture.
A Cubemap texture array.
- class renderdoc.TextureCategory(value)¶
A set of flags describing how this texture may be used
The texture will not be used for any of the uses below.
The texture will be read by a shader.
The texture will be written to as a color target.
The texture will be written to and tested against as a depth target.
The texture will be read and written to by a shader.
The texture is part of a window swapchain.
- class renderdoc.Subresource¶
Specifies a subresource within a texture.
The mip level in the texture.
The sample in a multisampled texture.
The slice within the texture. For 3D textures this is a depth slice, for arrays it is an array slice.
Cubemaps are simply 2D array textures with a special meaning, so the faces of a cubemap are the 2D array slices in the standard order: X+, X-, Y+, Y-, Z+, Z-. Cubemap arrays are 2D arrays with
6 * Nfaces, where each cubemap within the array takes up 6 slices in the above order.
- class renderdoc.BufferDescription¶
A description of a buffer resource.
The way this buffer will be used in the pipeline.
The known base GPU Address of this buffer. 0 if not applicable or available.
The byte length of the buffer.
- class renderdoc.BufferCategory(value)¶
A set of flags describing how this buffer may be used
The buffer will not be used for any of the uses below.
The buffer will be used for sourcing vertex input data.
The buffer will be used for sourcing primitive index data.
The buffer will be used for sourcing shader constant data.
The buffer will be used for read and write access from shaders.
The buffer will be used to provide indirect parameters for launching GPU-based drawcalls.