1syntax = "proto2"; 2 3package androidgamesdk_deviceinfo; 4 5option java_package = "com.google.androidgamesdk"; 6option java_outer_classname = "DeviceInfoProto"; 7 8message Info { 9 message CpuCore { 10 optional int64 freq_max = 1; 11 } 12 message Gl { 13 optional string renderer = 1; 14 optional string vendor = 2; 15 optional string version = 3; 16 optional int32 version_major = 4; 17 optional int32 version_minor = 5; 18 optional string shading_language_version = 6; 19 20 repeated string extension = 7; 21 22 // gles min: 2.0 23 optional float GL_ALIASED_LINE_WIDTH_RANGE = 2001; 24 optional float GL_ALIASED_POINT_SIZE_RANGE = 2002; 25 optional int32 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 2003; 26 optional int32 GL_MAX_CUBE_MAP_TEXTURE_SIZE = 2005; 27 optional int32 GL_MAX_FRAGMENT_UNIFORM_VECTORS = 2006; 28 optional int32 GL_MAX_RENDERBUFFER_SIZE = 2007; 29 optional int32 GL_MAX_TEXTURE_IMAGE_UNITS = 2008; 30 optional int32 GL_MAX_TEXTURE_SIZE = 2009; 31 optional int32 GL_MAX_VARYING_VECTORS = 2010; 32 optional int32 GL_MAX_VERTEX_ATTRIBS = 2011; 33 optional int32 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 2012; 34 optional int32 GL_MAX_VERTEX_UNIFORM_VECTORS = 2013; 35 optional int32 GL_MAX_VIEWPORT_DIMS = 2014; 36 optional bool GL_SHADER_COMPILER = 2015; 37 optional int32 GL_SUBPIXEL_BITS = 2016; 38 39 optional int32 GL_NUM_COMPRESSED_TEXTURE_FORMATS = 2021; 40 repeated int32 GL_COMPRESSED_TEXTURE_FORMATS = 2022; 41 optional int32 GL_NUM_SHADER_BINARY_FORMATS = 2023; 42 repeated int32 GL_SHADER_BINARY_FORMATS = 2024; 43 44 // glGetShaderPrecisionFormat 45 optional int32 SPF_VERTEX_FLOAT_LOW_RANGE = 2031; 46 optional int32 SPF_VERTEX_FLOAT_LOW_PREC = 2032; 47 optional int32 SPF_VERTEX_FLOAT_MED_RANGE = 2033; 48 optional int32 SPF_VERTEX_FLOAT_MED_PREC = 2034; 49 optional int32 SPF_VERTEX_FLOAT_HIG_RANGE = 2035; 50 optional int32 SPF_VERTEX_FLOAT_HIG_PREC = 2036; 51 optional int32 SPF_VERTEX_INT_LOW_RANGE = 2037; 52 optional int32 SPF_VERTEX_INT_LOW_PREC = 2038; 53 optional int32 SPF_VERTEX_INT_MED_RANGE = 2039; 54 optional int32 SPF_VERTEX_INT_MED_PREC = 2040; 55 optional int32 SPF_VERTEX_INT_HIG_RANGE = 2041; 56 optional int32 SPF_VERTEX_INT_HIG_PREC = 2042; 57 optional int32 SPF_FRAGMENT_FLOAT_LOW_RANGE = 2043; 58 optional int32 SPF_FRAGMENT_FLOAT_LOW_PREC = 2044; 59 optional int32 SPF_FRAGMENT_FLOAT_MED_RANGE = 2045; 60 optional int32 SPF_FRAGMENT_FLOAT_MED_PREC = 2046; 61 optional int32 SPF_FRAGMENT_FLOAT_HIG_RANGE = 2047; 62 optional int32 SPF_FRAGMENT_FLOAT_HIG_PREC = 2048; 63 optional int32 SPF_FRAGMENT_INT_LOW_RANGE = 2049; 64 optional int32 SPF_FRAGMENT_INT_LOW_PREC = 2050; 65 optional int32 SPF_FRAGMENT_INT_MED_RANGE = 2051; 66 optional int32 SPF_FRAGMENT_INT_MED_PREC = 2052; 67 optional int32 SPF_FRAGMENT_INT_HIG_RANGE = 2053; 68 optional int32 SPF_FRAGMENT_INT_HIG_PREC = 2054; 69 70 // gles min: 3.0 71 optional int32 GL_MAX_3D_TEXTURE_SIZE = 3001; 72 optional int32 GL_MAX_ARRAY_TEXTURE_LAYERS = 3002; 73 optional int32 GL_MAX_COLOR_ATTACHMENTS = 3003; 74 optional int64 GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 3004; 75 optional int32 GL_MAX_COMBINED_UNIFORM_BLOCKS = 3005; 76 optional int64 GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 3006; 77 optional int32 GL_MAX_DRAW_BUFFERS = 3007; 78 optional int32 GL_MAX_ELEMENTS_INDICES = 3008; 79 optional int32 GL_MAX_ELEMENTS_VERTICES = 3009; 80 optional int64 GL_MAX_ELEMENT_INDEX = 3010; 81 optional int32 GL_MAX_FRAGMENT_INPUT_COMPONENTS = 3011; 82 optional int32 GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 3012; 83 optional int32 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 3013; 84 optional int32 GL_MAX_PROGRAM_TEXEL_OFFSET = 3014; 85 optional int64 GL_MAX_SERVER_WAIT_TIMEOUT = 3015; 86 optional float GL_MAX_TEXTURE_LOD_BIAS = 3016; 87 optional int32 GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 3017; 88 optional int32 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 3018; 89 optional int32 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 3019; 90 optional int64 GL_MAX_UNIFORM_BLOCK_SIZE = 3020; 91 optional int32 GL_MAX_UNIFORM_BUFFER_BINDINGS = 3021; 92 optional int32 GL_MAX_VARYING_COMPONENTS = 3022; 93 optional int32 GL_MAX_VERTEX_OUTPUT_COMPONENTS = 3023; 94 optional int32 GL_MAX_VERTEX_UNIFORM_BLOCKS = 3024; 95 optional int32 GL_MAX_VERTEX_UNIFORM_COMPONENTS = 3025; 96 optional int32 GL_MIN_PROGRAM_TEXEL_OFFSET = 3026; 97 optional int32 GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 3027; 98 optional int32 GL_MAX_SAMPLES = 3028; 99 100 optional int32 GL_NUM_PROGRAM_BINARY_FORMATS = 3031; 101 repeated int32 GL_PROGRAM_BINARY_FORMATS = 3032; 102 103 // gles min: 3.1 104 optional int32 GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 3101; 105 optional int32 GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 3102; 106 optional int32 GL_MAX_COLOR_TEXTURE_SAMPLES = 3103; 107 optional int32 GL_MAX_COMBINED_ATOMIC_COUNTERS = 3104; 108 optional int32 GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 3105; 109 optional int32 GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 3106; 110 optional int32 GL_MAX_COMBINED_IMAGE_UNIFORMS = 3107; 111 optional int32 GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 3108; 112 optional int32 GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 3109; 113 optional int32 GL_MAX_COMPUTE_ATOMIC_COUNTERS = 3110; 114 optional int32 GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 3111; 115 optional int32 GL_MAX_COMPUTE_IMAGE_UNIFORMS = 3112; 116 optional int32 GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 3113; 117 optional int32 GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 3114; 118 optional int32 GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 3115; 119 optional int32 GL_MAX_COMPUTE_UNIFORM_BLOCKS = 3116; 120 optional int32 GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 3117; 121 optional int32 GL_MAX_COMPUTE_WORK_GROUP_COUNT_0 = 3118; 122 optional int32 GL_MAX_COMPUTE_WORK_GROUP_COUNT_1 = 3119; 123 optional int32 GL_MAX_COMPUTE_WORK_GROUP_COUNT_2 = 3120; 124 optional int32 GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 3121; 125 optional int32 GL_MAX_COMPUTE_WORK_GROUP_SIZE_0 = 3122; 126 optional int32 GL_MAX_COMPUTE_WORK_GROUP_SIZE_1 = 3123; 127 optional int32 GL_MAX_COMPUTE_WORK_GROUP_SIZE_2 = 3124; 128 optional int32 GL_MAX_DEPTH_TEXTURE_SAMPLES = 3125; 129 optional int32 GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 3126; 130 optional int32 GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 3127; 131 optional int32 GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 3128; 132 optional int32 GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 3129; 133 optional int32 GL_MAX_FRAMEBUFFER_HEIGHT = 3130; 134 optional int32 GL_MAX_FRAMEBUFFER_SAMPLES = 3131; 135 optional int32 GL_MAX_FRAMEBUFFER_WIDTH = 3132; 136 optional int32 GL_MAX_IMAGE_UNITS = 3133; 137 optional int32 GL_MAX_INTEGER_SAMPLES = 3134; 138 optional int32 GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 3135; 139 optional int32 GL_MAX_SAMPLE_MASK_WORDS = 3136; 140 optional int64 GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 3137; 141 optional int32 GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 3138; 142 optional int32 GL_MAX_UNIFORM_LOCATIONS = 3139; 143 optional int32 GL_MAX_VERTEX_ATOMIC_COUNTERS = 3140; 144 optional int32 GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 3141; 145 optional int32 GL_MAX_VERTEX_ATTRIB_BINDINGS = 3142; 146 optional int32 GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 3143; 147 optional int32 GL_MAX_VERTEX_ATTRIB_STRIDE = 3144; 148 optional int32 GL_MAX_VERTEX_IMAGE_UNIFORMS = 3145; 149 optional int32 GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 3146; 150 optional int32 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 3147; 151 optional int32 GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 3148; 152 153 // gles min: 3.2 154 optional int32 GL_CONTEXT_FLAGS = 3201; 155 optional int32 GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 3202; 156 optional int32 GL_LAYER_PROVOKING_VERTEX = 3203; 157 optional int32 GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 3204; 158 optional int32 GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 3205; 159 optional int32 GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 3206; 160 optional int32 GL_MAX_DEBUG_GROUP_STACK_DEPTH = 3207; 161 optional int32 GL_MAX_DEBUG_LOGGED_MESSAGES = 3208; 162 optional int32 GL_MAX_DEBUG_MESSAGE_LENGTH = 3209; 163 optional float GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 3210; 164 optional int32 GL_MAX_FRAMEBUFFER_LAYERS = 3211; 165 optional int32 GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 3212; 166 optional int32 GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 3213; 167 optional int32 GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 3214; 168 optional int32 GL_MAX_GEOMETRY_INPUT_COMPONENTS = 3215; 169 optional int32 GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 3216; 170 optional int32 GL_MAX_GEOMETRY_OUTPUT_VERTICES = 3217; 171 optional int32 GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 3218; 172 optional int32 GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 3219; 173 optional int32 GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 3220; 174 optional int32 GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 3221; 175 optional int32 GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 3222; 176 optional int32 GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 3223; 177 optional int32 GL_MAX_LABEL_LENGTH = 3224; 178 optional int32 GL_MAX_PATCH_VERTICES = 3225; 179 optional int32 GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 3226; 180 optional int32 GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 3227; 181 optional int32 GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 3228; 182 optional int32 GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 3229; 183 optional int32 GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 3230; 184 optional int32 GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 3231; 185 optional int32 GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 3232; 186 optional int32 GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 3233; 187 optional int32 GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 3234; 188 optional int32 GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 3235; 189 optional int32 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 3236; 190 optional int32 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 3237; 191 optional int32 GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 3238; 192 optional int32 GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 3239; 193 optional int32 GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 3240; 194 optional int32 GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 3241; 195 optional int32 GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 3242; 196 optional int32 GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 3243; 197 optional int32 GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 3244; 198 optional int32 GL_MAX_TESS_GEN_LEVEL = 3245; 199 optional int32 GL_MAX_TESS_PATCH_COMPONENTS = 3246; 200 optional int32 GL_MAX_TEXTURE_BUFFER_SIZE = 3247; 201 optional float GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 3248; 202 optional float GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 3249; 203 optional float GL_MULTISAMPLE_LINE_WIDTH_RANGE = 3250; 204 optional bool GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 3251; 205 optional int32 GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 3252; 206 optional int32 GL_RESET_NOTIFICATION_STRATEGY = 3254; 207 } 208 209 optional int32 version = 1; 210 211 optional int32 cpu_max_index = 11; 212 repeated CpuCore cpu_core = 12; 213 optional string cpu_present = 13; 214 optional string cpu_possible = 14; 215 repeated string cpu_extension = 15; 216 repeated string hardware = 16; 217 218 optional string ro_build_version_sdk = 21; 219 optional string ro_chipname = 22; 220 optional string ro_board_platform = 23; 221 optional string ro_product_board = 24; 222 optional string ro_mediatek_platform = 25; 223 optional string ro_arch = 26; 224 optional string ro_build_fingerprint = 27; 225 226 optional Gl gl = 31; 227} 228 229message Errors { 230 optional string hardware = 1; 231 optional string features = 2; 232 repeated string system_props = 3; 233 optional string egl = 4; 234 repeated string gl = 5; 235} 236 237message InfoWithErrors { 238 optional Info info = 1; 239 optional Errors errors = 2; 240}