/* * 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. */ syntax = "proto2"; package perfetto.protos; // Message for recording the Vulkan call. message VulkanApiEvent { oneof event { VkDebugUtilsObjectName vk_debug_utils_object_name = 1; VkQueueSubmit vk_queue_submit = 2; } // For recording vkSetDebugUtilsObjectNameEXT and // vkDebugMarkerSetObjectNameEXT message VkDebugUtilsObjectName { optional uint32 pid = 1; optional uint64 vk_device = 2; // VkObjectType. Value must match // https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectType.html. optional int32 object_type = 3; optional uint64 object = 4; optional string object_name = 5; } // For recording vkQueueSubmit call. message VkQueueSubmit { optional uint64 duration_ns = 1; optional uint32 pid = 2; optional uint32 tid = 3; optional uint64 vk_queue = 4; repeated uint64 vk_command_buffers = 5; // Submission ID. An identifier unique to each vkQueueSubmit call. This // submission_id must match GpuRenderStageEvent.submission_id if the // GpuRenderStageEvent is created due to this vkQueueSubmit. optional uint32 submission_id = 6; } }