| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // gpu/config/gpu_info.h |
| module gpu.mojom; |
| |
| import "gpu/ipc/common/dx_diag_node.mojom"; |
| import "mojo/common/common_custom_types.mojom"; |
| import "ui/gfx/geometry/mojo/geometry.mojom"; |
| |
| // gpu::GPUInfo::GPUDevice |
| struct GpuDevice { |
| uint32 vendor_id; |
| uint32 device_id; |
| bool active; |
| string vendor_string; |
| string device_string; |
| }; |
| |
| // gpu::CollectInfoResult |
| enum CollectInfoResult { |
| kCollectInfoNone = 0, |
| kCollectInfoSuccess = 1, |
| kCollectInfoNonFatalFailure = 2, |
| kCollectInfoFatalFailure = 3 |
| }; |
| |
| // gpu::VideoCodecProfile |
| enum VideoCodecProfile { |
| VIDEO_CODEC_PROFILE_UNKNOWN = -1, |
| H264PROFILE_BASELINE = 0, |
| H264PROFILE_MAIN, |
| H264PROFILE_EXTENDED, |
| H264PROFILE_HIGH, |
| H264PROFILE_HIGH10PROFILE, |
| H264PROFILE_HIGH422PROFILE, |
| H264PROFILE_HIGH444PREDICTIVEPROFILE, |
| H264PROFILE_SCALABLEBASELINE, |
| H264PROFILE_SCALABLEHIGH, |
| H264PROFILE_STEREOHIGH, |
| H264PROFILE_MULTIVIEWHIGH, |
| VP8PROFILE_ANY, |
| VP9PROFILE_PROFILE0, |
| VP9PROFILE_PROFILE1, |
| VP9PROFILE_PROFILE2, |
| VP9PROFILE_PROFILE3, |
| HEVCPROFILE_MAIN, |
| HEVCPROFILE_MAIN10, |
| HEVCPROFILE_MAIN_STILL_PICTURE, |
| }; |
| |
| // gpu::VideoDecodeAcceleratorSupportedProfile |
| struct VideoDecodeAcceleratorSupportedProfile { |
| VideoCodecProfile profile; |
| gfx.mojom.Size max_resolution; |
| gfx.mojom.Size min_resolution; |
| bool encrypted_only; |
| }; |
| |
| // gpu::VideoDecodeAcceleratorCapabilities |
| struct VideoDecodeAcceleratorCapabilities { |
| uint32 flags; |
| }; |
| |
| // gpu::VideoEncodeAcceleratorSupportedProfile |
| struct VideoEncodeAcceleratorSupportedProfile { |
| VideoCodecProfile profile; |
| gfx.mojom.Size max_resolution; |
| uint32 max_framerate_numerator; |
| uint32 max_framerate_denominator; |
| }; |
| |
| // Corresponds to |gpu::GPUInfo| in gpu/config/gpu_info.h |
| struct GpuInfo { |
| mojo.common.mojom.TimeDelta initialization_time; |
| bool optimus; |
| bool amd_switchable; |
| bool lenovo_dcute; |
| mojo.common.mojom.Version? display_link_version; |
| GpuDevice gpu; |
| array<GpuDevice> secondary_gpus; |
| uint64 adapter_luid; |
| string driver_vendor; |
| string driver_version; |
| string driver_date; |
| string pixel_shader_version; |
| string vertex_shader_version; |
| string max_msaa_samples; |
| string machine_model_name; |
| string machine_model_version; |
| string gl_version; |
| string gl_vendor; |
| string gl_renderer; |
| string gl_extensions; |
| string gl_ws_vendor; |
| string gl_ws_version; |
| string gl_ws_extensions; |
| uint32 gl_reset_notification_strategy; |
| bool software_rendering; |
| bool direct_rendering; |
| bool sandboxed; |
| int32 process_crash_count; |
| bool in_process_gpu; |
| CollectInfoResult basic_info_state; |
| CollectInfoResult context_info_state; |
| CollectInfoResult dx_diagnostics_info_state; |
| DxDiagNode? dx_diagnostics; |
| VideoDecodeAcceleratorCapabilities video_decode_accelerator_capabilities; |
| array<VideoEncodeAcceleratorSupportedProfile> |
| video_encode_accelerator_supported_profiles; |
| bool jpeg_decode_accelerator_supported; |
| }; |