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

Side by Side 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: edit description 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/config/gpu_info.h" 5 #include "gpu/config/gpu_info.h"
6 6
7 namespace { 7 namespace {
8 8
9 void EnumerateGPUDevice(gpu::GPUInfo::Enumerator* enumerator, 9 void EnumerateGPUDevice(gpu::GPUInfo::Enumerator* enumerator,
10 const gpu::GPUInfo::GPUDevice& device) { 10 const gpu::GPUInfo::GPUDevice& device) {
(...skipping 12 matching lines...) Expand all
23 enumerator->BeginVideoEncodeAcceleratorSupportedProfile(); 23 enumerator->BeginVideoEncodeAcceleratorSupportedProfile();
24 enumerator->AddInt("profile", profile.profile); 24 enumerator->AddInt("profile", profile.profile);
25 enumerator->AddInt("maxResolutionWidth", profile.max_resolution.width()); 25 enumerator->AddInt("maxResolutionWidth", profile.max_resolution.width());
26 enumerator->AddInt("maxResolutionHeight", profile.max_resolution.height()); 26 enumerator->AddInt("maxResolutionHeight", profile.max_resolution.height());
27 enumerator->AddInt("maxFramerateNumerator", profile.max_framerate_numerator); 27 enumerator->AddInt("maxFramerateNumerator", profile.max_framerate_numerator);
28 enumerator->AddInt("maxFramerateDenominator", 28 enumerator->AddInt("maxFramerateDenominator",
29 profile.max_framerate_denominator); 29 profile.max_framerate_denominator);
30 enumerator->EndVideoEncodeAcceleratorSupportedProfile(); 30 enumerator->EndVideoEncodeAcceleratorSupportedProfile();
31 } 31 }
32 32
33 void EnumerateVideoDecodeAcceleratorSupportedProfile(
34 gpu::GPUInfo::Enumerator* enumerator,
35 const gpu::VideoDecodeAcceleratorSupportedProfile profile) {
36 enumerator->BeginVideoDecodeAcceleratorSupportedProfile();
37 enumerator->AddInt("profile", profile.profile);
38 enumerator->AddInt("minResolutionWidth", profile.min_resolution.width());
39 enumerator->AddInt("minResolutionHeight", profile.min_resolution.height());
40 enumerator->AddInt("maxResolutionWidth", profile.max_resolution.width());
41 enumerator->AddInt("maxResolutionHeight", profile.max_resolution.height());
42 enumerator->EndVideoDecodeAcceleratorSupportedProfile();
43 }
44
33 } // namespace 45 } // namespace
34 46
35 namespace gpu { 47 namespace gpu {
36 48
37 GPUInfo::GPUDevice::GPUDevice() 49 GPUInfo::GPUDevice::GPUDevice()
38 : vendor_id(0), 50 : vendor_id(0),
39 device_id(0), 51 device_id(0),
40 active(false) { 52 active(false) {
41 } 53 }
42 54
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 bool software_rendering; 106 bool software_rendering;
95 bool direct_rendering; 107 bool direct_rendering;
96 bool sandboxed; 108 bool sandboxed;
97 int process_crash_count; 109 int process_crash_count;
98 CollectInfoResult basic_info_state; 110 CollectInfoResult basic_info_state;
99 CollectInfoResult context_info_state; 111 CollectInfoResult context_info_state;
100 #if defined(OS_WIN) 112 #if defined(OS_WIN)
101 CollectInfoResult dx_diagnostics_info_state; 113 CollectInfoResult dx_diagnostics_info_state;
102 DxDiagNode dx_diagnostics; 114 DxDiagNode dx_diagnostics;
103 #endif 115 #endif
116 std::vector<VideoDecodeAcceleratorSupportedProfile>
117 video_decode_accelerator_supported_profiles;
104 std::vector<VideoEncodeAcceleratorSupportedProfile> 118 std::vector<VideoEncodeAcceleratorSupportedProfile>
105 video_encode_accelerator_supported_profiles; 119 video_encode_accelerator_supported_profiles;
106 }; 120 };
107 121
108 // If this assert fails then most likely something below needs to be updated. 122 // If this assert fails then most likely something below needs to be updated.
109 // Note that this assert is only approximate. If a new field is added to 123 // Note that this assert is only approximate. If a new field is added to
110 // GPUInfo which fits within the current padding then it will not be caught. 124 // GPUInfo which fits within the current padding then it will not be caught.
111 COMPILE_ASSERT( 125 COMPILE_ASSERT(
112 sizeof(GPUInfo) == sizeof(GPUInfoKnownFields), 126 sizeof(GPUInfo) == sizeof(GPUInfoKnownFields),
113 Fields_Have_Changed_In_GPUInfo_So_Update_Below); 127 Fields_Have_Changed_In_GPUInfo_So_Update_Below);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 enumerator->AddBool("softwareRendering", software_rendering); 165 enumerator->AddBool("softwareRendering", software_rendering);
152 enumerator->AddBool("directRendering", direct_rendering); 166 enumerator->AddBool("directRendering", direct_rendering);
153 enumerator->AddBool("sandboxed", sandboxed); 167 enumerator->AddBool("sandboxed", sandboxed);
154 enumerator->AddInt("processCrashCount", process_crash_count); 168 enumerator->AddInt("processCrashCount", process_crash_count);
155 enumerator->AddInt("basicInfoState", basic_info_state); 169 enumerator->AddInt("basicInfoState", basic_info_state);
156 enumerator->AddInt("contextInfoState", context_info_state); 170 enumerator->AddInt("contextInfoState", context_info_state);
157 #if defined(OS_WIN) 171 #if defined(OS_WIN)
158 enumerator->AddInt("DxDiagnosticsInfoState", dx_diagnostics_info_state); 172 enumerator->AddInt("DxDiagnosticsInfoState", dx_diagnostics_info_state);
159 #endif 173 #endif
160 // TODO(kbr): add dx_diagnostics on Windows. 174 // TODO(kbr): add dx_diagnostics on Windows.
175 for (size_t ii = 0; ii < video_decode_accelerator_supported_profiles.size();
176 ++ii) {
177 EnumerateVideoDecodeAcceleratorSupportedProfile(
178 enumerator, video_decode_accelerator_supported_profiles[ii]);
179 }
161 for (size_t ii = 0; ii < video_encode_accelerator_supported_profiles.size(); 180 for (size_t ii = 0; ii < video_encode_accelerator_supported_profiles.size();
162 ++ii) { 181 ++ii) {
163 EnumerateVideoEncodeAcceleratorSupportedProfile( 182 EnumerateVideoEncodeAcceleratorSupportedProfile(
164 enumerator, video_encode_accelerator_supported_profiles[ii]); 183 enumerator, video_encode_accelerator_supported_profiles[ii]);
165 } 184 }
166 enumerator->EndAuxAttributes(); 185 enumerator->EndAuxAttributes();
167 } 186 }
168 187
169 } // namespace gpu 188 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698