summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnantanarayanan Iyengar <ananta@chromium.org>2015-03-10 19:42:14 -0700
committerAnantanarayanan Iyengar <ananta@chromium.org>2015-03-11 02:44:08 +0000
commit49f1920a3e174edd0efedb17ab09262d9f2fe05c (patch)
tree3f7c81b61472c3ddd35aaf3a1f7b802c5e4c0ca6
parent54beb8fcb7741de801f7cde5fbcf653f60a86d6d (diff)
downloadchromium_src-49f1920a3e174edd0efedb17ab09262d9f2fe05c.zip
chromium_src-49f1920a3e174edd0efedb17ab09262d9f2fe05c.tar.gz
chromium_src-49f1920a3e174edd0efedb17ab09262d9f2fe05c.tar.bz2
Reverting this to see if this is the cause of the XP test redness. Will reland if this is not the case.
http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29 Revert "Add ANGLE Platform implementation." This reverts commit efe950c2db75b0cfd043e068a4cfc68ab393dac4. R=jmadill@chromium.org BUG= Review URL: https://codereview.chromium.org/999623003 Cr-Commit-Position: refs/heads/master@{#320036}
-rw-r--r--ash/ash_unittests.isolate1
-rw-r--r--cc/cc_unittests.isolate1
-rw-r--r--chrome/sync_integration_tests.isolate1
-rw-r--r--chrome/unit_tests.isolate1
-rw-r--r--components/components_unittests.isolate1
-rw-r--r--content/content_browsertests.isolate1
-rw-r--r--content/content_gpu.gypi5
-rw-r--r--content/content_unittests.isolate1
-rw-r--r--content/gpu/gpu_main.cc19
-rw-r--r--extensions/extensions_browsertests.isolate1
-rw-r--r--gpu/gpu_unittests.isolate1
-rw-r--r--tools/metrics/histograms/histograms.xml40
-rw-r--r--ui/gl/BUILD.gn4
-rw-r--r--ui/gl/DEPS6
-rw-r--r--ui/gl/angle_platform_impl.cc50
-rw-r--r--ui/gl/angle_platform_impl.h39
-rw-r--r--ui/gl/gl.gyp7
-rw-r--r--ui/gl/gl_implementation_win.cc14
18 files changed, 16 insertions, 177 deletions
diff --git a/ash/ash_unittests.isolate b/ash/ash_unittests.isolate
index 40e3e79..319dfc7 100644
--- a/ash/ash_unittests.isolate
+++ b/ash/ash_unittests.isolate
@@ -64,6 +64,5 @@
],
'includes': [
'../base/base.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/cc/cc_unittests.isolate b/cc/cc_unittests.isolate
index f4a6f45..eab3396 100644
--- a/cc/cc_unittests.isolate
+++ b/cc/cc_unittests.isolate
@@ -89,6 +89,5 @@
],
'includes': [
'../base/base.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/chrome/sync_integration_tests.isolate b/chrome/sync_integration_tests.isolate
index 06741e3..abecb56 100644
--- a/chrome/sync_integration_tests.isolate
+++ b/chrome/sync_integration_tests.isolate
@@ -108,6 +108,5 @@
'includes': [
'../base/base.isolate',
'../gin/v8.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/chrome/unit_tests.isolate b/chrome/unit_tests.isolate
index 33821eb..715e1fe 100644
--- a/chrome/unit_tests.isolate
+++ b/chrome/unit_tests.isolate
@@ -157,6 +157,5 @@
'includes': [
'../base/base.isolate',
'../gin/v8.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/components/components_unittests.isolate b/components/components_unittests.isolate
index 07e1e0f..fc3491d 100644
--- a/components/components_unittests.isolate
+++ b/components/components_unittests.isolate
@@ -93,6 +93,5 @@
],
'includes': [
'../base/base.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/content/content_browsertests.isolate b/content/content_browsertests.isolate
index aa24c23..84379d6 100644
--- a/content/content_browsertests.isolate
+++ b/content/content_browsertests.isolate
@@ -141,6 +141,5 @@
'includes': [
'../base/base.isolate',
'../gin/v8.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/content/content_gpu.gypi b/content/content_gpu.gypi
index 1c2121d..af0c47f 100644
--- a/content/content_gpu.gypi
+++ b/content/content_gpu.gypi
@@ -26,10 +26,13 @@
['OS=="win"', {
'include_dirs': [
'<(DEPTH)/third_party/khronos',
- # ANGLE libs picked up from ui/gl
'<(angle_path)/src',
'<(DEPTH)/third_party/wtl/include',
],
+ 'dependencies': [
+ '<(angle_path)/src/angle.gyp:libEGL',
+ '<(angle_path)/src/angle.gyp:libGLESv2',
+ ],
'link_settings': {
'libraries': [
'-lsetupapi.lib',
diff --git a/content/content_unittests.isolate b/content/content_unittests.isolate
index 07ac6e7..f61a3e1 100644
--- a/content/content_unittests.isolate
+++ b/content/content_unittests.isolate
@@ -109,6 +109,5 @@
'includes': [
'../base/base.isolate',
'../gin/v8.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index 76a6020..b34d42f 100644
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -12,7 +12,6 @@
#include "base/lazy_instance.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
-#include "base/metrics/statistics_recorder.h"
#include "base/rand_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
@@ -215,14 +214,14 @@ int GpuMain(const MainFunctionParams& parameters) {
watchdog_thread->StartWithOptions(options);
}
- // Initializes StatisticsRecorder which tracks UMA histograms.
- base::StatisticsRecorder::Initialize();
-
gpu::GPUInfo gpu_info;
// Get vendor_id, device_id, driver_version from browser process through
// commandline switches.
GetGpuInfoFromCommandLine(gpu_info, command_line);
+ base::TimeDelta collect_context_time;
+ base::TimeDelta initialize_one_off_time;
+
// Warm up resources that don't need access to GPUInfo.
if (WarmUpSandbox(command_line)) {
#if defined(OS_LINUX)
@@ -294,18 +293,15 @@ int GpuMain(const MainFunctionParams& parameters) {
#endif // !defined(OS_CHROMEOS)
#endif // defined(OS_LINUX)
#endif // !defined(OS_MACOSX)
- base::TimeDelta collect_context_time =
+ collect_context_time =
base::TimeTicks::Now() - before_collect_context_graphics_info;
- UMA_HISTOGRAM_TIMES("GPU.CollectContextGraphicsInfo",
- collect_context_time);
} else { // gl_initialized
VLOG(1) << "gfx::GLSurface::InitializeOneOff failed";
dead_on_arrival = true;
}
- base::TimeDelta initialize_one_off_time =
+ initialize_one_off_time =
base::TimeTicks::Now() - before_initialize_one_off;
- UMA_HISTOGRAM_TIMES("GPU.InitializeOneOffTime", initialize_one_off_time);
if (enable_watchdog && delayed_watchdog_enable) {
watchdog_thread = new GpuWatchdogThread(kGpuTimeout);
@@ -346,6 +342,11 @@ int GpuMain(const MainFunctionParams& parameters) {
GpuProcess gpu_process;
+ // These UMA must be stored after GpuProcess is constructed as it
+ // initializes StatisticsRecorder which tracks the histograms.
+ UMA_HISTOGRAM_TIMES("GPU.CollectContextGraphicsInfo", collect_context_time);
+ UMA_HISTOGRAM_TIMES("GPU.InitializeOneOffTime", initialize_one_off_time);
+
GpuChildThread* child_thread = new GpuChildThread(watchdog_thread.get(),
dead_on_arrival,
gpu_info,
diff --git a/extensions/extensions_browsertests.isolate b/extensions/extensions_browsertests.isolate
index 9681fbe..a8a6fb1 100644
--- a/extensions/extensions_browsertests.isolate
+++ b/extensions/extensions_browsertests.isolate
@@ -74,6 +74,5 @@
'includes': [
'../base/base.isolate',
'../gin/v8.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/gpu/gpu_unittests.isolate b/gpu/gpu_unittests.isolate
index 9f4c87a..a718aac 100644
--- a/gpu/gpu_unittests.isolate
+++ b/gpu/gpu_unittests.isolate
@@ -72,6 +72,5 @@
],
'includes': [
'../base/base.isolate',
- '../third_party/angle/angle.isolate',
],
}
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 17b5809..b9c3c70 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -10861,22 +10861,6 @@ Therefore, the affected-histogram name has to have at least one dot in it.
</summary>
</histogram>
-<histogram name="GPU.ANGLE.D3D11InitializeResult" enum="D3D11InitializeResult">
- <owner>jmadill@chromium.org</owner>
- <summary>
- The result from initializing a D3D11 device in ANGLE. Can be success, or one
- of several error codes which indicate different reasons for failing.
- </summary>
-</histogram>
-
-<histogram name="GPU.ANGLE.D3D9InitializeResult" enum="D3D9InitializeResult">
- <owner>jmadill@chromium.org</owner>
- <summary>
- The result from initializing a D3D9 device in ANGLE. Can be success, or one
- of several error codes which indicate different reasons for failing.
- </summary>
-</histogram>
-
<histogram name="GPU.CollectContextGraphicsInfo" units="microseconds">
<owner>vangelis@chromium.org</owner>
<summary>
@@ -10898,8 +10882,7 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<owner>jmadill@chromium.org</owner>
<summary>
ANGLE's currently active D3D shader model version. Logged once every startup
- of the GPU process, on Windows only. Note that Shader Models 2 and 3 map to
- D3D9 with ANGLE, and 4+ map to D3D11 ANGLE.
+ of the GPU process, on Windows only.
</summary>
</histogram>
@@ -46074,27 +46057,6 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="2" label="Has enough SCTs"/>
</enum>
-<enum name="D3D11InitializeResult" type="int">
- <int value="0" label="Success"/>
- <int value="1" label="Error initializing compiler"/>
- <int value="2" label="Missing DLL dependency"/>
- <int value="3" label="D3D11CreateDevice returned E_INVALIDARG"/>
- <int value="4" label="D3D11CreateDevice returned other error"/>
- <int value="5" label="DXGI version not supported"/>
- <int value="6" label="Other initialization error"/>
-</enum>
-
-<enum name="D3D9InitializeResult" type="int">
- <int value="0" label="Success"/>
- <int value="1" label="Error initializing compiler"/>
- <int value="2" label="Missing DLL dependency"/>
- <int value="3" label="Error creating device"/>
- <int value="4" label="Shader version not supported"/>
- <int value="5" label="StretchRect from textures not supported"/>
- <int value="6" label="Device lost of out-of-memory error"/>
- <int value="7" label="Other initialization error"/>
-</enum>
-
<enum name="DailyEventIntervalType" type="int">
<int value="0" label="First Run"/>
<int value="1" label="Day Elapsed"/>
diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
index 88b4c36..12a44cc 100644
--- a/ui/gl/BUILD.gn
+++ b/ui/gl/BUILD.gn
@@ -183,8 +183,6 @@ component("gl") {
}
if (is_win) {
sources += [
- "angle_platform_impl.cc",
- "angle_platform_impl.h",
"gl_bindings_autogen_wgl.cc",
"gl_bindings_autogen_wgl.h",
"gl_context_wgl.cc",
@@ -197,8 +195,6 @@ component("gl") {
"gl_wgl_api_implementation.h",
]
- deps += [ "//third_party/angle:libGLESv2" ]
-
libs = [ "dwmapi.lib" ]
ldflags = [ "/DELAYLOAD:dwmapi.dll" ]
}
diff --git a/ui/gl/DEPS b/ui/gl/DEPS
index e582c0d..862c555 100644
--- a/ui/gl/DEPS
+++ b/ui/gl/DEPS
@@ -12,9 +12,5 @@ specific_include_rules = {
# get access to desktop OpenGL.
"gl_surface_osmesa.cc": [
"+third_party/mesa/src/include/GL/osmesa.h",
- ],
-# Allow us to include ANGLE's base platform implementation.
- "angle_platform_impl.h": [
- "+third_party/angle/include/platform/Platform.h",
- ],
+ ]
}
diff --git a/ui/gl/angle_platform_impl.cc b/ui/gl/angle_platform_impl.cc
deleted file mode 100644
index 2ce12b8..0000000
--- a/ui/gl/angle_platform_impl.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/gl/angle_platform_impl.h"
-
-#include "base/metrics/histogram.h"
-#include "base/metrics/sparse_histogram.h"
-
-namespace gfx {
-
-ANGLEPlatformImpl::ANGLEPlatformImpl() {
-}
-
-ANGLEPlatformImpl::~ANGLEPlatformImpl() {
-}
-
-void ANGLEPlatformImpl::histogramCustomCounts(const char* name,
- int sample,
- int min,
- int max,
- int bucket_count) {
- // Copied from histogram macro, but without the static variable caching
- // the histogram because name is dynamic.
- base::HistogramBase* counter = base::Histogram::FactoryGet(
- name, min, max, bucket_count,
- base::HistogramBase::kUmaTargetedHistogramFlag);
- DCHECK_EQ(name, counter->histogram_name());
- counter->Add(sample);
-}
-
-void ANGLEPlatformImpl::histogramEnumeration(const char* name,
- int sample,
- int boundary_value) {
- // Copied from histogram macro, but without the static variable caching
- // the histogram because name is dynamic.
- base::HistogramBase* counter = base::LinearHistogram::FactoryGet(
- name, 1, boundary_value, boundary_value + 1,
- base::HistogramBase::kUmaTargetedHistogramFlag);
- DCHECK_EQ(name, counter->histogram_name());
- counter->Add(sample);
-}
-
-void ANGLEPlatformImpl::histogramSparse(const char* name, int sample) {
- // For sparse histograms, we can use the macro, as it does not incorporate a
- // static.
- UMA_HISTOGRAM_SPARSE_SLOWLY(name, sample);
-}
-
-} // namespace gfx
diff --git a/ui/gl/angle_platform_impl.h b/ui/gl/angle_platform_impl.h
deleted file mode 100644
index 2d12f60..0000000
--- a/ui/gl/angle_platform_impl.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef UI_GL_ANGLE_PLATFORM_IMPL_H_
-#define UI_GL_ANGLE_PLATFORM_IMPL_H_
-
-// Implements the ANGLE platform interface, for functionality like
-// histograms and trace profiling.
-
-#include "base/macros.h"
-#include "third_party/angle/include/platform/Platform.h"
-
-namespace gfx {
-
-// Derives the base ANGLE platform and provides implementations
-class ANGLEPlatformImpl : public angle::Platform {
- public:
- ANGLEPlatformImpl();
- ~ANGLEPlatformImpl() override;
-
- // angle::Platform:
- void histogramCustomCounts(const char* name,
- int sample,
- int min,
- int max,
- int bucket_count) override;
- void histogramEnumeration(const char* name,
- int sample,
- int boundary_value) override;
- void histogramSparse(const char* name, int sample) override;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ANGLEPlatformImpl);
-};
-
-} // namespace gfx
-
-#endif // UI_GL_ANGLE_PLATFORM_IMPL_H_
diff --git a/ui/gl/gl.gyp b/ui/gl/gl.gyp
index d62950a..05381078 100644
--- a/ui/gl/gl.gyp
+++ b/ui/gl/gl.gyp
@@ -186,8 +186,6 @@
}],
['OS=="win"', {
'sources': [
- 'angle_platform_impl.cc',
- 'angle_platform_impl.h',
'gl_bindings_autogen_wgl.cc',
'gl_bindings_autogen_wgl.h',
'gl_context_wgl.cc',
@@ -199,11 +197,6 @@
'gl_wgl_api_implementation.cc',
'gl_wgl_api_implementation.h',
],
- 'dependencies': [
- # TODO(jmadill): Use ANGLE on other platforms.
- '<(angle_path)/src/angle.gyp:libEGL',
- '<(angle_path)/src/angle.gyp:libGLESv2',
- ],
'msvs_settings': {
'VCLinkerTool': {
'DelayLoadDLLs': [
diff --git a/ui/gl/gl_implementation_win.cc b/ui/gl/gl_implementation_win.cc
index 618250d..477f5a5 100644
--- a/ui/gl/gl_implementation_win.cc
+++ b/ui/gl/gl_implementation_win.cc
@@ -9,7 +9,6 @@
#include "base/bind.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
-#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/native_library.h"
#include "base/path_service.h"
@@ -17,8 +16,6 @@
#include "base/threading/thread_restrictions.h"
#include "base/trace_event/trace_event.h"
#include "base/win/windows_version.h"
-// TODO(jmadill): Apply to all platforms eventually
-#include "ui/gl/angle_platform_impl.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context_stub_with_extensions.h"
#include "ui/gl/gl_egl_api_implementation.h"
@@ -100,10 +97,6 @@ typedef void (__stdcall *SetTraceFunctionPointersFunc)(
GetCategoryEnabledFlagFunc get_category_enabled_flag,
AddTraceEventFunc add_trace_event_func);
-// TODO(jmadill): Apply to all platforms eventually
-base::LazyInstance<ANGLEPlatformImpl> g_angle_platform_impl =
- LAZY_INSTANCE_INITIALIZER;
-
} // namespace
void GetAllowedGLImplementations(std::vector<GLImplementation>* impls) {
@@ -118,10 +111,6 @@ bool InitializeStaticGLBindings(GLImplementation implementation) {
// later switch to another GL implementation.
DCHECK_EQ(kGLImplementationNone, GetGLImplementation());
- // Init ANGLE platform here, before we call GetPlatformDisplay().
- // TODO(jmadill): Apply to all platforms eventually
- angle::Platform::initialize(&g_angle_platform_impl.Get());
-
// Allow the main thread or another to initialize these bindings
// after instituting restrictions on I/O. Going forward they will
// likely be used in the browser process on most platforms. The
@@ -359,9 +348,6 @@ void InitializeDebugGLBindings() {
}
void ClearGLBindings() {
- // TODO(jmadill): Apply to all platforms eventually
- angle::Platform::shutdown();
-
ClearGLBindingsEGL();
ClearGLBindingsGL();
ClearGLBindingsOSMESA();