diff options
Diffstat (limited to 'content/gpu/gpu_info_collector.h')
-rw-r--r-- | content/gpu/gpu_info_collector.h | 50 |
1 files changed, 20 insertions, 30 deletions
diff --git a/content/gpu/gpu_info_collector.h b/content/gpu/gpu_info_collector.h index 6a5fa43..654ec48 100644 --- a/content/gpu/gpu_info_collector.h +++ b/content/gpu/gpu_info_collector.h @@ -10,51 +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. - -// 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); +// 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); +#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); +// 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); + // Advanced Micro Devices has interesting configurations on laptops were // there are two videocards that can alternatively a given process output. enum AMDVideoCardType { |