summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/gpu/gpu_internals_ui.cc2
-rw-r--r--content/common/gpu/gpu_messages.h1
-rw-r--r--gpu/config/gpu_info.cc2
-rw-r--r--gpu/config/gpu_info.h4
-rw-r--r--gpu/config/gpu_info_collector.cc6
-rw-r--r--gpu/config/gpu_info_unittest.cc1
6 files changed, 16 insertions, 0 deletions
diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc
index 3a013df..6a4985f 100644
--- a/content/browser/gpu/gpu_internals_ui.cc
+++ b/content/browser/gpu/gpu_internals_ui.cc
@@ -154,6 +154,8 @@ base::DictionaryValue* GpuInfoAsDictionaryValue() {
gpu_info.pixel_shader_version));
basic_info->Append(NewDescriptionValuePair("Vertex shader version",
gpu_info.vertex_shader_version));
+ basic_info->Append(NewDescriptionValuePair("Max. MSAA samples",
+ gpu_info.max_msaa_samples));
basic_info->Append(NewDescriptionValuePair("Machine model name",
gpu_info.machine_model_name));
basic_info->Append(NewDescriptionValuePair("Machine model version",
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index 7312002..21498900 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -166,6 +166,7 @@ IPC_STRUCT_TRAITS_BEGIN(gpu::GPUInfo)
IPC_STRUCT_TRAITS_MEMBER(driver_date)
IPC_STRUCT_TRAITS_MEMBER(pixel_shader_version)
IPC_STRUCT_TRAITS_MEMBER(vertex_shader_version)
+ IPC_STRUCT_TRAITS_MEMBER(max_msaa_samples)
IPC_STRUCT_TRAITS_MEMBER(machine_model_name)
IPC_STRUCT_TRAITS_MEMBER(machine_model_version)
IPC_STRUCT_TRAITS_MEMBER(gl_version)
diff --git a/gpu/config/gpu_info.cc b/gpu/config/gpu_info.cc
index 2cba5d8..3653a10 100644
--- a/gpu/config/gpu_info.cc
+++ b/gpu/config/gpu_info.cc
@@ -79,6 +79,7 @@ void GPUInfo::EnumerateFields(Enumerator* enumerator) const {
std::string driver_date;
std::string pixel_shader_version;
std::string vertex_shader_version;
+ std::string max_msaa_samples;
std::string machine_model_name;
std::string machine_model_version;
std::string gl_version_string;
@@ -135,6 +136,7 @@ void GPUInfo::EnumerateFields(Enumerator* enumerator) const {
enumerator->AddString("driverDate", driver_date);
enumerator->AddString("pixelShaderVersion", pixel_shader_version);
enumerator->AddString("vertexShaderVersion", vertex_shader_version);
+ enumerator->AddString("maxMsaaSamples", max_msaa_samples);
enumerator->AddString("glVersion", gl_version);
enumerator->AddString("glVendor", gl_vendor);
enumerator->AddString("glRenderer", gl_renderer);
diff --git a/gpu/config/gpu_info.h b/gpu/config/gpu_info.h
index e5bef23..cbd8361 100644
--- a/gpu/config/gpu_info.h
+++ b/gpu/config/gpu_info.h
@@ -138,6 +138,10 @@ struct GPU_EXPORT GPUInfo {
// The version of the vertex shader used by the gpu.
std::string vertex_shader_version;
+ // The maximum multisapling sample count, either through ES3 or
+ // EXT_multisampled_render_to_texture MSAA.
+ std::string max_msaa_samples;
+
// The machine model identifier. They can contain any character, including
// whitespaces. Currently it is supported on MacOSX and Android.
// Android examples: "Naxus 5", "XT1032".
diff --git a/gpu/config/gpu_info_collector.cc b/gpu/config/gpu_info_collector.cc
index 521f2cd..c673057 100644
--- a/gpu/config/gpu_info_collector.cc
+++ b/gpu/config/gpu_info_collector.cc
@@ -12,6 +12,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_piece.h"
#include "base/strings/string_split.h"
+#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context.h"
@@ -101,6 +102,9 @@ CollectInfoResult CollectGraphicsInfoGL(GPUInfo* gpu_info) {
gpu_info->gl_extensions = GetGLString(GL_EXTENSIONS);
gpu_info->gl_version = GetGLString(GL_VERSION);
std::string glsl_version_string = GetGLString(GL_SHADING_LANGUAGE_VERSION);
+ GLint max_samples = 0;
+ glGetIntegerv(GL_MAX_SAMPLES, &max_samples);
+ gpu_info->max_msaa_samples = base::StringPrintf("%d", max_samples);
gfx::GLWindowSystemBindingInfo window_system_binding_info;
if (GetGLWindowSystemBindingInfo(&window_system_binding_info)) {
@@ -141,6 +145,8 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info,
context_gpu_info.pixel_shader_version;
basic_gpu_info->vertex_shader_version =
context_gpu_info.vertex_shader_version;
+ basic_gpu_info->max_msaa_samples =
+ context_gpu_info.max_msaa_samples;
basic_gpu_info->gl_ws_vendor = context_gpu_info.gl_ws_vendor;
basic_gpu_info->gl_ws_version = context_gpu_info.gl_ws_version;
basic_gpu_info->gl_ws_extensions = context_gpu_info.gl_ws_extensions;
diff --git a/gpu/config/gpu_info_unittest.cc b/gpu/config/gpu_info_unittest.cc
index 71d4e5c..1d5fa6e 100644
--- a/gpu/config/gpu_info_unittest.cc
+++ b/gpu/config/gpu_info_unittest.cc
@@ -19,6 +19,7 @@ TEST(GPUInfoBasicTest, EmptyGPUInfo) {
EXPECT_EQ(gpu_info.driver_date, "");
EXPECT_EQ(gpu_info.pixel_shader_version, "");
EXPECT_EQ(gpu_info.vertex_shader_version, "");
+ EXPECT_EQ(gpu_info.max_msaa_samples, "");
EXPECT_EQ(gpu_info.gl_version, "");
EXPECT_EQ(gpu_info.gl_vendor, "");
EXPECT_EQ(gpu_info.gl_renderer, "");