| //////////////////////////////////////////////////////////////////////////////// |
| // Do not modify! |
| // Generated by codergen |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| package atom |
| |
| import ( |
| "fmt" |
| |
| "android.googlesource.com/platform/tools/gpu/binary" |
| "android.googlesource.com/platform/tools/gpu/binary/registry" |
| "android.googlesource.com/platform/tools/gpu/binary/schema" |
| "android.googlesource.com/platform/tools/gpu/gfxapi" |
| "android.googlesource.com/platform/tools/gpu/memory" |
| ) |
| |
| var Namespace = registry.NewNamespace() |
| |
| func init() { |
| registry.Global.AddFallbacks(Namespace) |
| Namespace.Add((*Range)(nil).Class()) |
| Namespace.Add((*Group)(nil).Class()) |
| Namespace.Add((*List)(nil).Class()) |
| Namespace.Add((*Metadata)(nil).Class()) |
| Namespace.Add((*Observation)(nil).Class()) |
| Namespace.Add((*Observations)(nil).Class()) |
| Namespace.Add((*Resource)(nil).Class()) |
| } |
| |
| var ( |
| binaryIDRange = binary.ID{0x6f, 0xbb, 0x0f, 0x69, 0x4c, 0x19, 0xdb, 0x86, 0x34, 0x4f, 0x63, 0xc3, 0x04, 0xaf, 0x06, 0x89, 0xda, 0x0f, 0xb3, 0x0a} |
| binaryIDGroup = binary.ID{0x1d, 0x80, 0xcc, 0xfa, 0xe5, 0xba, 0x0e, 0x88, 0x3f, 0x11, 0x3b, 0xd5, 0x07, 0x16, 0x56, 0x13, 0xf5, 0x43, 0x42, 0xeb} |
| binaryIDList = binary.ID{0x02, 0x6b, 0xec, 0xdd, 0x57, 0x69, 0x25, 0xab, 0xfc, 0x6c, 0x21, 0x8e, 0xa6, 0xe1, 0x51, 0xc5, 0x04, 0xf3, 0x8b, 0x2f} |
| binaryIDMetadata = binary.ID{0xb0, 0x6e, 0x0a, 0xcb, 0x6d, 0x82, 0x36, 0x07, 0xa8, 0x83, 0x7c, 0xe9, 0xd3, 0xa6, 0xbc, 0x20, 0x42, 0xe0, 0x28, 0xff} |
| binaryIDObservation = binary.ID{0xf4, 0xbd, 0xbf, 0xe0, 0x82, 0x78, 0xa4, 0xbd, 0x55, 0xac, 0xeb, 0x1e, 0x0b, 0xde, 0xe5, 0x27, 0x1a, 0xd8, 0x84, 0x0f} |
| binaryIDObservations = binary.ID{0x61, 0xdf, 0xaa, 0x12, 0x4f, 0x53, 0x1a, 0x54, 0x92, 0x4e, 0x90, 0xc4, 0x05, 0x7c, 0xf4, 0x5f, 0x00, 0xcb, 0x62, 0xe9} |
| binaryIDResource = binary.ID{0xdd, 0xe2, 0x00, 0x18, 0x25, 0x45, 0x71, 0xb9, 0xdb, 0x6f, 0xed, 0x39, 0xdd, 0x8e, 0x71, 0x4b, 0xf6, 0x76, 0x26, 0xce} |
| ) |
| |
| type binaryClassRange struct{} |
| |
| func (*Range) Class() binary.Class { |
| return (*binaryClassRange)(nil) |
| } |
| func doEncodeRange(e binary.Encoder, o *Range) error { |
| if err := e.Uint64(uint64(o.Start)); err != nil { |
| return err |
| } |
| if err := e.Uint64(uint64(o.End)); err != nil { |
| return err |
| } |
| return nil |
| } |
| func doDecodeRange(d binary.Decoder, o *Range) error { |
| if obj, err := d.Uint64(); err != nil { |
| return err |
| } else { |
| o.Start = ID(obj) |
| } |
| if obj, err := d.Uint64(); err != nil { |
| return err |
| } else { |
| o.End = ID(obj) |
| } |
| return nil |
| } |
| func doSkipRange(d binary.Decoder) error { |
| if _, err := d.Uint64(); err != nil { |
| return err |
| } |
| if _, err := d.Uint64(); err != nil { |
| return err |
| } |
| return nil |
| } |
| func (*binaryClassRange) ID() binary.ID { return binaryIDRange } |
| func (*binaryClassRange) New() binary.Object { return &Range{} } |
| func (*binaryClassRange) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeRange(e, obj.(*Range)) |
| } |
| func (*binaryClassRange) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Range{} |
| return obj, doDecodeRange(d, obj) |
| } |
| func (*binaryClassRange) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeRange(d, obj.(*Range)) |
| } |
| func (*binaryClassRange) Skip(d binary.Decoder) error { return doSkipRange(d) } |
| func (*binaryClassRange) Schema() *schema.Class { return schemaRange } |
| |
| var schemaRange = &schema.Class{ |
| TypeID: binaryIDRange, |
| Package: "atom", |
| Name: "Range", |
| Fields: []schema.Field{ |
| {Declared: "Start", Type: &schema.Primitive{Name: "ID", Method: schema.Uint64}}, |
| {Declared: "End", Type: &schema.Primitive{Name: "ID", Method: schema.Uint64}}, |
| }, |
| } |
| |
| type binaryClassGroup struct{} |
| |
| func (*Group) Class() binary.Class { |
| return (*binaryClassGroup)(nil) |
| } |
| func doEncodeGroup(e binary.Encoder, o *Group) error { |
| if err := e.String(o.Name); err != nil { |
| return err |
| } |
| if err := e.Value(&o.Range); err != nil { |
| return err |
| } |
| if err := e.Uint32(uint32(len(o.SubGroups))); err != nil { |
| return err |
| } |
| for i := range o.SubGroups { |
| if err := e.Value(&o.SubGroups[i]); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| func doDecodeGroup(d binary.Decoder, o *Group) error { |
| if obj, err := d.String(); err != nil { |
| return err |
| } else { |
| o.Name = string(obj) |
| } |
| if err := d.Value(&o.Range); err != nil { |
| return err |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.SubGroups = make(GroupList, count) |
| for i := range o.SubGroups { |
| if err := d.Value(&o.SubGroups[i]); err != nil { |
| return err |
| } |
| } |
| } |
| return nil |
| } |
| func doSkipGroup(d binary.Decoder) error { |
| if err := d.SkipString(); err != nil { |
| return err |
| } |
| if err := d.SkipValue((*Range)(nil)); err != nil { |
| return err |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| for i := uint32(0); i < count; i++ { |
| if err := d.SkipValue((*Group)(nil)); err != nil { |
| return err |
| } |
| } |
| } |
| return nil |
| } |
| func (*binaryClassGroup) ID() binary.ID { return binaryIDGroup } |
| func (*binaryClassGroup) New() binary.Object { return &Group{} } |
| func (*binaryClassGroup) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeGroup(e, obj.(*Group)) |
| } |
| func (*binaryClassGroup) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Group{} |
| return obj, doDecodeGroup(d, obj) |
| } |
| func (*binaryClassGroup) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeGroup(d, obj.(*Group)) |
| } |
| func (*binaryClassGroup) Skip(d binary.Decoder) error { return doSkipGroup(d) } |
| func (*binaryClassGroup) Schema() *schema.Class { return schemaGroup } |
| |
| var schemaGroup = &schema.Class{ |
| TypeID: binaryIDGroup, |
| Package: "atom", |
| Name: "Group", |
| Fields: []schema.Field{ |
| {Declared: "Name", Type: &schema.Primitive{Name: "string", Method: schema.String}}, |
| {Declared: "Range", Type: &schema.Struct{Name: "Range", ID: (*Range)(nil).Class().ID()}}, |
| {Declared: "SubGroups", Type: &schema.Slice{Alias: "GroupList", ValueType: &schema.Struct{Name: "Group", ID: (*Group)(nil).Class().ID()}}}, |
| }, |
| } |
| |
| type binaryClassList struct{} |
| |
| func (*List) Class() binary.Class { |
| return (*binaryClassList)(nil) |
| } |
| func doEncodeList(e binary.Encoder, o *List) error { |
| if err := e.Uint32(uint32(len(o.Atoms))); err != nil { |
| return err |
| } |
| for i := range o.Atoms { |
| if o.Atoms[i] != nil { |
| if err := e.Object(o.Atoms[i]); err != nil { |
| return err |
| } |
| } else if err := e.Object(nil); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| func doDecodeList(d binary.Decoder, o *List) error { |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.Atoms = make([]Atom, count) |
| for i := range o.Atoms { |
| if obj, err := d.Object(); err != nil { |
| return err |
| } else if obj != nil { |
| o.Atoms[i] = obj.(Atom) |
| } else { |
| o.Atoms[i] = nil |
| } |
| } |
| } |
| return nil |
| } |
| func doSkipList(d binary.Decoder) error { |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| for i := uint32(0); i < count; i++ { |
| if _, err := d.SkipObject(); err != nil { |
| return err |
| } |
| } |
| } |
| return nil |
| } |
| func (*binaryClassList) ID() binary.ID { return binaryIDList } |
| func (*binaryClassList) New() binary.Object { return &List{} } |
| func (*binaryClassList) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeList(e, obj.(*List)) |
| } |
| func (*binaryClassList) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &List{} |
| return obj, doDecodeList(d, obj) |
| } |
| func (*binaryClassList) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeList(d, obj.(*List)) |
| } |
| func (*binaryClassList) Skip(d binary.Decoder) error { return doSkipList(d) } |
| func (*binaryClassList) Schema() *schema.Class { return schemaList } |
| |
| var schemaList = &schema.Class{ |
| TypeID: binaryIDList, |
| Package: "atom", |
| Name: "List", |
| Fields: []schema.Field{ |
| {Declared: "Atoms", Type: &schema.Slice{Alias: "", ValueType: &schema.Interface{Name: "Atom"}}}, |
| }, |
| } |
| |
| type binaryClassMetadata struct{} |
| |
| func (*Metadata) Class() binary.Class { |
| return (*binaryClassMetadata)(nil) |
| } |
| func doEncodeMetadata(e binary.Encoder, o *Metadata) error { |
| if err := e.ID(binary.ID(o.API)); err != nil { |
| return err |
| } |
| if err := e.String(o.DisplayName); err != nil { |
| return err |
| } |
| if err := e.Uint32(uint32(o.Flags)); err != nil { |
| return err |
| } |
| if err := e.String(o.DocumentationUrl); err != nil { |
| return err |
| } |
| return nil |
| } |
| func doDecodeMetadata(d binary.Decoder, o *Metadata) error { |
| if obj, err := d.ID(); err != nil { |
| return err |
| } else { |
| o.API = gfxapi.ID(obj) |
| } |
| if obj, err := d.String(); err != nil { |
| return err |
| } else { |
| o.DisplayName = string(obj) |
| } |
| if obj, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.Flags = Flags(obj) |
| } |
| if obj, err := d.String(); err != nil { |
| return err |
| } else { |
| o.DocumentationUrl = string(obj) |
| } |
| return nil |
| } |
| func doSkipMetadata(d binary.Decoder) error { |
| if err := d.SkipID(); err != nil { |
| return err |
| } |
| if err := d.SkipString(); err != nil { |
| return err |
| } |
| if _, err := d.Uint32(); err != nil { |
| return err |
| } |
| if err := d.SkipString(); err != nil { |
| return err |
| } |
| return nil |
| } |
| func (*binaryClassMetadata) ID() binary.ID { return binaryIDMetadata } |
| func (*binaryClassMetadata) New() binary.Object { return &Metadata{} } |
| func (*binaryClassMetadata) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeMetadata(e, obj.(*Metadata)) |
| } |
| func (*binaryClassMetadata) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Metadata{} |
| return obj, doDecodeMetadata(d, obj) |
| } |
| func (*binaryClassMetadata) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeMetadata(d, obj.(*Metadata)) |
| } |
| func (*binaryClassMetadata) Skip(d binary.Decoder) error { return doSkipMetadata(d) } |
| func (*binaryClassMetadata) Schema() *schema.Class { return schemaMetadata } |
| |
| var schemaMetadata = &schema.Class{ |
| TypeID: binaryIDMetadata, |
| Package: "atom", |
| Name: "Metadata", |
| Fields: []schema.Field{ |
| {Declared: "API", Type: &schema.Primitive{Name: "gfxapi.ID", Method: schema.ID}}, |
| {Declared: "DisplayName", Type: &schema.Primitive{Name: "string", Method: schema.String}}, |
| {Declared: "Flags", Type: &schema.Primitive{Name: "Flags", Method: schema.Uint32}}, |
| {Declared: "DocumentationUrl", Type: &schema.Primitive{Name: "string", Method: schema.String}}, |
| }, |
| } |
| |
| type binaryClassObservation struct{} |
| |
| func (*Observation) Class() binary.Class { |
| return (*binaryClassObservation)(nil) |
| } |
| func doEncodeObservation(e binary.Encoder, o *Observation) error { |
| if err := e.Value(&o.Range); err != nil { |
| return err |
| } |
| if err := e.ID(o.ID); err != nil { |
| return err |
| } |
| return nil |
| } |
| func doDecodeObservation(d binary.Decoder, o *Observation) error { |
| if err := d.Value(&o.Range); err != nil { |
| return err |
| } |
| if obj, err := d.ID(); err != nil { |
| return err |
| } else { |
| o.ID = binary.ID(obj) |
| } |
| return nil |
| } |
| func doSkipObservation(d binary.Decoder) error { |
| if err := d.SkipValue((*memory.Range)(nil)); err != nil { |
| return err |
| } |
| if err := d.SkipID(); err != nil { |
| return err |
| } |
| return nil |
| } |
| func (*binaryClassObservation) ID() binary.ID { return binaryIDObservation } |
| func (*binaryClassObservation) New() binary.Object { return &Observation{} } |
| func (*binaryClassObservation) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeObservation(e, obj.(*Observation)) |
| } |
| func (*binaryClassObservation) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Observation{} |
| return obj, doDecodeObservation(d, obj) |
| } |
| func (*binaryClassObservation) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeObservation(d, obj.(*Observation)) |
| } |
| func (*binaryClassObservation) Skip(d binary.Decoder) error { return doSkipObservation(d) } |
| func (*binaryClassObservation) Schema() *schema.Class { return schemaObservation } |
| |
| var schemaObservation = &schema.Class{ |
| TypeID: binaryIDObservation, |
| Package: "atom", |
| Name: "Observation", |
| Fields: []schema.Field{ |
| {Declared: "Range", Type: &schema.Struct{Name: "memory.Range", ID: (*memory.Range)(nil).Class().ID()}}, |
| {Declared: "ID", Type: &schema.Primitive{Name: "binary.ID", Method: schema.ID}}, |
| }, |
| } |
| |
| type binaryClassObservations struct{} |
| |
| func (*Observations) Class() binary.Class { |
| return (*binaryClassObservations)(nil) |
| } |
| func doEncodeObservations(e binary.Encoder, o *Observations) error { |
| if err := e.Uint32(uint32(len(o.Reads))); err != nil { |
| return err |
| } |
| for i := range o.Reads { |
| if err := e.Value(&o.Reads[i]); err != nil { |
| return err |
| } |
| } |
| if err := e.Uint32(uint32(len(o.Writes))); err != nil { |
| return err |
| } |
| for i := range o.Writes { |
| if err := e.Value(&o.Writes[i]); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| func doDecodeObservations(d binary.Decoder, o *Observations) error { |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.Reads = make([]Observation, count) |
| for i := range o.Reads { |
| if err := d.Value(&o.Reads[i]); err != nil { |
| return err |
| } |
| } |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.Writes = make([]Observation, count) |
| for i := range o.Writes { |
| if err := d.Value(&o.Writes[i]); err != nil { |
| return err |
| } |
| } |
| } |
| return nil |
| } |
| func doSkipObservations(d binary.Decoder) error { |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| for i := uint32(0); i < count; i++ { |
| if err := d.SkipValue((*Observation)(nil)); err != nil { |
| return err |
| } |
| } |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| for i := uint32(0); i < count; i++ { |
| if err := d.SkipValue((*Observation)(nil)); err != nil { |
| return err |
| } |
| } |
| } |
| return nil |
| } |
| func (*binaryClassObservations) ID() binary.ID { return binaryIDObservations } |
| func (*binaryClassObservations) New() binary.Object { return &Observations{} } |
| func (*binaryClassObservations) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeObservations(e, obj.(*Observations)) |
| } |
| func (*binaryClassObservations) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Observations{} |
| return obj, doDecodeObservations(d, obj) |
| } |
| func (*binaryClassObservations) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeObservations(d, obj.(*Observations)) |
| } |
| func (*binaryClassObservations) Skip(d binary.Decoder) error { return doSkipObservations(d) } |
| func (*binaryClassObservations) Schema() *schema.Class { return schemaObservations } |
| |
| var schemaObservations = &schema.Class{ |
| TypeID: binaryIDObservations, |
| Package: "atom", |
| Name: "Observations", |
| Fields: []schema.Field{ |
| {Declared: "Reads", Type: &schema.Slice{Alias: "", ValueType: &schema.Struct{Name: "Observation", ID: (*Observation)(nil).Class().ID()}}}, |
| {Declared: "Writes", Type: &schema.Slice{Alias: "", ValueType: &schema.Struct{Name: "Observation", ID: (*Observation)(nil).Class().ID()}}}, |
| }, |
| } |
| |
| type binaryClassResource struct{} |
| |
| func (*Resource) Class() binary.Class { |
| return (*binaryClassResource)(nil) |
| } |
| func doEncodeResource(e binary.Encoder, o *Resource) error { |
| if err := e.ID(o.ID); err != nil { |
| return err |
| } |
| if err := e.Uint32(uint32(len(o.Data))); err != nil { |
| return err |
| } |
| if err := e.Data(o.Data); err != nil { |
| return err |
| } |
| return nil |
| } |
| func doDecodeResource(d binary.Decoder, o *Resource) error { |
| if obj, err := d.ID(); err != nil { |
| return err |
| } else { |
| o.ID = binary.ID(obj) |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| o.Data = make([]byte, count) |
| if err := d.Data(o.Data); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| func doSkipResource(d binary.Decoder) error { |
| if err := d.SkipID(); err != nil { |
| return err |
| } |
| if count, err := d.Uint32(); err != nil { |
| return err |
| } else { |
| if err := d.Skip(count); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| func (*binaryClassResource) ID() binary.ID { return binaryIDResource } |
| func (*binaryClassResource) New() binary.Object { return &Resource{} } |
| func (*binaryClassResource) Encode(e binary.Encoder, obj binary.Object) error { |
| return doEncodeResource(e, obj.(*Resource)) |
| } |
| func (*binaryClassResource) Decode(d binary.Decoder) (binary.Object, error) { |
| obj := &Resource{} |
| return obj, doDecodeResource(d, obj) |
| } |
| func (*binaryClassResource) DecodeTo(d binary.Decoder, obj binary.Object) error { |
| return doDecodeResource(d, obj.(*Resource)) |
| } |
| func (*binaryClassResource) Skip(d binary.Decoder) error { return doSkipResource(d) } |
| func (*binaryClassResource) Schema() *schema.Class { return schemaResource } |
| |
| var schemaResource = &schema.Class{ |
| TypeID: binaryIDResource, |
| Package: "atom", |
| Name: "Resource", |
| Fields: []schema.Field{ |
| {Declared: "ID", Type: &schema.Primitive{Name: "binary.ID", Method: schema.ID}}, |
| {Declared: "Data", Type: &schema.Slice{Alias: "", ValueType: &schema.Primitive{Name: "byte", Method: schema.Uint8}}}, |
| }, |
| } |
| |
| var ConstantValues schema.Constants |
| |
| const _Flags_name = "DrawCallEndOfFrame" |
| |
| var _Flags_map = map[Flags]string{} |
| |
| func init() { |
| _Flags_map[1] = _Flags_name[0:8] |
| _Flags_map[2] = _Flags_name[8:18] |
| |
| ConstantValues = append(ConstantValues, schema.ConstantSet{ |
| Type: &schema.Primitive{Name: "Flags", Method: schema.Uint32}, |
| Entries: []schema.Constant{ |
| {Name: _Flags_name[0:8], Value: uint32(1)}, |
| {Name: _Flags_name[8:18], Value: uint32(2)}, |
| }, |
| }) |
| } |
| |
| func (v Flags) String() string { |
| if s, ok := _Flags_map[v]; ok { |
| return s |
| } |
| return fmt.Sprintf("Flags(%d)", v) |
| } |
| |
| func (v *Flags) Parse(s string) error { |
| for k, t := range _Flags_map { |
| if s == t { |
| *v = k |
| return nil |
| } |
| } |
| return fmt.Errorf("%s not in Flags", s) |
| } |
| |
| const _ID_name = "NoID" |
| |
| var _ID_map = map[ID]string{} |
| |
| func init() { |
| _ID_map[9223372036854775807] = _ID_name[0:4] |
| |
| ConstantValues = append(ConstantValues, schema.ConstantSet{ |
| Type: &schema.Primitive{Name: "ID", Method: schema.Uint64}, |
| Entries: []schema.Constant{ |
| {Name: _ID_name[0:4], Value: uint64(9223372036854775807)}, |
| }, |
| }) |
| } |
| |
| func (v ID) String() string { |
| if s, ok := _ID_map[v]; ok { |
| return s |
| } |
| return fmt.Sprintf("ID(%d)", v) |
| } |
| |
| func (v *ID) Parse(s string) error { |
| for k, t := range _ID_map { |
| if s == t { |
| *v = k |
| return nil |
| } |
| } |
| return fmt.Errorf("%s not in ID", s) |
| } |