perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
310 lines (266 loc) • 9.71 kB
text/typescript
//
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/gpu/vulkan_memory_event.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace/gpu/vulkan_memory_event.proto.
*/
export const file_protos_perfetto_trace_gpu_vulkan_memory_event: GenFile = /*@__PURE__*/
fileDesc("CjNwcm90b3MvcGVyZmV0dG8vdHJhY2UvZ3B1L3Z1bGthbl9tZW1vcnlfZXZlbnQucHJvdG8SD3BlcmZldHRvLnByb3RvcyJ6ChtWdWxrYW5NZW1vcnlFdmVudEFubm90YXRpb24SDwoHa2V5X2lpZBgBIAEoBBITCglpbnRfdmFsdWUYAiABKANIABIWCgxkb3VibGVfdmFsdWUYAyABKAFIABIUCgpzdHJpbmdfaWlkGAQgASgESABCBwoFdmFsdWUi6AYKEVZ1bGthbk1lbW9yeUV2ZW50EjkKBnNvdXJjZRgBIAEoDjIpLnBlcmZldHRvLnByb3Rvcy5WdWxrYW5NZW1vcnlFdmVudC5Tb3VyY2USPwoJb3BlcmF0aW9uGAIgASgOMiwucGVyZmV0dG8ucHJvdG9zLlZ1bGthbk1lbW9yeUV2ZW50Lk9wZXJhdGlvbhIRCgl0aW1lc3RhbXAYAyABKAMSCwoDcGlkGAQgASgNEhYKDm1lbW9yeV9hZGRyZXNzGAUgASgGEhMKC21lbW9yeV9zaXplGAYgASgEEhIKCmNhbGxlcl9paWQYByABKAQSTAoQYWxsb2NhdGlvbl9zY29wZRgIIAEoDjIyLnBlcmZldHRvLnByb3Rvcy5WdWxrYW5NZW1vcnlFdmVudC5BbGxvY2F0aW9uU2NvcGUSQQoLYW5ub3RhdGlvbnMYCSADKAsyLC5wZXJmZXR0by5wcm90b3MuVnVsa2FuTWVtb3J5RXZlbnRBbm5vdGF0aW9uEg4KBmRldmljZRgQIAEoBhIVCg1kZXZpY2VfbWVtb3J5GBEgASgGEhMKC21lbW9yeV90eXBlGBIgASgNEgwKBGhlYXAYEyABKA0SFQoNb2JqZWN0X2hhbmRsZRgUIAEoBiKFAQoGU291cmNlEhYKElNPVVJDRV9VTlNQRUNJRklFRBAAEhEKDVNPVVJDRV9EUklWRVIQARIRCg1TT1VSQ0VfREVWSUNFEAISGAoUU09VUkNFX0RFVklDRV9NRU1PUlkQAxIRCg1TT1VSQ0VfQlVGRkVSEAQSEAoMU09VUkNFX0lNQUdFEAUidQoJT3BlcmF0aW9uEhIKDk9QX1VOU1BFQ0lGSUVEEAASDQoJT1BfQ1JFQVRFEAESDgoKT1BfREVTVFJPWRACEgsKB09QX0JJTkQQAxIUChBPUF9ERVNUUk9ZX0JPVU5EEAQSEgoOT1BfQU5OT1RBVElPTlMQBSKEAQoPQWxsb2NhdGlvblNjb3BlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASEQoNU0NPUEVfQ09NTUFORBABEhAKDFNDT1BFX09CSkVDVBACEg8KC1NDT1BFX0NBQ0hFEAMSEAoMU0NPUEVfREVWSUNFEAQSEgoOU0NPUEVfSU5TVEFOQ0UQBQ");
/**
* All the information that cannot be sent within a VulkanMemoryEvent message,
* are sent as annotations to the main memory event. One example is the
* properties of the object that consumes the allocated memory, for example, a
* buffer or an image.
* key_iid and string_iid are both interned strings. Original string value is
* stored in vulkan_memory_keys from
* protos/perfetto/trace/interned_data/interned_data.proto.
*
* @generated from message perfetto.protos.VulkanMemoryEventAnnotation
*/
export type VulkanMemoryEventAnnotation = Message<"perfetto.protos.VulkanMemoryEventAnnotation"> & {
/**
* @generated from field: optional uint64 key_iid = 1;
*/
keyIid: bigint;
/**
* @generated from oneof perfetto.protos.VulkanMemoryEventAnnotation.value
*/
value: {
/**
* @generated from field: int64 int_value = 2;
*/
value: bigint;
case: "intValue";
} | {
/**
* @generated from field: double double_value = 3;
*/
value: number;
case: "doubleValue";
} | {
/**
* @generated from field: uint64 string_iid = 4;
*/
value: bigint;
case: "stringIid";
} | { case: undefined; value?: undefined };
};
/**
* Describes the message perfetto.protos.VulkanMemoryEventAnnotation.
* Use `create(VulkanMemoryEventAnnotationSchema)` to create a new message.
*/
export const VulkanMemoryEventAnnotationSchema: GenMessage<VulkanMemoryEventAnnotation> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_gpu_vulkan_memory_event, 0);
/**
* Each VulkanMemoryEvent encompasses information regarding one single function
* call that results in reserving, binding or freeing host or GPU memory. There
* is a special message type, ANNOTATIONS, which is used to communicate
* information that are not directly related to a memory event, nonetheless are
* essential to understand the memory usage. An example is the size and memory
* types of the memory heaps.
*
* Next reserved id: 10 (up to 15).
* Next id: 21.
*
* @generated from message perfetto.protos.VulkanMemoryEvent
*/
export type VulkanMemoryEvent = Message<"perfetto.protos.VulkanMemoryEvent"> & {
/**
* @generated from field: optional perfetto.protos.VulkanMemoryEvent.Source source = 1;
*/
source: VulkanMemoryEvent_Source;
/**
* @generated from field: optional perfetto.protos.VulkanMemoryEvent.Operation operation = 2;
*/
operation: VulkanMemoryEvent_Operation;
/**
* @generated from field: optional int64 timestamp = 3;
*/
timestamp: bigint;
/**
* @generated from field: optional uint32 pid = 4;
*/
pid: number;
/**
* @generated from field: optional fixed64 memory_address = 5;
*/
memoryAddress: bigint;
/**
* @generated from field: optional uint64 memory_size = 6;
*/
memorySize: bigint;
/**
* Interned string. Original string value is stored in function_names from
* protos/perfetto/trace/interned_data/interned_data.proto.
*
* @generated from field: optional uint64 caller_iid = 7;
*/
callerIid: bigint;
/**
* @generated from field: optional perfetto.protos.VulkanMemoryEvent.AllocationScope allocation_scope = 8;
*/
allocationScope: VulkanMemoryEvent_AllocationScope;
/**
* Extra related information, e.g., create configs, etc.
*
* @generated from field: repeated perfetto.protos.VulkanMemoryEventAnnotation annotations = 9;
*/
annotations: VulkanMemoryEventAnnotation[];
/**
* Field IDs used for device memory (low sampling rate)
*
* @generated from field: optional fixed64 device = 16;
*/
device: bigint;
/**
* @generated from field: optional fixed64 device_memory = 17;
*/
deviceMemory: bigint;
/**
* @generated from field: optional uint32 memory_type = 18;
*/
memoryType: number;
/**
* @generated from field: optional uint32 heap = 19;
*/
heap: number;
/**
* @generated from field: optional fixed64 object_handle = 20;
*/
objectHandle: bigint;
};
/**
* Describes the message perfetto.protos.VulkanMemoryEvent.
* Use `create(VulkanMemoryEventSchema)` to create a new message.
*/
export const VulkanMemoryEventSchema: GenMessage<VulkanMemoryEvent> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_gpu_vulkan_memory_event, 1);
/**
* @generated from enum perfetto.protos.VulkanMemoryEvent.Source
*/
export enum VulkanMemoryEvent_Source {
/**
* @generated from enum value: SOURCE_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: SOURCE_DRIVER = 1;
*/
DRIVER = 1,
/**
* @generated from enum value: SOURCE_DEVICE = 2;
*/
DEVICE = 2,
/**
* @generated from enum value: SOURCE_DEVICE_MEMORY = 3;
*/
DEVICE_MEMORY = 3,
/**
* @generated from enum value: SOURCE_BUFFER = 4;
*/
BUFFER = 4,
/**
* @generated from enum value: SOURCE_IMAGE = 5;
*/
IMAGE = 5,
}
/**
* Describes the enum perfetto.protos.VulkanMemoryEvent.Source.
*/
export const VulkanMemoryEvent_SourceSchema: GenEnum<VulkanMemoryEvent_Source> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_gpu_vulkan_memory_event, 1, 0);
/**
* @generated from enum perfetto.protos.VulkanMemoryEvent.Operation
*/
export enum VulkanMemoryEvent_Operation {
/**
* @generated from enum value: OP_UNSPECIFIED = 0;
*/
OP_UNSPECIFIED = 0,
/**
* alloc, create
*
* @generated from enum value: OP_CREATE = 1;
*/
OP_CREATE = 1,
/**
* free, destroy(non-bound)
*
* @generated from enum value: OP_DESTROY = 2;
*/
OP_DESTROY = 2,
/**
* bind buffer and image
*
* @generated from enum value: OP_BIND = 3;
*/
OP_BIND = 3,
/**
* destroy (bound)
*
* @generated from enum value: OP_DESTROY_BOUND = 4;
*/
OP_DESTROY_BOUND = 4,
/**
* only annotations
*
* @generated from enum value: OP_ANNOTATIONS = 5;
*/
OP_ANNOTATIONS = 5,
}
/**
* Describes the enum perfetto.protos.VulkanMemoryEvent.Operation.
*/
export const VulkanMemoryEvent_OperationSchema: GenEnum<VulkanMemoryEvent_Operation> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_gpu_vulkan_memory_event, 1, 1);
/**
* @generated from enum perfetto.protos.VulkanMemoryEvent.AllocationScope
*/
export enum VulkanMemoryEvent_AllocationScope {
/**
* @generated from enum value: SCOPE_UNSPECIFIED = 0;
*/
SCOPE_UNSPECIFIED = 0,
/**
* @generated from enum value: SCOPE_COMMAND = 1;
*/
SCOPE_COMMAND = 1,
/**
* @generated from enum value: SCOPE_OBJECT = 2;
*/
SCOPE_OBJECT = 2,
/**
* @generated from enum value: SCOPE_CACHE = 3;
*/
SCOPE_CACHE = 3,
/**
* @generated from enum value: SCOPE_DEVICE = 4;
*/
SCOPE_DEVICE = 4,
/**
* @generated from enum value: SCOPE_INSTANCE = 5;
*/
SCOPE_INSTANCE = 5,
}
/**
* Describes the enum perfetto.protos.VulkanMemoryEvent.AllocationScope.
*/
export const VulkanMemoryEvent_AllocationScopeSchema: GenEnum<VulkanMemoryEvent_AllocationScope> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_gpu_vulkan_memory_event, 1, 2);