Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3238)

Unified Diff: gpu/config/gpu_info.cc

Issue 795633005: Add VDA supported profile to GPUInfo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: dispatch GetSupportedResolution to each vda Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/config/gpu_info.cc
diff --git a/gpu/config/gpu_info.cc b/gpu/config/gpu_info.cc
index f1f67cee9178fce094c4532877a53ea22888e90b..ab085b59b0c8f0cc87bb924f4b4229cbeecae00b 100644
--- a/gpu/config/gpu_info.cc
+++ b/gpu/config/gpu_info.cc
@@ -6,8 +6,8 @@
namespace {
-void EnumerateGPUDevice(gpu::GPUInfo::Enumerator* enumerator,
- const gpu::GPUInfo::GPUDevice& device) {
+void EnumerateGPUDevice(const gpu::GPUInfo::GPUDevice& device,
+ gpu::GPUInfo::Enumerator* enumerator) {
enumerator->BeginGPUDevice();
enumerator->AddInt("vendorId", device.vendor_id);
enumerator->AddInt("deviceId", device.device_id);
@@ -17,9 +17,26 @@ void EnumerateGPUDevice(gpu::GPUInfo::Enumerator* enumerator,
enumerator->EndGPUDevice();
}
+void EnumerateVideoDecodeAcceleratorSupportedResolution(
+ const gpu::VideoDecodeAcceleratorSupportedResolution& resolution,
+ gpu::GPUInfo::Enumerator* enumerator) {
+ enumerator->AddInt(
+ "videoDecodeAcceleratorSupportedResolutionMinWidth",
+ resolution.min.width());
+ enumerator->AddInt(
+ "videoDecodeAcceleratorSupportedResolutionMinHeight",
+ resolution.min.height());
+ enumerator->AddInt(
+ "videoDecodeAcceleratorSupportedResolutionMaxWidth",
+ resolution.max.width());
+ enumerator->AddInt(
+ "videoDecodeAcceleratorSupportedResolutionMaxHeight",
+ resolution.max.height());
+}
+
void EnumerateVideoEncodeAcceleratorSupportedProfile(
- gpu::GPUInfo::Enumerator* enumerator,
- const gpu::VideoEncodeAcceleratorSupportedProfile profile) {
+ const gpu::VideoEncodeAcceleratorSupportedProfile& profile,
+ gpu::GPUInfo::Enumerator* enumerator) {
enumerator->BeginVideoEncodeAcceleratorSupportedProfile();
enumerator->AddInt("profile", profile.profile);
enumerator->AddInt("maxResolutionWidth", profile.max_resolution.width());
@@ -101,6 +118,8 @@ void GPUInfo::EnumerateFields(Enumerator* enumerator) const {
CollectInfoResult dx_diagnostics_info_state;
DxDiagNode dx_diagnostics;
#endif
+ VideoDecodeAcceleratorSupportedResolution
+ video_decode_accelerator_supported_resolution;
std::vector<VideoEncodeAcceleratorSupportedProfile>
video_encode_accelerator_supported_profiles;
};
@@ -115,9 +134,9 @@ void GPUInfo::EnumerateFields(Enumerator* enumerator) const {
// Required fields (according to DevTools protocol) first.
enumerator->AddString("machineModelName", machine_model_name);
enumerator->AddString("machineModelVersion", machine_model_version);
- EnumerateGPUDevice(enumerator, gpu);
+ EnumerateGPUDevice(gpu, enumerator);
for (size_t ii = 0; ii < secondary_gpus.size(); ++ii) {
- EnumerateGPUDevice(enumerator, secondary_gpus[ii]);
+ EnumerateGPUDevice(secondary_gpus[ii], enumerator);
}
enumerator->BeginAuxAttributes();
@@ -158,10 +177,12 @@ void GPUInfo::EnumerateFields(Enumerator* enumerator) const {
enumerator->AddInt("DxDiagnosticsInfoState", dx_diagnostics_info_state);
#endif
// TODO(kbr): add dx_diagnostics on Windows.
+ EnumerateVideoDecodeAcceleratorSupportedResolution(
+ video_decode_accelerator_supported_resolution, enumerator);
for (size_t ii = 0; ii < video_encode_accelerator_supported_profiles.size();
++ii) {
EnumerateVideoEncodeAcceleratorSupportedProfile(
- enumerator, video_encode_accelerator_supported_profiles[ii]);
+ video_encode_accelerator_supported_profiles[ii], enumerator);
}
enumerator->EndAuxAttributes();
}

Powered by Google App Engine
This is Rietveld 408576698