Bug 303093

Summary: Don't use OpenGL matrix stack in OpenGL 2 backend
Product: [Plasma] kwin Reporter: Martin Flöser <mgraesslin>
Component: scene-openglAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: task Flags: mgraesslin: ReviewRequest+
Priority: NOR    
Version: git master   
Target Milestone: 4.10   
Platform: unspecified   
OS: Linux   
URL: https://git.reviewboard.kde.org/r/105455/
Latest Commit: Version Fixed In: 4.10

Description Martin Flöser 2012-07-06 07:59:41 UTC
Currently the GL Matrix Stack is also used with OpenGL 2. That is pushMatrix, multMatrix and popMatrix are executed although this does not influence the rendering at all. The OpenGL 1 matrices are not passed to the shaders.

The OpenGL 2 stack can be improved by checking whether the shaders are used and not executing the legacy OpenGL call.
Comment 1 Martin Flöser 2012-07-22 08:15:57 UTC
Git commit 42678c60bd683bcaa54a9f192d92ea28df5ea3ba by Martin Gräßlin.
Committed on 06/07/2012 at 09:55.
Pushed by graesslin into branch 'master'.

Don't use GL Matrix Stack on OpenGL 2 backend

Currently the GL Matrix Stack is also used with OpenGL 2.
That is pushMatrix, multMatrix and popMatrix are executed
although this does not influence the rendering at all. The
OpenGL 1 matrices are not passed to the shaders.

With this change the calls to the matrix stack are no longer
executed if the Shader based backend is used. This means we
have a few less matrix multiplications in the rendering.

Mostly affects a few effects which have not yet completely be
ported over to OpenGL 2.
FIXED-IN: 4.10
REVIEW: 105455

M  +12   -0    kwin/libkwineffects/kwinglutils.cpp

http://commits.kde.org/kde-workspace/42678c60bd683bcaa54a9f192d92ea28df5ea3ba