Versions in this module Expand all Collapse all v1 v1.0.0 Sep 11, 2020 Changes in this version + const Break + const CmdNoID + const ErrParameterNotFound + const ErrResultNotFound + const NilRefID + var ErrMeshNotAvailable = errors.New("Mesh not available at this command") + func CmdCallFor(cmd Cmd) proto.Message + func ForeachCmd(ctx context.Context, cmds []Cmd, onlyTerminated bool, ...) error + func GetParameter(c Cmd, name string) (interface{}, error) + func GetResult(c Cmd) (interface{}, error) + func IsErrCmdAborted(err error) bool + func MutateCmds(ctx context.Context, state *GlobalState, builder *builder.Builder, ...) error + func Register(api API) + func SetParameter(c Cmd, name string, val interface{}) error + func SetResult(c Cmd, val interface{}) error + type API interface + ConstantSets func() *constset.Pack + CreateCmd func(a arena.Arena, name string) Cmd + GetFramebufferAttachmentInfos func(ctx context.Context, state *GlobalState) (info []FramebufferAttachmentInfo, err error) + ID func() ID + Index func() uint8 + Name func() string + RebuildState func(ctx context.Context, s *GlobalState) ([]Cmd, interval.U64RangeList) + func All() []API + func Find(id ID) API + type APIObject interface + API func() API + type AllocResult struct + func (r AllocResult) Address() uint64 + func (r AllocResult) Data() (memory.Range, id.ID) + func (r AllocResult) Free() + func (r AllocResult) Offset(n uint64) memory.Pointer + func (r AllocResult) Ptr() memory.Pointer + func (r AllocResult) Range() memory.Range + type ArrayIndexFragment struct + ArrayIndex int + func (f ArrayIndexFragment) DenseIndex() int + func (f ArrayIndexFragment) Format(s fmt.State, r rune) + type CloneContext map[interface{}]interface + type Cmd interface + Alive func() bool + Clone func(arena.Arena) Cmd + CmdFlags func() CmdFlags + CmdName func() string + CmdParams func() Properties + CmdResult func() *Property + Extras func() *CmdExtras + Mutate func(context.Context, CmdID, *GlobalState, *builder.Builder, StateWatcher) error + SetTerminated func(terminated bool) + SetThread func(uint64) + Terminated func() bool + Thread func() uint64 + func ServiceToCmd(a arena.Arena, c *Command) (Cmd, error) + func WithExtras(a Cmd, extras ...CmdExtra) Cmd + type CmdExtra interface + type CmdExtras []CmdExtra + func (e *CmdExtras) Aborted() *ErrCmdAborted + func (e *CmdExtras) Add(es ...CmdExtra) + func (e *CmdExtras) All() CmdExtras + func (e *CmdExtras) GetOrAppendObservations() *CmdObservations + func (e *CmdExtras) MustClone(es ...CmdExtra) + func (e *CmdExtras) Observations() *CmdObservations + func (e *CmdExtras) Replace(old, new CmdExtra) + type CmdFlags uint32 + const Clear + const DrawCall + const EndOfFrame + const ExecutedDraw + const PopUserMarker + const PushUserMarker + const StartOfFrame + const Submission + const TransformFeedback + const UserMarker + func (f CmdFlags) IsClear() bool + func (f CmdFlags) IsDrawCall() bool + func (f CmdFlags) IsEndOfFrame() bool + func (f CmdFlags) IsExecutedDraw() bool + func (f CmdFlags) IsPopUserMarker() bool + func (f CmdFlags) IsPushUserMarker() bool + func (f CmdFlags) IsStartOfFrame() bool + func (f CmdFlags) IsSubmission() bool + func (f CmdFlags) IsTransformFeedback() bool + func (f CmdFlags) IsUserMarker() bool + type CmdGroupOrRoot interface + Index func(index uint64) SpanItem + type CmdID uint64 + func (id CmdID) Derived() CmdID + func (id CmdID) IsReal() bool + func (id CmdID) Real() CmdID + func (id CmdID) String() string + type CmdIDGroup struct + Name string + Range CmdIDRange + Spans Spans + UserData interface{} + func (g *CmdIDGroup) AddCommand(id CmdID) bool + func (g *CmdIDGroup) AddGroup(start, end CmdID, name string) (*CmdIDGroup, error) + func (g *CmdIDGroup) AddRoot(rootidx []uint64, nameLookUp *SubCmdIdxTrie) *SubCmdRoot + func (g *CmdIDGroup) Bounds() CmdIDRange + func (g *CmdIDGroup) Cluster(maxChildren, maxNeighbours uint64) + func (g CmdIDGroup) Count() uint64 + func (g CmdIDGroup) DeepCount(pred func(g CmdIDGroup) bool) uint64 + func (g CmdIDGroup) FindSubCommandRoot(id CmdID) *SubCmdRoot + func (g CmdIDGroup) Format(f fmt.State, r rune) + func (g CmdIDGroup) Index(index uint64) SpanItem + func (g CmdIDGroup) IndexOf(id CmdID) uint64 + func (g CmdIDGroup) IterateBackwards(index uint64, cb func(childIdx uint64, item SpanItem) error) error + func (g CmdIDGroup) IterateForwards(index uint64, cb func(childIdx uint64, item SpanItem) error) error + func (g CmdIDGroup) Traverse(backwards bool, start []uint64, cb TraverseCallback) error + type CmdIDRange struct + End CmdID + Start CmdID + func (i *CmdIDRange) SetSpan(span interval.U64Span) + func (i CmdIDRange) Clamp(id CmdID) CmdID + func (i CmdIDRange) CmdIDRange() (start, end CmdID) + func (i CmdIDRange) Contains(id CmdID) bool + func (i CmdIDRange) First() CmdID + func (i CmdIDRange) Last() CmdID + func (i CmdIDRange) Length() uint64 + func (i CmdIDRange) Span() interval.U64Span + func (i CmdIDRange) String() string + func (r *CmdIDRange) Bounds() CmdIDRange + func (r CmdIDRange) Split(i uint64) (*CmdIDRange, *CmdIDRange) + type CmdIDSet map[CmdID]struct + func (s *CmdIDSet) Add(id CmdID) + func (s *CmdIDSet) Remove(id CmdID) + func (s CmdIDSet) Contains(id CmdID) bool + type CmdObservation struct + ID id.ID + Pool memory.PoolID + Range memory.Range + func (o CmdObservation) String() string + type CmdObservations struct + Reads []CmdObservation + Writes []CmdObservation + func (o *CmdObservations) AddRead(rng memory.Range, id id.ID) + func (o *CmdObservations) AddWrite(rng memory.Range, id id.ID) + func (o *CmdObservations) ApplyReads(p *memory.Pool) + func (o *CmdObservations) ApplyWrites(p *memory.Pool) + func (o *CmdObservations) DataString(ctx context.Context) string + func (o *CmdObservations) String() string + type CmdSubmissionKey [4]uint64 + type CmdWithResult interface + CallResult func() proto.Message + SetCallResult func(context.Context, proto.Message) error + type CompleteFragment struct + func (CompleteFragment) DenseIndex() int + func (CompleteFragment) Format(s fmt.State, r rune) + type DenseFragment interface + DenseIndex func() int + type DenseFragmentMap struct + Values []denseFragmentMapEntry + func NewDenseFragmentMap(cap int) *DenseFragmentMap + func (m *DenseFragmentMap) Set(f Fragment, v interface{}) + func (m DenseFragmentMap) Clear() + func (m DenseFragmentMap) Delete(f Fragment) + func (m DenseFragmentMap) EmptyClone() FragmentMap + func (m DenseFragmentMap) ForeachFrag(f func(Fragment, interface{}) error) error + func (m DenseFragmentMap) Get(f Fragment) (interface{}, bool) + type Field interface + ClassName func() string + FieldIndex func() int + FieldName func() string + type FieldFragment struct + func (f FieldFragment) DenseIndex() int + func (f FieldFragment) Format(s fmt.State, r rune) + type Fragment interface + type FragmentMap interface + Clear func() + Delete func(Fragment) + EmptyClone func() FragmentMap + ForeachFrag func(func(Fragment, interface{}) error) error + Get func(Fragment) (interface{}, bool) + Set func(Fragment, interface{}) + type FramebufferAttachmentInfo struct + CanResize bool + Err error + Format *image.Format + Height uint32 + Index uint32 + Type FramebufferAttachmentType + Width uint32 + type GlobalState struct + APIs map[ID]State + AddTag func(msgID uint32, msg *stringtable.Msg) + Allocator memory.Allocator + Arena arena.Arena + Memory memory.Pools + MemoryLayout *device.MemoryLayout + NewMessage func(level log.Severity, msg *stringtable.Msg) uint32 + OnError func(err interface{}) + OnResourceAccessed func(Resource) + OnResourceCreated func(Resource) + OnResourceDestroyed func(Resource) + func NewStateWithAllocator(allocator memory.Allocator, memoryLayout *device.MemoryLayout) *GlobalState + func NewStateWithEmptyAllocator(memoryLayout *device.MemoryLayout) *GlobalState + func (s *GlobalState) Alloc(ctx context.Context, size uint64) (AllocResult, error) + func (s *GlobalState) AllocData(ctx context.Context, v ...interface{}) (AllocResult, error) + func (s *GlobalState) AllocDataOrPanic(ctx context.Context, v ...interface{}) AllocResult + func (s *GlobalState) AllocOrPanic(ctx context.Context, size uint64) AllocResult + func (s *GlobalState) ReserveMemory(rngs interval.U64RangeList) *GlobalState + func (s GlobalState) MemoryDecoder(ctx context.Context, d memory.Data) *memory.Decoder + func (s GlobalState) MemoryEncoder(p memory.PoolID, rng memory.Range) *memory.Encoder + func (s GlobalState) MemoryReader(ctx context.Context, d memory.Data) binary.Reader + func (s GlobalState) MemoryWriter(p memory.PoolID, rng memory.Range) binary.Writer + func (s GlobalState) String() string + type GraphVisualizationAPI interface + GetGraphVisualizationBuilder func() GraphVisualizationBuilder + type GraphVisualizationBuilder interface + GetCommandLabel func(command Cmd, cmdId uint64) *Label + GetSubCommandLabel func(index SubCmdIdx, commandName string, cmdId uint64, subCommandName string) *Label + type Hierarchy struct + LevelsID []int + func (h *Hierarchy) GetID(level int) int + func (h *Hierarchy) GetSize() int + func (h *Hierarchy) IncreaseIDByOne(level int) + func (h *Hierarchy) PopBack() + func (h *Hierarchy) PopBackToResize(newSize int) + func (h *Hierarchy) PushBackToResize(newSize int) + type HierarchyNames struct + BeginNameToLevel map[string]int + EndNameToLevel map[string]int + NameOfLevels []string + func (hierarchyNames *HierarchyNames) GetName(level int) string + func (hierarchyNames *HierarchyNames) PushBack(beginName, endName, name string) + type ID id.ID + func (i ID) CoreId() id.ID + func (i ID) IsValid() bool + func (i ID) String() string + type Label struct + LevelsID []int + LevelsName []string + func (label *Label) GetCommandId() int + func (label *Label) GetCommandName() string + func (label *Label) GetLabelAsAString() string + func (label *Label) GetSize() int + func (label *Label) GetTopLevelID() int + func (label *Label) GetTopLevelName() string + func (label *Label) Insert(level int, name string, id int) + func (label *Label) PushBack(name string, id int) + func (label *Label) PushBackLabel(labelToPush *Label) + func (label *Label) PushFront(name string, id int) + type Labeled interface + Label func(ctx context.Context, s *GlobalState) string + type MapIndexFragment struct + MapIndex interface{} + func (f MapIndexFragment) Format(s fmt.State, r rune) + type MemoryBreakdownProvider interface + MemoryBreakdown func(*GlobalState) (*MemoryBreakdown, error) + type MeshProvider interface + Mesh func(ctx context.Context, o interface{}, p *path.Mesh, r *path.ResolveConfig) (*Mesh, error) + type MutateInitialState func(API API) State + type NilReference struct + func (NilReference) NewFragmentMap() FragmentMap + func (NilReference) RefID() RefID + type Properties []*Property + func (l Properties) Find(name string) *Property + type Property struct + Constants int + Get func() interface{} + Name string + Set func(value interface{}) + Type reflect.Type + func NewProperty(name string, get, set interface{}) *Property + func (p *Property) SetConstants(idx int) *Property + type PropertyProvider interface + Properties func() Properties + type RecordIdx []uint64 + type RefID uint64 + func NewRefID() RefID + type RefObject interface + NewFragmentMap func() FragmentMap + type Reference interface + RefID func() RefID + type ReplaceCallback func(where uint64, with interface{}) + type Resource interface + Order func() uint64 + ResourceData func(ctx context.Context, s *GlobalState, cmd *path.Command, r *path.ResolveConfig) (*ResourceData, error) + ResourceHandle func() string + ResourceLabel func() string + ResourceType func(ctx context.Context) ResourceType + SetResourceData func(ctx context.Context, at *path.Command, data *ResourceData, ...) error + type ResourceMap map[string]id.ID + type ResourceMeta struct + IDMap ResourceMap + Resources []Resource + type Slice interface + Reset func(uint64, uint64, uint64, *GlobalState, memory.PoolID) + type Span interface + Bounds func() CmdIDRange + type SpanItem interface + type Spans []Span + func (l *Spans) IndexOf(id CmdID) int + func (l Spans) GetSpan(index int) interval.U64Span + func (l Spans) Length() int + func (l Spans) Split(max uint64) Spans + type SparseFragmentMap struct + Map map[Fragment]interface{} + func NewSparseFragmentMap() *SparseFragmentMap + func (m *SparseFragmentMap) Set(f Fragment, v interface{}) + func (m SparseFragmentMap) Clear() + func (m SparseFragmentMap) Delete(f Fragment) + func (m SparseFragmentMap) EmptyClone() FragmentMap + func (m SparseFragmentMap) ForeachFrag(f func(Fragment, interface{}) error) error + func (m SparseFragmentMap) Get(f Fragment) (interface{}, bool) + type State interface + Clone func(arena.Arena) State + Root func(ctx context.Context, p *path.State, r *path.ResolveConfig) (path.Node, error) + SetupInitialState func(ctx context.Context, state *GlobalState) + type StateWatcher interface + CloseForwardDependency func(ctx context.Context, dependencyID interface{}) + DropForwardDependency func(ctx context.Context, dependencyID interface{}) + OnBeginCmd func(ctx context.Context, cmdID CmdID, cmd Cmd) + OnBeginSubCmd func(ctx context.Context, subCmdIdx SubCmdIdx, recordIdx RecordIdx) + OnEndCmd func(ctx context.Context, cmdID CmdID, cmd Cmd) + OnEndSubCmd func(ctx context.Context) + OnReadFrag func(ctx context.Context, owner RefObject, f Fragment, v RefObject, track bool) + OnReadObs func(ctx context.Context, obs []CmdObservation) + OnReadSlice func(ctx context.Context, s memory.Slice) + OnRecordSubCmd func(ctx context.Context, recordIdx RecordIdx) + OnWriteFrag func(ctx context.Context, owner RefObject, f Fragment, old RefObject, new RefObject, ...) + OnWriteObs func(ctx context.Context, obs []CmdObservation) + OnWriteSlice func(ctx context.Context, s memory.Slice) + OpenForwardDependency func(ctx context.Context, dependencyID interface{}) + type SubCmdIdx []uint64 + func (s *SubCmdIdx) Decrement() + func (s SubCmdIdx) Contains(s2 SubCmdIdx) bool + func (s SubCmdIdx) Equals(s2 SubCmdIdx) bool + func (s SubCmdIdx) LEQ(s2 SubCmdIdx) bool + func (s SubCmdIdx) LessThan(s2 SubCmdIdx) bool + type SubCmdIdxTrie struct + func (t *SubCmdIdxTrie) GetChildren(index uint64) *SubCmdIdxTrie + func (t *SubCmdIdxTrie) PostOrderSortedKeys() []SubCmdIdx + func (t *SubCmdIdxTrie) RemoveValue(indices SubCmdIdx) bool + func (t *SubCmdIdxTrie) SetValue(indices SubCmdIdx, v interface{}) + func (t *SubCmdIdxTrie) Value(indices SubCmdIdx) interface{} + func (t *SubCmdIdxTrie) Values(indices SubCmdIdx) []interface{} + type SubCmdRoot struct + Id SubCmdIdx + SubGroup CmdIDGroup + func NewRoot(idx []uint64, nameLookUp *SubCmdIdxTrie) *SubCmdRoot + func (c *SubCmdRoot) AddSubCmdMarkerGroups(r []uint64, groups []*CmdIDGroup, nameLookUp *SubCmdIdxTrie) error + func (c *SubCmdRoot) Bounds() CmdIDRange + func (c *SubCmdRoot) Insert(r []uint64, nameLookUp *SubCmdIdxTrie) + func (c SubCmdRoot) Index(index uint64) SpanItem + type TraverseCallback func(indices []uint64, item SpanItem) error Incompatible versions in this module v2.0.0+incompatible Jul 8, 2021