fix logout effect shaderfile locations

CCBUG: 322136
REVIEW: 111600
icc-effect-5.14.5
Thomas Lübking 2013-07-19 14:19:27 +02:00
parent 7f858da008
commit 674a1a051f
7 changed files with 22 additions and 9 deletions

View File

@ -15,6 +15,13 @@ install( FILES
# Data files
install( FILES
logout/data/vignetting.frag
logout/data/logout-blur.frag
DESTINATION ${DATA_INSTALL_DIR}/kwin )
logout/data/1.10/vignetting.frag
logout/data/1.10/logout-blur.frag
DESTINATION ${DATA_INSTALL_DIR}/kwin/shaders/1.10
)
install( FILES
logout/data/1.40/vignetting.frag
logout/data/1.40/logout-blur.frag
DESTINATION ${DATA_INSTALL_DIR}/kwin/shaders/1.40
)

View File

@ -50,6 +50,7 @@ LogoutEffect::LogoutEffect()
, ignoredWindows()
, m_vignettingShader(NULL)
, m_blurShader(NULL)
, m_shadersDir("kwin/shaders/1.10/")
{
// Persistent effect
logoutAtom = XInternAtom(display(), "_KDE_LOGGING_OUT", False);
@ -71,6 +72,14 @@ LogoutEffect::LogoutEffect()
connect(effects, SIGNAL(windowClosed(KWin::EffectWindow*)), this, SLOT(slotWindowClosed(KWin::EffectWindow*)));
connect(effects, SIGNAL(windowDeleted(KWin::EffectWindow*)), this, SLOT(slotWindowDeleted(KWin::EffectWindow*)));
connect(effects, SIGNAL(propertyNotify(KWin::EffectWindow*,long)), this, SLOT(slotPropertyNotify(KWin::EffectWindow*,long)));
#ifdef KWIN_HAVE_OPENGLES
const qint64 coreVersionNumber = kVersionNumber(3, 0);
#else
const qint64 coreVersionNumber = kVersionNumber(1, 40);
#endif
if (GLPlatform::instance()->glslVersion() >= coreVersionNumber)
m_shadersDir = "kwin/shaders/1.40/";
}
LogoutEffect::~LogoutEffect()
@ -296,10 +305,8 @@ void LogoutEffect::renderVignetting()
return;
}
if (!m_vignettingShader) {
const char *shader = GLPlatform::instance()->glslVersion() >= kVersionNumber(1, 40) ?
"kwin/vignetting-140.frag" : "kwin/vignetting.frag";
m_vignettingShader = ShaderManager::instance()->loadFragmentShader(KWin::ShaderManager::ColorShader,
KGlobal::dirs()->findResource("data", shader));
KGlobal::dirs()->findResource("data", m_shadersDir + "vignetting.frag"));
if (!m_vignettingShader->isValid()) {
kDebug(1212) << "Vignetting Shader failed to load";
return;
@ -378,10 +385,8 @@ void LogoutEffect::renderBlurTexture()
return;
}
if (!m_blurShader) {
const char *shader = GLPlatform::instance()->glslVersion() >= kVersionNumber(1, 40) ?
"kwin/logout-blur-140.frag" : "kwin/logout-blur.frag";
m_blurShader = ShaderManager::instance()->loadFragmentShader(KWin::ShaderManager::SimpleShader,
KGlobal::dirs()->findResource("data", shader));
KGlobal::dirs()->findResource("data", m_shadersDir + "logout-blur.frag"));
if (!m_blurShader->isValid()) {
kDebug(1212) << "Logout blur shader failed to load";
}

View File

@ -82,6 +82,7 @@ private:
QHash< EffectWindow*, double > windowsOpacities;
GLShader *m_vignettingShader;
GLShader *m_blurShader;
QString m_shadersDir;
};
} // namespace