Commit graph

29 commits

Author SHA1 Message Date
Martin Gräßlin
324aae916a [kwin] Drop testapp for detecting whether direct rendering works on glx
The main purpose of the opengl testapp was to set the environment
variable LIBGL_ALWAYS_INDIRECT if direct rendering is not supported
before glx gets initialized.

With Qt5 we may no longer set this environment variable. QtQuick
requires direct rendering. On IvyBridge QtQuick is crashing if the
variable is set. Thus we are no longer allowed to set it and thus the
complete test becomes pointless.

The test app basically whitelisted most drivers anyway, the only
drivers which were problematic are the proprietary Catalyst drivers.
It that's still a problem we can also disable OpenGL compositing on
those drivers through the recommendation in the GLPlatform.

This also means that the KWIN_DIRECT_GL variable is no longer useful.
2013-11-05 14:48:40 +01:00
Martin Gräßlin
fdd804bdf4 Remove GL context creation from CompositingPrefs
Whether creating the OpenGL context succeeds or not
had no influence in any decisions on the used settings
for OpenGL based compositing.

The only valid information CompositingPrefs still detects
is whether direct rendering should be used which is
performed out of process and does not require a context.

So overall the context creation is not needed and can
be removed.

REVIEW: 104778
2012-04-29 21:46:43 +02:00
Martin Gräßlin
2fc0b8074b Move detection of GLPlatform and printResults into Scene
This means the GLPlatform is filled with values from the
context actually used for Compositing and if XRender
compositing is used no OpenGL information is logged.
2012-04-29 21:44:35 +02:00
Martin Gräßlin
23708521c6 Make GLVSync a complete user controlled variable
There is no need to have it driver specific any more.
All drivers seem to support it (only Intel had been
opt-ed out without any apparent reason shown in commit log).

This was the last driver specific setting which means that
the method applyDriverSpecificSettings() got dropped from
CompositingPrefs.
2012-04-29 21:44:35 +02:00
Martin Gräßlin
bcbbf3c5a8 Drop recommendCompositing from CompositingPrefs
It's always true which means it's no longer needed.
2012-04-29 21:44:34 +02:00
Martin Gräßlin
d6540c8392 Remove strict binding from compositing prefs
Strict binding follows the driver (GLPlattform) unless
the user has a config value specified in the kwinrc.

For this a new property is added to Options to indicate
whether strict binding is user defined or follows the
driver. In case of driver the strict binding option is
set when OpenGL compositor starts up.
2012-04-29 21:44:34 +02:00
Martin Gräßlin
987bc837d9 Remove define KWIN_HAVE_OPENGL_COMPOSITING
Due to changes in build system we have always either OpenGL or OpenGL ES.
This allows to remove the KWIN_HAVE_OPENGL_COMPOSITING define. In the
effects the define is kept as KWIN_HAVE_OPENGL which can be used in
future to build also an XRender only effect system.
2011-08-13 16:46:43 +02:00
Martin Gräßlin
c3cf4482a3 Move GLX detection from kwinglobals to CompositingPrefs
Removes the Extension::glxAvailable() from kwinglobals and
implements the functionality in CompositingPrefs, where it
is only needed. There used to be one additional check in
scene_opengl_glx.cpp which is moved into composite.cpp
before the OpenGL Scene is created.

REVIEW: 102002
2011-07-27 18:34:31 +02:00
Thomas Lübking
364ce6fbfc Allow the user to rearm OpenGLIsUnsafe KWIn autocrash protection
Also add a usable "doesn't work why" info and WARN! the user about clicking the rearm button.
Merge "OpenGLIsUnsafe" and "CheckIsSafe" config keys
Move the entire checking into CompositingPrefs

BUG:250865
FIXED-IN:4.7
2011-05-11 20:16:08 +02:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
1b70279664 Removing Xgl support from KWin.
Xgl has been removed from the X tree in 2008. It does not make sense
to still support it in KWin.
2011-01-30 14:24:48 +01:00
Martin Gräßlin
c24fa39acb CompositingPrefs work with EGL 2011-01-30 14:12:01 +01:00
Martin Gräßlin
0f0509cbd9 Make it compile with EGL 2011-01-30 14:11:56 +01:00
Fredrik Höglund
13eaca37f4 Remove the driver detection code from CompositingPrefs, and use
the new GLPlatform class instead.

