Commit 2f3d2af6 authored by Tom Anderson's avatar Tom Anderson Committed by Commit Bot

[XProto] Remove most Xlib usage from x11_display_util

BUG=1066670
R=msisov
CC=sky

Change-Id: I7072c4511358f992e373450c6100fe0b63b31551
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2210822Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarMaksim Sisov <msisov@igalia.com>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771113}
parent 008f5f08
This diff is collapsed.
...@@ -33,7 +33,7 @@ std::vector<display::Display> BuildDisplaysFromXRandRInfo( ...@@ -33,7 +33,7 @@ std::vector<display::Display> BuildDisplaysFromXRandRInfo(
// Returns the refresh interval of the primary display. If there is no connected // Returns the refresh interval of the primary display. If there is no connected
// primary display, returns the refresh interval of the first connected display. // primary display, returns the refresh interval of the first connected display.
COMPONENT_EXPORT(UI_BASE_X) COMPONENT_EXPORT(UI_BASE_X)
base::TimeDelta GetPrimaryDisplayRefreshIntervalFromXrandr(Display* display); base::TimeDelta GetPrimaryDisplayRefreshIntervalFromXrandr();
} // namespace ui } // namespace ui
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "ui/base/x/x11_display_util.h" #include "ui/base/x/x11_display_util.h"
#include "ui/gfx/x/randr.h"
#include "ui/gfx/x/x11.h" #include "ui/gfx/x/x11.h"
#include "ui/gfx/x/xproto.h" #include "ui/gfx/x/xproto.h"
#include "ui/gl/egl_util.h" #include "ui/gl/egl_util.h"
...@@ -17,12 +18,12 @@ namespace { ...@@ -17,12 +18,12 @@ namespace {
class XrandrIntervalOnlyVSyncProvider : public gfx::VSyncProvider { class XrandrIntervalOnlyVSyncProvider : public gfx::VSyncProvider {
public: public:
explicit XrandrIntervalOnlyVSyncProvider(Display* display) explicit XrandrIntervalOnlyVSyncProvider(Display* display)
: display_(display), interval_(base::TimeDelta::FromSeconds(1 / 60.)) {} : interval_(base::TimeDelta::FromSeconds(1 / 60.)) {}
void GetVSyncParameters(UpdateVSyncCallback callback) override { void GetVSyncParameters(UpdateVSyncCallback callback) override {
if (++calls_since_last_update_ >= kCallsBetweenUpdates) { if (++calls_since_last_update_ >= kCallsBetweenUpdates) {
calls_since_last_update_ = 0; calls_since_last_update_ = 0;
interval_ = ui::GetPrimaryDisplayRefreshIntervalFromXrandr(display_); interval_ = ui::GetPrimaryDisplayRefreshIntervalFromXrandr();
} }
base::ThreadTaskRunnerHandle::Get()->PostTask( base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, FROM_HERE,
...@@ -37,7 +38,6 @@ class XrandrIntervalOnlyVSyncProvider : public gfx::VSyncProvider { ...@@ -37,7 +38,6 @@ class XrandrIntervalOnlyVSyncProvider : public gfx::VSyncProvider {
bool IsHWClock() const override { return false; } bool IsHWClock() const override { return false; }
private: private:
Display* const display_ = nullptr;
base::TimeDelta interval_; base::TimeDelta interval_;
static const int kCallsBetweenUpdates = 100; static const int kCallsBetweenUpdates = 100;
int calls_since_last_update_ = kCallsBetweenUpdates; int calls_since_last_update_ = kCallsBetweenUpdates;
......
...@@ -324,8 +324,7 @@ class SGIVideoSyncProviderThreadShim { ...@@ -324,8 +324,7 @@ class SGIVideoSyncProviderThreadShim {
if (!vsync_thread_->GetGLXContext() || cancel_vsync_flag_.IsSet()) if (!vsync_thread_->GetGLXContext() || cancel_vsync_flag_.IsSet())
return; return;
base::TimeDelta interval = ui::GetPrimaryDisplayRefreshIntervalFromXrandr( base::TimeDelta interval = ui::GetPrimaryDisplayRefreshIntervalFromXrandr();
vsync_thread_->GetDisplay());
glXMakeContextCurrent(vsync_thread_->GetDisplay(), glx_window_, glx_window_, glXMakeContextCurrent(vsync_thread_->GetDisplay(), glx_window_, glx_window_,
vsync_thread_->GetGLXContext()); vsync_thread_->GetGLXContext());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment