| /* |
| * Copyright (C) 2023 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 gfxstream.proto; |
| |
| message EglAvailability { |
| optional string vendor = 1; |
| optional string version = 2; |
| optional string extensions = 3; |
| optional string client_extensions = 4; |
| |
| message GlesContextAvailability { |
| optional string vendor = 1; |
| optional string version = 2; |
| optional string renderer = 3; |
| optional string extensions = 4; |
| } |
| |
| // Loading GLES functions via EGL's eglGetProcAddress(). |
| optional GlesContextAvailability gles2_availability = 5; |
| optional GlesContextAvailability gles3_availability = 6; |
| |
| // Loading GLES functions via GLESv2 library directly. |
| optional GlesContextAvailability gles2_direct_availability = 7; |
| optional GlesContextAvailability gles3_direct_availability = 8; |
| |
| repeated string errors = 9; |
| } |
| |
| message VulkanExternalMemoryHostQuirks { |
| repeated string errors = 1; |
| optional bool can_import_shm = 2; |
| } |
| |
| message VulkanQuirks { |
| // See b/264575911. |
| optional bool has_issue_with_precision_qualifiers_on_yuv_samplers = 1; |
| |
| optional VulkanExternalMemoryHostQuirks external_memory_host_quirks = 2; |
| } |
| |
| message VulkanPhysicalDevice { |
| optional string name = 1; |
| repeated string extensions = 2; |
| enum Type { |
| TYPE_OTHER = 0; |
| TYPE_DISCRETE_GPU = 1; |
| } |
| optional Type type = 3; |
| |
| optional VulkanQuirks quirks = 4; |
| } |
| |
| |
| message VulkanAvailability { |
| repeated string instance_extensions = 1; |
| |
| repeated VulkanPhysicalDevice physical_devices = 2; |
| } |
| |
| message GraphicsAvailability { |
| optional EglAvailability egl = 1; |
| optional VulkanAvailability vulkan = 2; |
| |
| repeated string errors = 3; |
| } |