summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorjmadill <jmadill@chromium.org>2014-11-13 15:14:44 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-13 23:35:31 +0000
commit1b6258ee4abd4b511c4d19ed96c834ac4b8c45ce (patch)
tree309974ae3ae167a5e7db82608e3e12f707a8e249 /gpu
parent4a6041e1341aad67fd5675ab9edacc2df4916420 (diff)
downloadchromium_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.cc39
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;