Report threaded rendering support in xcb when using event reader thread.

Threaded rendering had issues due to bugs in xcb before
xcb_poll_for_queued_event() was added. Now xcb_poll_for_queued_event()
is resolved at runtime and if present xcb events are received on a
separate thread.

Change-Id: I05420c8c9f9a20f41ce0f86ed255bc8b295e7fe5
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This commit is contained in:
Samuel Rødal 2012-11-07 16:20:20 +01:00 committed by The Qt Project
parent e24c8d1266
commit ede6412104
2 changed files with 3 additions and 1 deletions

View File

@ -376,6 +376,8 @@ public:
bool hasXRandr() const { return has_randr_extension; }
bool hasInputShape() const { return has_input_shape; }
bool supportsThreadedRendering() const { return m_reader->isRunning(); }
xcb_timestamp_t getTimestamp();
private slots:

View File

@ -214,7 +214,7 @@ bool QXcbIntegration::hasCapability(QPlatformIntegration::Capability cap) const
#else
case OpenGL: return false;
#endif
case ThreadedOpenGL: return false;
case ThreadedOpenGL: return m_connections.at(0)->supportsThreadedRendering();
case WindowMasks: return true;
case MultipleWindows: return true;
default: return QPlatformIntegration::hasCapability(cap);