Index: ui/ozone/platform/dri/dri_gpu_platform_support.cc |
diff --git a/ui/ozone/platform/dri/dri_gpu_platform_support.cc b/ui/ozone/platform/dri/dri_gpu_platform_support.cc |
index 13c16da2cd14a1af78f3f08dd8198ecd81ee7bd4..a9036b4a1f097aaff27e2fd0ed18707fc3654f1f 100644 |
--- a/ui/ozone/platform/dri/dri_gpu_platform_support.cc |
+++ b/ui/ozone/platform/dri/dri_gpu_platform_support.cc |
@@ -12,6 +12,7 @@ |
#include "ui/ozone/common/display_util.h" |
#include "ui/ozone/common/gpu/ozone_gpu_message_params.h" |
#include "ui/ozone/common/gpu/ozone_gpu_messages.h" |
+#include "ui/ozone/platform/dri/dri_helper_thread.h" |
#include "ui/ozone/platform/dri/dri_window_delegate_impl.h" |
#include "ui/ozone/platform/dri/dri_window_delegate_manager.h" |
#include "ui/ozone/platform/dri/native_display_delegate_dri.h" |
@@ -29,8 +30,10 @@ void MessageProcessedOnMain( |
class DriGpuPlatformSupportMessageFilter : public IPC::MessageFilter { |
public: |
DriGpuPlatformSupportMessageFilter(DriWindowDelegateManager* window_manager, |
+ DriHelperThread* helper_thread, |
IPC::Listener* main_thread_listener) |
: window_manager_(window_manager), |
+ helper_thread_(helper_thread), |
main_thread_listener_(main_thread_listener), |
main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
pending_main_thread_operations_(0), |
@@ -39,6 +42,8 @@ class DriGpuPlatformSupportMessageFilter : public IPC::MessageFilter { |
void OnFilterAdded(IPC::Sender* sender) override { |
io_thread_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
+ if (helper_thread_) |
alexst (slow to review)
2015/01/22 23:09:24
So it occurred to me, we shouldn't be passing the
dnicoara
2015/01/23 17:13:06
Done.
I've moved the helper thread in here and In
|
+ helper_thread_->Initialize(); |
} |
// This code is meant to be very temporary and only as a special case to fix |
@@ -148,6 +153,7 @@ class DriGpuPlatformSupportMessageFilter : public IPC::MessageFilter { |
} |
DriWindowDelegateManager* window_manager_; |
+ DriHelperThread* helper_thread_; |
IPC::Listener* main_thread_listener_; |
scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; |
scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner_; |
@@ -166,13 +172,15 @@ DriGpuPlatformSupport::DriGpuPlatformSupport( |
DriWrapper* drm, |
DriWindowDelegateManager* window_manager, |
ScreenManager* screen_manager, |
+ DriHelperThread* helper_thread, |
scoped_ptr<NativeDisplayDelegateDri> ndd) |
: sender_(NULL), |
drm_(drm), |
window_manager_(window_manager), |
screen_manager_(screen_manager), |
ndd_(ndd.Pass()) { |
- filter_ = new DriGpuPlatformSupportMessageFilter(window_manager, this); |
+ filter_ = new DriGpuPlatformSupportMessageFilter(window_manager, |
+ helper_thread, this); |
} |
DriGpuPlatformSupport::~DriGpuPlatformSupport() { |