Index: content/gpu/gpu_info_collector.h |
=================================================================== |
--- content/gpu/gpu_info_collector.h (revision 173244) |
+++ content/gpu/gpu_info_collector.h (working copy) |
@@ -10,60 +10,41 @@ |
#include "content/common/content_export.h" |
#include "content/public/common/gpu_info.h" |
-struct IDirect3D9; |
- |
namespace gpu_info_collector { |
-// Populate variables with necessary graphics card information. |
-// Returns true on success. |
-bool CollectGraphicsInfo(content::GPUInfo* gpu_info); |
- |
-// Similar to CollectGraphicsInfo, only this collects a subset of variables |
-// without creating a GL/DirectX context (and without the danger of crashing). |
+// Collects basic GPU info without creating a GL/DirectX context (and without |
+// the danger of crashing), including vendor_id and device_id. |
+// This is called at browser process startup time. |
// The subset each platform collects may be different. |
-CONTENT_EXPORT bool CollectPreliminaryGraphicsInfo( |
+CONTENT_EXPORT bool CollectBasicGraphicsInfo( |
content::GPUInfo* gpu_info); |
-#if defined(OS_WIN) |
-// Windows provides two ways of doing graphics so we need two ways of |
-// collecting info based on what's on a user's machine. |
-// The selection between the two methods is done in the cc file. |
+// Create a GL/DirectX context and collect related info. |
+// This is called at GPU process startup time. |
+// Returns true on success. |
+bool CollectContextGraphicsInfo(content::GPUInfo* gpu_info); |
-// A D3D argument is passed in for testing purposes |
-CONTENT_EXPORT bool CollectGraphicsInfoD3D(IDirect3D9* d3d, |
- content::GPUInfo* gpu_info); |
- |
-// Collects D3D driver version/date through registry lookup. |
-// Note that this does not require a D3D context. |
-// device_id here is the raw data in DISPLAY_DEVICE. |
-CONTENT_EXPORT bool CollectDriverInfoD3D(const std::wstring& device_id, |
- content::GPUInfo* gpu_info); |
- |
+#if defined(OS_WIN) |
// Collect the DirectX Disagnostics information about the attached displays. |
bool GetDxDiagnostics(content::DxDiagNode* output); |
#endif // OS_WIN |
-// All platforms have a GL version for collecting information |
+// Create a GL context and collect GL strings and versions. |
CONTENT_EXPORT bool CollectGraphicsInfoGL(content::GPUInfo* gpu_info); |
-// Collect GL and Shading language version information |
-bool CollectGLVersionInfo(content::GPUInfo* gpu_info); |
- |
-// Platform specific method for collecting vendor and device ids |
-bool CollectVideoCardInfo(content::GPUInfo* gpu_info); |
- |
// Each platform stores the driver version on the GL_VERSION string differently |
bool CollectDriverInfoGL(content::GPUInfo* gpu_info); |
-// Advanced Micro Devices has interesting configurations on laptops were |
-// there are two videocards that can alternatively a given process output. |
-enum AMDVideoCardType { |
- UNKNOWN, |
- STANDALONE, |
- INTEGRATED, |
- SWITCHABLE |
-}; |
+// Merge GPUInfo from CollectContextGraphicsInfo into basic GPUInfo. |
+// This is platform specific, depending on which info are collected at which |
+// stage. |
+void MergeGPUInfo(content::GPUInfo* basic_gpu_info, |
+ const content::GPUInfo& context_gpu_info); |
+// MergeGPUInfo() when GL driver is used. |
+void MergeGPUInfoGL(content::GPUInfo* basic_gpu_info, |
+ const content::GPUInfo& context_gpu_info); |
+ |
} // namespace gpu_info_collector |
#endif // CONTENT_GPU_GPU_INFO_COLLECTOR_H_ |