# Packages
Package all is used to import all known api APIs for their side effects.
Package commandGenerator includes the interface and the implementation for generating commands to process.
Package controlFlowGenerator contains the interface and implementations to generate a control flow to create a replay.
Package sync provides interfaces for managing externally synchronized APIs.
Package terminator defines the Terminator interface, for special transforms that filter out the tail of a list of commands.
Package test is the integration test suite for the api compiler and templates.
Package transform contains the elements to be able to transform commands which consist of interfaces for individual transform operations and a transform chain to run all of them.
Package vulkan implements the API interface for the Vulkan graphics library.
# Functions
Abort retuns a new ErrCmdAborted with the given error message.
All returns all the registered APIs.
CmdCallFor returns the proto message type for the call result of cmd.
Find looks up a graphics API by identifier.
GetParameter returns the parameter value with the specified name.
GetResult returns the command's result value.
IsErrCmdAborted returns true if the cause of the error err was due to an abort() in the command.
MutateCmds calls Mutate on each of cmds.
NewMultiResourceData returns a new *MultiResourceData with the specified resources.
NewProperty returns a new Property using the given getter and setter functions.
NewRefID creates a new RefID.
NewResourceData returns a new *ResourceData with the specified data.
NewResourceExtras returns a new *ResourceExtras with the specified data.
NewRoot sets up a new root object.
NewStateWithAllocator returns a new, default-initialized State object, that uses the given memory.Allocator instance.
NewStateWithEmptyAllocator returns a new, default-initialized State object, that uses an allocator with no allocations.
NewTexture returns a new *ResourceData with the specified texture.
Register adds an api to the understood set.
ReverseSubCmdIDs reverses the slice of subcommand ids.
SetParameter sets the parameter with the specified name with val.
SetResult sets the commands result value to val.
SortSubCmdIDs sorts the slice of subcommand ids.
WithExtras adds the given extras to a command and returns it.
# Constants
Break can be returned from the callback passed to ForeachCmd to stop iteration of the loop.
use max int64 for the benefit of java.
ErrParameterNotFound is the error returned by GetParameter() and SetParameter() when the command does not have the named parameter.
ErrResultNotFound is the error returned by GetResult() and SetResult() when the command does not have a result value.
NilRefID identifies a nil reference in the API models.
# Variables
ErrMeshNotAvailable is an error returned by MeshProvider if a mesh is requested on an object that does not have a mesh (e.g.
ErrPipelineNotAvailable is an error returned by PipelineProvider if the pipelines are requested on an object that does not have pipelines.
# Structs
AllocResult represents the result of allocating a range using a memory.Allocator, and potentially the database ID for data that's meant to be stored in the range.
ArrayIndexFragment is a Fragment identifying an array index.
BoundPipeline represents a pipeline resource and its data currently bound.
CmdIDGroup represents a named group of commands with support for sparse sub-groups and sub-command-ranges.
CmdIDRange describes an interval of commands.
CmdObservation represents a single read or write observation made by an command.
CmdObservations is a collection of reads and write observations performed by an command.
CompleteFragment is a Fragment identifying the entire object (all fields), map (all key/value pairs) or array (all values).
FieldFragment is a Fragment identifying a field member of an API object.
FramebufferAttachmentInfo describes a framebuffer at a given point in the trace.
GlobalState represents the graphics state across all contexts.
Hierarchy describes the levels ID of hierarchy for vulkan commands and vulkan subcommands.
HierarchyNames describes the levels name of Hierarchy for vulkan commands and vulkan subcommands.
Label describes the levels of hierarchy for nodes in the graph visualization using TensorBoard which reads pbtxt format.
MapIndexFragment is a Fragment identifying a map index.
NilReference is a type representing a nil reference where an implementation of the `Reference` interface is expected.
Property represents a single field on an object.
StaticAnalysisCounter represents the metadata of a counter produced via the static analysis.
StaticAnalysisCounterSample is a single sample of a counter.
StaticAnalysisCounterSamples contains all the counter samples at a command index (draw call).
StaticAnalysisProfileData is the result of the profiling static analysis.
SubCmdIdxTrie is a map-based trie using SubCmdIdx for indexing the data stored inside.
SubCmdRoot is a new namespace under which subcommands live.
# Interfaces
API is the common interface to a graphics programming api.
APIObject is the interface implemented by types that belong to an API.
Cmd is the interface implemented by all graphics API commands.
CmdExtra is the interface implemented by command 'extras' - additional information that can be placed inside a command.
CmdGroupOrRoot represents either a named group of commands, or a new SubCmdRoot under which new commands live.
CmdWithResult is the optional interface implemented by commands that have a result value.
Field identifies a field in an API object.
Fragment is an interface which marks types which identify pieces of API objects.
GraphVisualizationAPI is the common interface for graph visualization.
GraphVisualizationBuilder is the common interface used to process commands from graphics API in order to get the Label for nodes in the graph visualization.
Handle is an interface implemented by every handle type in the API.
Labeled is the interface implemented commands that have a label.
MemoryBreakdown is the type implemented by APIs that can report the memory layout of their state.
MeshProvider is the interface implemented by types that provide meshes.
PipelineProvider is the interface implemented by types that provide pipelines.
PropertyProvider is the interface implemented by types that provide properties.
Reference is an interface which exposes a unique identifier.
Resource represents an asset in a capture.
Span is a child of a CmdIDGroup.
SpanItem is a placeholder interface exclusively implemented by CmdIDGroup, SubCmdIdx and SubCmdRoot.
State represents the graphics state for a single API.
StateWatcher provides callbacks to track state effects.
# Type aliases
CloneContext is used to keep track of references when cloning API objects.
CmdExtras is a list of CmdExtra objects.
CmdFlags is a bitfield describing characteristics of a command.
CmdID is the index of a command in a command stream.
CmdIDSet is a set of CmdIDs.
ID is an API identifier.
MutateInitialState is called from SetResourceData to get a mutable instance of the initial state.
Properties is a list of property pointers.
RefID is a type used to identify instances of the reference types used in the API models.
ReplaceCallback is called from SetResourceData to propagate changes to current command stream.
ResourceMap is a map from Resource handles to Resource IDs in the database.
Spans is a list of Span elements.
SubCmdIdx is a qualified path from a particular index to a given subcommand.
TraverseCallback is the function that's called for each traversed item in a group.