mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 08:16:09 +03:00
142 lines
3.5 KiB
Plaintext
142 lines
3.5 KiB
Plaintext
// 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/public/mojom/base/time.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;
|
|
string driver_vendor;
|
|
string driver_version;
|
|
string driver_date;
|
|
int32 cuda_compute_capability_major;
|
|
};
|
|
|
|
// 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,
|
|
DOLBYVISION_PROFILE0,
|
|
DOLBYVISION_PROFILE4,
|
|
DOLBYVISION_PROFILE5,
|
|
DOLBYVISION_PROFILE7,
|
|
THEORAPROFILE_ANY,
|
|
AV1PROFILE_PROFILE_MAIN,
|
|
AV1PROFILE_PROFILE_HIGH,
|
|
AV1PROFILE_PROFILE_PRO,
|
|
};
|
|
|
|
// gpu::VideoDecodeAcceleratorSupportedProfile
|
|
struct VideoDecodeAcceleratorSupportedProfile {
|
|
VideoCodecProfile profile;
|
|
gfx.mojom.Size max_resolution;
|
|
gfx.mojom.Size min_resolution;
|
|
bool encrypted_only;
|
|
};
|
|
|
|
// gpu::VideoDecodeAcceleratorCapabilities
|
|
struct VideoDecodeAcceleratorCapabilities {
|
|
array<VideoDecodeAcceleratorSupportedProfile> supported_profiles;
|
|
uint32 flags;
|
|
};
|
|
|
|
// gpu::VideoEncodeAcceleratorSupportedProfile
|
|
struct VideoEncodeAcceleratorSupportedProfile {
|
|
VideoCodecProfile profile;
|
|
gfx.mojom.Size max_resolution;
|
|
uint32 max_framerate_numerator;
|
|
uint32 max_framerate_denominator;
|
|
};
|
|
|
|
// gpu::OverlayFormat
|
|
enum OverlayFormat {
|
|
BGRA,
|
|
YUY2,
|
|
NV12,
|
|
};
|
|
|
|
// gpu::OverlayCapability
|
|
struct OverlayCapability {
|
|
OverlayFormat format;
|
|
bool is_scaling_supported;
|
|
};
|
|
|
|
// Corresponds to |gpu::GPUInfo| in gpu/config/gpu_info.h
|
|
struct GpuInfo {
|
|
mojo_base.mojom.TimeDelta initialization_time;
|
|
bool optimus;
|
|
bool amd_switchable;
|
|
GpuDevice gpu;
|
|
array<GpuDevice> secondary_gpus;
|
|
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;
|
|
bool in_process_gpu;
|
|
bool passthrough_cmd_decoder;
|
|
bool can_support_threaded_texture_mailbox;
|
|
[EnableIf=is_win]
|
|
bool direct_composition;
|
|
[EnableIf=is_win]
|
|
bool supports_overlays;
|
|
[EnableIf=is_win]
|
|
array<OverlayCapability> overlay_capabilities;
|
|
[EnableIf=is_win]
|
|
DxDiagNode dx_diagnostics;
|
|
[EnableIf=is_win]
|
|
bool supports_dx12;
|
|
[EnableIf=is_win]
|
|
bool supports_vulkan;
|
|
[EnableIf=is_win]
|
|
uint32 d3d12_feature_level;
|
|
[EnableIf=is_win]
|
|
uint32 vulkan_version;
|
|
VideoDecodeAcceleratorCapabilities video_decode_accelerator_capabilities;
|
|
array<VideoEncodeAcceleratorSupportedProfile>
|
|
video_encode_accelerator_supported_profiles;
|
|
bool jpeg_decode_accelerator_supported;
|
|
uint64 system_visual;
|
|
uint64 rgba_visual;
|
|
bool oop_rasterization_supported;
|
|
};
|