Documentation ¶
Index ¶
- type GroupTree
- func (t *GroupTree) Flatten(capture *path.Capture) []*service.ProfilingData_Group
- func (t *GroupTree) GetOrCreateDrawCallGroup(name string, link api.SubCmdIdx) int32
- func (t *GroupTree) GetOrCreateGroup(name string, link sync.SubCmdRange) int32
- func (t *GroupTree) Visit(callback func(parent int32, node *groupTreeNode))
- type ProfilingData
- type Slice
- type SliceData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GroupTree ¶
type GroupTree struct {
// contains filtered or unexported fields
}
func NewGroupTree ¶
func NewGroupTree() *GroupTree
func (*GroupTree) Flatten ¶
func (t *GroupTree) Flatten(capture *path.Capture) []*service.ProfilingData_Group
Flatten flattens this tree into a list of group protos.
func (*GroupTree) GetOrCreateDrawCallGroup ¶
GetDrawCallGroup finds or creates the group for the given draw call command and returns its id. TODO: the same assumptions apply here as do for GetOrCreateGroup.
func (*GroupTree) GetOrCreateGroup ¶
func (t *GroupTree) GetOrCreateGroup(name string, link sync.SubCmdRange) int32
GetOrCreateGroup finds or creates the group for the given command range and returns its id. TODO: this function makes some assumptions about command/sub command IDs: 1. we only get groups for command buffers, renderpasses and draw calls. 2. no overlaps. 3. the sub command ids are [cmdId, submission, cmdbuff, cmd]. All these assumptions currently hold and are also made in other parts of the code in some way. The assumptions will need to be codified as part of the command/sub-command refactor that is already planned.
type ProfilingData ¶
type ProfilingData struct { Groups *GroupTree Slices SliceData Counters []*service.ProfilingData_Counter GpuCounters *service.ProfilingData_GpuCounters CounterGroups []*service.ProfilingData_CounterGroup }
func NewProfilingData ¶
func NewProfilingData() *ProfilingData
func (*ProfilingData) ComputeCounters ¶
func (pd *ProfilingData) ComputeCounters(ctx context.Context)
ComputeCounters calculates the summarized GPU performance and fills in the GpuCounters field.
func (*ProfilingData) MergeStaticAnalysis ¶
func (pd *ProfilingData) MergeStaticAnalysis(ctx context.Context, staticAnalysis *api.StaticAnalysisProfileData)