import "android.googlesource.com/platform/tools/gpu/service"
Package service is the definition of the RPC GPU debugger service exposed by the server.
It is not the actual implementation of the service functionality.
func BindServer(r io.Reader, w io.Writer, mtu int, l log.Logger, server RPC)
type ApiId struct {
binary.Generate
ID binary.ID
}
Handle ApiId
func (*ApiId) Class() binary.Class
func (h ApiId) Valid() bool
type ApiIdArray []ApiId
Array ApiIdArray
func (a ApiIdArray) Format(f fmt.State, c rune)
type ApiSchema struct {
binary.Generate
Api ApiId
State StructInfo
}
Class ApiSchema
func CreateApiSchema(
Api ApiId,
State StructInfo,
) *ApiSchema
func (*ApiSchema) Class() binary.Class
func (c *ApiSchema) GetApi() ApiId
func (c *ApiSchema) GetState() StructInfo
type ApiSchemaArray []ApiSchema
Array ApiSchemaArray
func (a ApiSchemaArray) Format(f fmt.State, c rune)
type ArrayInfo struct {
binary.Generate
Name string
Kind TypeKind
ElementType TypeInfo
}
Class ArrayInfo
func CreateArrayInfo(
Name string,
Kind TypeKind,
ElementType TypeInfo,
) *ArrayInfo
func (*ArrayInfo) Class() binary.Class
func (c *ArrayInfo) GetElementType() TypeInfo
func (c *ArrayInfo) GetKind() TypeKind
func (c *ArrayInfo) GetName() string
type AtomGroup struct {
binary.Generate
Name string
Range AtomRange
SubGroups AtomGroupArray
}
Class AtomGroup
func CreateAtomGroup(
Name string,
Range AtomRange,
SubGroups AtomGroupArray,
) *AtomGroup
func (*AtomGroup) Class() binary.Class
func (c *AtomGroup) GetName() string
func (c *AtomGroup) GetRange() AtomRange
func (c *AtomGroup) GetSubGroups() AtomGroupArray
func (g *AtomGroup) Pack(o atom.Group)
Pack packs the atom Group o into the RPC-friendly AtomGroup structure.
func (g AtomGroup) Unpack(o *atom.Group)
Unpack unpacks the RPC-friendly AtomGroup structure into the atom Group o.
type AtomGroupArray []AtomGroup
Array AtomGroupArray
func (a AtomGroupArray) Format(f fmt.State, c rune)
type AtomInfo struct {
binary.Generate
Api ApiId
Type uint16
Name string
Parameters ParameterInfoArray
IsCommand bool
IsDrawCall bool
IsEndOfFrame bool
DocumentationUrl string
}
Class AtomInfo
func CreateAtomInfo(
Api ApiId,
Type uint16,
Name string,
Parameters ParameterInfoArray,
IsCommand bool,
IsDrawCall bool,
IsEndOfFrame bool,
DocumentationUrl string,
) *AtomInfo
func (*AtomInfo) Class() binary.Class
func (c *AtomInfo) GetApi() ApiId
func (c *AtomInfo) GetDocumentationUrl() string
func (c *AtomInfo) GetIsCommand() bool
func (c *AtomInfo) GetIsDrawCall() bool
func (c *AtomInfo) GetIsEndOfFrame() bool
func (c *AtomInfo) GetName() string
func (c *AtomInfo) GetParameters() ParameterInfoArray
func (c *AtomInfo) GetType() uint16
type AtomInfoArray []AtomInfo
Array AtomInfoArray
func (a AtomInfoArray) Format(f fmt.State, c rune)
type AtomRange struct {
binary.Generate
First uint64
Count uint64
}
Class AtomRange
func CreateAtomRange(
First uint64,
Count uint64,
) *AtomRange
func (*AtomRange) Class() binary.Class
func (c *AtomRange) GetCount() uint64
func (c *AtomRange) GetFirst() uint64
func (r *AtomRange) Pack(o atom.Range)
Pack packs the atom Range o into the RPC-friendly AtomRange structure.
func (r AtomRange) Unpack(o *atom.Range)
Unpack unpacks the RPC-friendly AtomRange structure into the atom Range o.
type AtomRangeTimer struct {
binary.Generate
FromAtomId uint64
ToAtomId uint64
Nanoseconds uint64
}
Class AtomRangeTimer
func CreateAtomRangeTimer(
FromAtomId uint64,
ToAtomId uint64,
Nanoseconds uint64,
) *AtomRangeTimer
func (*AtomRangeTimer) Class() binary.Class
func (c *AtomRangeTimer) GetFromAtomId() uint64
func (c *AtomRangeTimer) GetNanoseconds() uint64
func (c *AtomRangeTimer) GetToAtomId() uint64
type AtomRangeTimerArray []AtomRangeTimer
Array AtomRangeTimerArray
func (a AtomRangeTimerArray) Format(f fmt.State, c rune)
type AtomStream struct {
binary.Generate
Data U8Array
}
Class AtomStream
func CreateAtomStream(
Data U8Array,
) *AtomStream
func NewAtomStream(list atom.List) (AtomStream, error)
NewAtomStream creates a fully-encoded AtomStream from the atom list.
func (*AtomStream) Class() binary.Class
func (c *AtomStream) GetData() U8Array
func (s AtomStream) List() (atom.List, error)
List decodes and returns the AtomStream decoded to an atom list.
type AtomStreamId struct {
binary.Generate
ID binary.ID
}
Handle AtomStreamId
func (*AtomStreamId) Class() binary.Class
func (h AtomStreamId) Valid() bool
type AtomTimer struct {
binary.Generate
AtomId uint64
Nanoseconds uint64
}
Class AtomTimer
func CreateAtomTimer(
AtomId uint64,
Nanoseconds uint64,
) *AtomTimer
func (*AtomTimer) Class() binary.Class
func (c *AtomTimer) GetAtomId() uint64
func (c *AtomTimer) GetNanoseconds() uint64
type AtomTimerArray []AtomTimer
Array AtomTimerArray
func (a AtomTimerArray) Format(f fmt.State, c rune)
type Binary struct {
binary.Generate
Data U8Array
}
Class Binary
func CreateBinary(
Data U8Array,
) *Binary
func (*Binary) Class() binary.Class
func (c *Binary) GetData() U8Array
type BinaryId struct {
binary.Generate
ID binary.ID
}
Handle BinaryId
func (*BinaryId) Class() binary.Class
func (h BinaryId) Valid() bool
type Capture struct {
binary.Generate
Name string
Atoms AtomStreamId
Apis ApiIdArray
Schema SchemaId
}
Class Capture
func CreateCapture(
Name string,
Atoms AtomStreamId,
Apis ApiIdArray,
Schema SchemaId,
) *Capture
func (*Capture) Class() binary.Class
func (c *Capture) GetApis() ApiIdArray
func (c *Capture) GetAtoms() AtomStreamId
func (c *Capture) GetName() string
func (c *Capture) GetSchema() SchemaId
type CaptureId struct {
binary.Generate
ID binary.ID
}
Handle CaptureId
func (*CaptureId) Class() binary.Class
func (h CaptureId) Valid() bool
type CaptureIdArray []CaptureId
Array CaptureIdArray
func (a CaptureIdArray) Format(f fmt.State, c rune)
type ClassInfo struct {
binary.Generate
Name string
Kind TypeKind
Fields FieldInfoArray
Extends ClassInfoArray
}
Class ClassInfo
func CreateClassInfo(
Name string,
Kind TypeKind,
Fields FieldInfoArray,
Extends ClassInfoArray,
) *ClassInfo
func (*ClassInfo) Class() binary.Class
func (c *ClassInfo) GetExtends() ClassInfoArray
func (c *ClassInfo) GetFields() FieldInfoArray
func (c *ClassInfo) GetKind() TypeKind
func (c *ClassInfo) GetName() string
type ClassInfoArray []*ClassInfo
Array ClassInfoRefArray
func (a ClassInfoArray) Format(f fmt.State, c rune)
type Device struct {
binary.Generate
Name string
Model string
OS string
PointerSize uint8
PointerAlignment uint8
MaxMemorySize uint64
RequiresShaderPatching bool
}
Class Device
func CreateDevice(
Name string,
Model string,
OS string,
PointerSize uint8,
PointerAlignment uint8,
MaxMemorySize uint64,
RequiresShaderPatching bool,
) *Device
func (*Device) Class() binary.Class
func (c *Device) GetMaxMemorySize() uint64
func (c *Device) GetModel() string
func (c *Device) GetName() string
func (c *Device) GetOS() string
func (c *Device) GetPointerAlignment() uint8
func (c *Device) GetPointerSize() uint8
func (c *Device) GetRequiresShaderPatching() bool
type DeviceId struct {
binary.Generate
ID binary.ID
}
Handle DeviceId
func (*DeviceId) Class() binary.Class
func (h DeviceId) Valid() bool
type DeviceIdArray []DeviceId
Array DeviceIdArray
func (a DeviceIdArray) Format(f fmt.State, c rune)
type EnumEntry struct {
binary.Generate
Name string
Value uint32
}
Class EnumEntry
func CreateEnumEntry(
Name string,
Value uint32,
) *EnumEntry
func (*EnumEntry) Class() binary.Class
func (c *EnumEntry) GetName() string
func (c *EnumEntry) GetValue() uint32
type EnumEntryArray []EnumEntry
Array EnumEntryArray
func (a EnumEntryArray) Format(f fmt.State, c rune)
type EnumInfo struct {
binary.Generate
Name string
Kind TypeKind
Entries EnumEntryArray
Extends EnumInfoArray
}
Class EnumInfo
func CreateEnumInfo(
Name string,
Kind TypeKind,
Entries EnumEntryArray,
Extends EnumInfoArray,
) *EnumInfo
func (*EnumInfo) Class() binary.Class
func (c *EnumInfo) GetEntries() EnumEntryArray
func (c *EnumInfo) GetExtends() EnumInfoArray
func (c *EnumInfo) GetKind() TypeKind
func (c *EnumInfo) GetName() string
type EnumInfoArray []*EnumInfo
Array EnumInfoRefArray
func (a EnumInfoArray) Format(f fmt.State, c rune)
type FieldInfo struct {
binary.Generate
Name string
Type TypeInfo
}
Class FieldInfo
func CreateFieldInfo(
Name string,
Type TypeInfo,
) *FieldInfo
func (*FieldInfo) Class() binary.Class
func (c *FieldInfo) GetName() string
func (c *FieldInfo) GetType() TypeInfo
type FieldInfoArray []*FieldInfo
Array FieldInfoRefArray
func (a FieldInfoArray) Format(f fmt.State, c rune)
type Hierarchy struct {
binary.Generate
Root AtomGroup
}
Class Hierarchy
func CreateHierarchy(
Root AtomGroup,
) *Hierarchy
func (*Hierarchy) Class() binary.Class
func (c *Hierarchy) GetRoot() AtomGroup
type HierarchyId struct {
binary.Generate
ID binary.ID
}
Handle HierarchyId
func (*HierarchyId) Class() binary.Class
func (h HierarchyId) Valid() bool
type ImageFormat int
Enum ImageFormat
const (
ImageFormatRGBA8 ImageFormat = 0
ImageFormatFloat32 ImageFormat = 1
)
func (i ImageFormat) IsFloat32() bool
func (i ImageFormat) IsRGBA8() bool
func (i ImageFormat) String() string
type ImageInfo struct {
binary.Generate
Format ImageFormat
Width uint32
Height uint32
Data BinaryId
}
Class ImageInfo
func CreateImageInfo(
Format ImageFormat,
Width uint32,
Height uint32,
Data BinaryId,
) *ImageInfo
func (*ImageInfo) Class() binary.Class
func (c *ImageInfo) GetData() BinaryId
func (c *ImageInfo) GetFormat() ImageFormat
func (c *ImageInfo) GetHeight() uint32
func (c *ImageInfo) GetWidth() uint32
type ImageInfoId struct {
binary.Generate
ID binary.ID
}
Handle ImageInfoId
func (*ImageInfoId) Class() binary.Class
func (h ImageInfoId) Valid() bool
type MapInfo struct {
binary.Generate
Name string
Kind TypeKind
KeyType TypeInfo
ValueType TypeInfo
}
Class MapInfo
func CreateMapInfo(
Name string,
Kind TypeKind,
KeyType TypeInfo,
ValueType TypeInfo,
) *MapInfo
func (*MapInfo) Class() binary.Class
func (c *MapInfo) GetKeyType() TypeInfo
func (c *MapInfo) GetKind() TypeKind
func (c *MapInfo) GetName() string
func (c *MapInfo) GetValueType() TypeInfo
type MemoryInfo struct {
binary.Generate
Data U8Array
Stale MemoryRangeArray
Current MemoryRangeArray
Unknown MemoryRangeArray
}
Class MemoryInfo
func CreateMemoryInfo(
Data U8Array,
Stale MemoryRangeArray,
Current MemoryRangeArray,
Unknown MemoryRangeArray,
) *MemoryInfo
func (*MemoryInfo) Class() binary.Class
func (c *MemoryInfo) GetCurrent() MemoryRangeArray
func (c *MemoryInfo) GetData() U8Array
func (c *MemoryInfo) GetStale() MemoryRangeArray
func (c *MemoryInfo) GetUnknown() MemoryRangeArray
type MemoryInfoId struct {
binary.Generate
ID binary.ID
}
Handle MemoryInfoId
func (*MemoryInfoId) Class() binary.Class
func (h MemoryInfoId) Valid() bool
type MemoryRange struct {
binary.Generate
Base uint64
Size uint64
}
Class MemoryRange
func CreateMemoryRange(
Base uint64,
Size uint64,
) *MemoryRange
func (*MemoryRange) Class() binary.Class
func (c *MemoryRange) GetBase() uint64
func (c *MemoryRange) GetSize() uint64
func (r *MemoryRange) Pack(o memory.Range)
Pack packs the memory Range o into the RPC-friendly MemoryRange structure.
func (r MemoryRange) Unpack(o *memory.Range)
Unpack unpacks the RPC-friendly MemoryRange structure into the memory Range o.
type MemoryRangeArray []MemoryRange
Array MemoryRangeArray
func (a MemoryRangeArray) Format(f fmt.State, c rune)
func (l *MemoryRangeArray) Pack(o memory.RangeList)
Pack packs the memory RangeList o into the RPC-friendly MemoryRangeArray structure.
func (l MemoryRangeArray) Unpack(o *memory.RangeList)
Unpack unpacks the RPC-friendly MemoryRangeArray structure into the memory RangeList o.
type ParameterInfo struct {
binary.Generate
Name string
Type TypeInfo
Out bool
}
Class ParameterInfo
func CreateParameterInfo(
Name string,
Type TypeInfo,
Out bool,
) *ParameterInfo
func (*ParameterInfo) Class() binary.Class
func (c *ParameterInfo) GetName() string
func (c *ParameterInfo) GetOut() bool
func (c *ParameterInfo) GetType() TypeInfo
type ParameterInfoArray []ParameterInfo
Array ParameterInfoArray
func (a ParameterInfoArray) Format(f fmt.State, c rune)
type RPC interface {
Import(l log.Logger, name string, Data U8Array) (CaptureId, error)
GetCaptures(l log.Logger) (CaptureIdArray, error)
GetDevices(l log.Logger) (DeviceIdArray, error)
GetState(l log.Logger, capture CaptureId, after uint64) (BinaryId, error)
GetHierarchy(l log.Logger, capture CaptureId) (HierarchyId, error)
GetMemoryInfo(l log.Logger, capture CaptureId, after uint64, rng MemoryRange) (MemoryInfoId, error)
GetFramebufferColor(l log.Logger, device DeviceId, capture CaptureId, api ApiId, after uint64, settings RenderSettings) (ImageInfoId, error)
GetFramebufferDepth(l log.Logger, device DeviceId, capture CaptureId, api ApiId, after uint64) (ImageInfoId, error)
GetTimingInfo(l log.Logger, device DeviceId, capture CaptureId, mask TimingMask) (TimingInfoId, error)
PrerenderFramebuffers(l log.Logger, device DeviceId, capture CaptureId, api ApiId, width uint32, height uint32, atomIds U64Array) (BinaryId, error)
ReplaceAtom(l log.Logger, capture CaptureId, atomId uint64, atomType uint16, data Binary) (CaptureId, error)
ResolveAtomStream(l log.Logger, id AtomStreamId) (AtomStream, error)
ResolveBinary(l log.Logger, id BinaryId) (Binary, error)
ResolveCapture(l log.Logger, id CaptureId) (Capture, error)
ResolveDevice(l log.Logger, id DeviceId) (Device, error)
ResolveHierarchy(l log.Logger, id HierarchyId) (Hierarchy, error)
ResolveImageInfo(l log.Logger, id ImageInfoId) (ImageInfo, error)
ResolveMemoryInfo(l log.Logger, id MemoryInfoId) (MemoryInfo, error)
ResolveSchema(l log.Logger, id SchemaId) (Schema, error)
ResolveTimingInfo(l log.Logger, id TimingInfoId) (TimingInfo, error)
}
func CreateClient(r io.Reader, w io.Writer, mtu int) RPC
type RenderSettings struct {
binary.Generate
MaxWidth uint32
MaxHeight uint32
Wireframe bool
}
Class RenderSettings
func CreateRenderSettings(
MaxWidth uint32,
MaxHeight uint32,
Wireframe bool,
) *RenderSettings
func (*RenderSettings) Class() binary.Class
func (c *RenderSettings) GetMaxHeight() uint32
func (c *RenderSettings) GetMaxWidth() uint32
func (c *RenderSettings) GetWireframe() bool
type Schema struct {
binary.Generate
Atoms AtomInfoArray
Apis ApiSchemaArray
}
Class Schema
func CreateSchema(
Atoms AtomInfoArray,
Apis ApiSchemaArray,
) *Schema
func (*Schema) Class() binary.Class
func (c *Schema) GetApis() ApiSchemaArray
func (c *Schema) GetAtoms() AtomInfoArray
type SchemaId struct {
binary.Generate
ID binary.ID
}
Handle SchemaId
func (*SchemaId) Class() binary.Class
func (h SchemaId) Valid() bool
type SimpleInfo struct {
binary.Generate
Name string
Kind TypeKind
}
Class SimpleInfo
func CreateSimpleInfo(
Name string,
Kind TypeKind,
) *SimpleInfo
func (*SimpleInfo) Class() binary.Class
func (c *SimpleInfo) GetKind() TypeKind
func (c *SimpleInfo) GetName() string
type StaticArrayInfo struct {
binary.Generate
Name string
Kind TypeKind
ElementType TypeInfo
Size uint32
}
Class StaticArrayInfo
func CreateStaticArrayInfo(
Name string,
Kind TypeKind,
ElementType TypeInfo,
Size uint32,
) *StaticArrayInfo
func (*StaticArrayInfo) Class() binary.Class
func (c *StaticArrayInfo) GetElementType() TypeInfo
func (c *StaticArrayInfo) GetKind() TypeKind
func (c *StaticArrayInfo) GetName() string
func (c *StaticArrayInfo) GetSize() uint32
type StructInfo struct {
binary.Generate
Name string
Kind TypeKind
Fields FieldInfoArray
}
Class StructInfo
func CreateStructInfo(
Name string,
Kind TypeKind,
Fields FieldInfoArray,
) *StructInfo
func (*StructInfo) Class() binary.Class
func (c *StructInfo) GetFields() FieldInfoArray
func (c *StructInfo) GetKind() TypeKind
func (c *StructInfo) GetName() string
type TimingInfo struct {
binary.Generate
PerCommand AtomTimerArray
PerDrawCall AtomRangeTimerArray
PerFrame AtomRangeTimerArray
}
Class TimingInfo
func CreateTimingInfo(
PerCommand AtomTimerArray,
PerDrawCall AtomRangeTimerArray,
PerFrame AtomRangeTimerArray,
) *TimingInfo
func (*TimingInfo) Class() binary.Class
func (c *TimingInfo) GetPerCommand() AtomTimerArray
func (c *TimingInfo) GetPerDrawCall() AtomRangeTimerArray
func (c *TimingInfo) GetPerFrame() AtomRangeTimerArray
type TimingInfoId struct {
binary.Generate
ID binary.ID
}
Handle TimingInfoId
func (*TimingInfoId) Class() binary.Class
func (h TimingInfoId) Valid() bool
type TimingMask int
Enum TimingMask
const (
TimingMaskTimingPerCommand TimingMask = 1
TimingMaskTimingPerDrawCall TimingMask = 2
TimingMaskTimingPerFrame TimingMask = 4
)
func (i TimingMask) IsTimingPerCommand() bool
func (i TimingMask) IsTimingPerDrawCall() bool
func (i TimingMask) IsTimingPerFrame() bool
func (i TimingMask) String() string
type TypeInfo interface {
binary.Object
GetName() string
GetKind() TypeKind
}
Interface TypeInfo
type TypeKind int
Enum TypeKind
const (
TypeKindBool TypeKind = 0
TypeKindS8 TypeKind = 1
TypeKindU8 TypeKind = 2
TypeKindS16 TypeKind = 3
TypeKindU16 TypeKind = 4
TypeKindS32 TypeKind = 5
TypeKindU32 TypeKind = 6
TypeKindF32 TypeKind = 7
TypeKindS64 TypeKind = 8
TypeKindU64 TypeKind = 9
TypeKindF64 TypeKind = 10
TypeKindString TypeKind = 11
TypeKindEnum TypeKind = 12
TypeKindStruct TypeKind = 14
TypeKindClass TypeKind = 15
TypeKindArray TypeKind = 16
TypeKindStaticArray TypeKind = 17
TypeKindMap TypeKind = 18
TypeKindPointer TypeKind = 19
TypeKindMemory TypeKind = 20
TypeKindAny TypeKind = 21
TypeKindID TypeKind = 22
)
func (i TypeKind) IsAny() bool
func (i TypeKind) IsArray() bool
func (i TypeKind) IsBool() bool
func (i TypeKind) IsClass() bool
func (i TypeKind) IsEnum() bool
func (i TypeKind) IsF32() bool
func (i TypeKind) IsF64() bool
func (i TypeKind) IsID() bool
func (i TypeKind) IsMap() bool
func (i TypeKind) IsMemory() bool
func (i TypeKind) IsPointer() bool
func (i TypeKind) IsS16() bool
func (i TypeKind) IsS32() bool
func (i TypeKind) IsS64() bool
func (i TypeKind) IsS8() bool
func (i TypeKind) IsStaticArray() bool
func (i TypeKind) IsString() bool
func (i TypeKind) IsStruct() bool
func (i TypeKind) IsU16() bool
func (i TypeKind) IsU32() bool
func (i TypeKind) IsU64() bool
func (i TypeKind) IsU8() bool
func (i TypeKind) String() string
type U64Array []uint64
Array U64Array
func (a U64Array) Format(f fmt.State, c rune)
type U8Array []uint8
Array U8Array
func (a U8Array) Format(f fmt.State, c rune)