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:
parent
e24c8d1266
commit
ede6412104
@ -376,6 +376,8 @@ public:
|
|||||||
bool hasXRandr() const { return has_randr_extension; }
|
bool hasXRandr() const { return has_randr_extension; }
|
||||||
bool hasInputShape() const { return has_input_shape; }
|
bool hasInputShape() const { return has_input_shape; }
|
||||||
|
|
||||||
|
bool supportsThreadedRendering() const { return m_reader->isRunning(); }
|
||||||
|
|
||||||
xcb_timestamp_t getTimestamp();
|
xcb_timestamp_t getTimestamp();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
@ -214,7 +214,7 @@ bool QXcbIntegration::hasCapability(QPlatformIntegration::Capability cap) const
|
|||||||
#else
|
#else
|
||||||
case OpenGL: return false;
|
case OpenGL: return false;
|
||||||
#endif
|
#endif
|
||||||
case ThreadedOpenGL: return false;
|
case ThreadedOpenGL: return m_connections.at(0)->supportsThreadedRendering();
|
||||||
case WindowMasks: return true;
|
case WindowMasks: return true;
|
||||||
case MultipleWindows: return true;
|
case MultipleWindows: return true;
|
||||||
default: return QPlatformIntegration::hasCapability(cap);
|
default: return QPlatformIntegration::hasCapability(cap);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user