diff options
author | jmadill <jmadill@chromium.org> | 2014-11-13 15:14:44 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-13 23:35:31 +0000 |
commit | 1b6258ee4abd4b511c4d19ed96c834ac4b8c45ce (patch) | |
tree | 309974ae3ae167a5e7db82608e3e12f707a8e249 /gpu | |
parent | 4a6041e1341aad67fd5675ab9edacc2df4916420 (diff) | |
download | chromium_src-1b6258ee4abd4b511c4d19ed96c834ac4b8c45ce.zip chromium_src-1b6258ee4abd4b511c4d19ed96c834ac4b8c45ce.tar.gz chromium_src-1b6258ee4abd4b511c4d19ed96c834ac4b8c45ce.tar.bz2 |
Add UMA histogram for D3D shader model.
This metric will allow us to determine what percentage of our
Windows ANGLE users are using the D3D11 vs D3D9 back-end. It will
also give us a breakdown of what kind of support there is in the
wild for various GPU configs.
BUG=432267
Review URL: https://codereview.chromium.org/719113003
Cr-Commit-Position: refs/heads/master@{#304107}
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/config/gpu_info_collector_win.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gpu/config/gpu_info_collector_win.cc b/gpu/config/gpu_info_collector_win.cc index 53343f6..eabf9b2 100644 --- a/gpu/config/gpu_info_collector_win.cc +++ b/gpu/config/gpu_info_collector_win.cc @@ -665,6 +665,45 @@ void MergeGPUInfo(GPUInfo* basic_gpu_info, return; } + // Track D3D Shader Model (if available) + const std::string& shader_version = + context_gpu_info.vertex_shader_version; + + // Only gather if this is the first time we're seeing + // a non-empty shader version string. + if (!shader_version.empty() && + basic_gpu_info->vertex_shader_version.empty()) { + + // Note: do not reorder, used by UMA_HISTOGRAM below + enum ShaderModel { + SHADER_MODEL_UNKNOWN, + SHADER_MODEL_2_0, + SHADER_MODEL_3_0, + SHADER_MODEL_4_0, + SHADER_MODEL_4_1, + SHADER_MODEL_5_0, + NUM_SHADER_MODELS + }; + + ShaderModel shader_model = SHADER_MODEL_UNKNOWN; + + if (shader_version == "5.0") { + shader_model = SHADER_MODEL_5_0; + } else if (shader_version == "4.1") { + shader_model = SHADER_MODEL_4_1; + } else if (shader_version == "4.0") { + shader_model = SHADER_MODEL_4_0; + } else if (shader_version == "3.0") { + shader_model = SHADER_MODEL_3_0; + } else if (shader_version == "2.0") { + shader_model = SHADER_MODEL_2_0; + } + + UMA_HISTOGRAM_ENUMERATION("GPU.D3DShaderModel", + shader_model, + NUM_SHADER_MODELS); + } + MergeGPUInfoGL(basic_gpu_info, context_gpu_info); basic_gpu_info->dx_diagnostics = context_gpu_info.dx_diagnostics; |