This change also enables loose binding with the R600 drivers
when DRI2 is being used.

svn path=/trunk/KDE/kdebase/workspace/; revision=1203402
2010-12-03 21:13:43 +00:00
Lucas Murray
8960c552d2 Remove OpenGL driver whitelist; Add protection against crashy glXQuery
functions and share the value with the KCM; Fallback to XRender
compositing if OpenGL fails to work correctly; Rearrange setting order
in options.h slightly and fix variable names

svn path=/trunk/KDE/kdebase/workspace/; revision=1079919
2010-01-25 10:02:08 +00:00
Luboš Luňák
7cef1eadd5 use recommendation from compositing prefs only if there's
no explicit choice (because of driver crashes)


svn path=/trunk/KDE/kdebase/workspace/; revision=1058248
2009-12-04 09:29:08 +00:00
Fredrik Höglund
37fbc26205 Enable OpenGL compositing by default with R600/R700 cards and Mesa 7.7+.
svn path=/trunk/KDE/kdebase/workspace/; revision=1058207
2009-12-04 08:58:54 +00:00
Andreas Hartmetz
601233bcc1 Treat CompositingPrefs::enableCompositing() merely as a recommendation again
like it was before. This makes it possible to enable compositing again on my
R600 hardware and other hardware that is not explicitly known to work.
I also think that CompositingPrefs::enableCompositing() is a (really) bad name:
it's not about user preferences and it's not definitive. So what about
CompositingHardware::isKnownToWork()?.

svn path=/trunk/KDE/kdebase/workspace/; revision=1058198
2009-12-04 08:31:28 +00:00
Luboš Luňák
5a7557fc6f Force OpenGL compositing to be off if OpenGL rendering is done in software
(second X session with Intel).


svn path=/trunk/KDE/kdebase/workspace/; revision=871752
2008-10-15 13:41:53 +00:00
Luboš Luňák
52f86e4a47 The context should probably be first unset from being current,
and also fix a possible leak.


svn path=/trunk/KDE/kdebase/workspace/; revision=764823
2008-01-22 17:04:41 +00:00
Luboš Luňák
5647e4684d Compositing always disabled by default for now.
svn path=/trunk/KDE/kdebase/workspace/; revision=756786
2008-01-03 19:10:44 +00:00
Luboš Luňák
bb433ac40e No longer include config*.h files in installed headers.
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Rivo Laks
c4e55307ce Show reason (extensions not available or kwin support disabled at compile time)
when compositing cannot be used.

svn path=/trunk/KDE/kdebase/workspace/; revision=735788
2007-11-12 16:32:25 +00:00
Luboš Luňák
fef0d1ff29 Detect xgl and whether to use strict binding.
svn path=/trunk/KDE/kdebase/workspace/; revision=726357
2007-10-17 15:37:14 +00:00
Rivo Laks
ebc378ba91 Enable compositing by default only for Intel cards that are known to work (only 945GM atm)
svn path=/trunk/KDE/kdebase/workspace/; revision=717759
2007-09-27 13:59:58 +00:00
Rivo Laks
68f7504fb0 - Add CompositingPrefs::compositingPossible() to check if compositing is supported at all.
- Use it in setupCompositing()

svn path=/trunk/KDE/kdebase/workspace/; revision=717330
2007-09-26 16:34:08 +00:00
Rivo Laks
43f4a6a15b Fix compilation when opengl isn't present
svn path=/trunk/KDE/kdebase/workspace/; revision=714021
2007-09-18 14:48:01 +00:00
Rivo Laks
59f21e39fe Add automatic driver detection for compositing options.
This is used to set sane defaults and work around possible driver bugs.
Also, if you have a "whitelisted" driver (nvidia >= 96.39 or intel >= 20061017)
  then compositing will be enabled by default for you.

svn path=/trunk/KDE/kdebase/workspace/; revision=714004
2007-09-18 13:59:06 +00:00