Merge lp:~smspillaz/compiz/gles2.fix_1001171 into lp:~compiz-linaro-team/compiz/gles2

Proposed by Sam Spilsbury
Status: Rejected
Rejected by: Sam Spilsbury
Proposed branch: lp:~smspillaz/compiz/gles2.fix_1001171
Merge into: lp:~compiz-linaro-team/compiz/gles2
Diff against target: 34 lines (+6/-3)
2 files modified
plugins/opengl/src/paint.cpp (+1/-0)
plugins/wall/src/wall.cpp (+5/-3)
To merge this branch: bzr merge lp:~smspillaz/compiz/gles2.fix_1001171
Reviewer Review Type Date Requested Status
Daniel van Vugt Needs Resubmitting
Alexandros Frantzis Pending
Review via email: mp+107521@code.launchpad.net

This proposal supersedes a proposal from 2012-05-26.

Description of the change

Fixes LP#1101171 ... at least for me.

1) Scale up the view matrix by 2 on each axis so that it matches the projection matrix when setting clip planes
2) Set the transformed bit on windows sliding on wall.

I am almost certain that #1 is the wrong approach here ... although I couldn't find anything else in the code that wasn't a value that it was supposed to be. Perhaps the projection matrix is setup differently?

#2 also shouldn't be necessary ... but is harmless and makes sense (moving windows ... different clip regions etc)

To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think it's in the right ballpark but:
1. Seems to cause weird decoration clipping bugs when sliding; and
2. I think using glScale is not ideal. (I will) try working it into the existing clipping calculation, or even figuring out what's wrong with the existing calculation in the context of the GLES branch.

review: Needs Fixing
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

> I think it's in the right ballpark but:
> 1. Seems to cause weird decoration clipping bugs when sliding; and

To be honest, I think we should disable clipping for all non shadow type decorations

> 2. I think using glScale is not ideal. (I will) try working it into the
> existing clipping calculation, or even figuring out what's wrong with the
> existing calculation in the context of the GLES branch.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Bug 1001171 is now fixed (slightly differently). Please propose the related wall (and decor?) fixes separately without reference to this bug.

review: Needs Resubmitting

Unmerged revisions

3229. By Sam Spilsbury

Scale the plane clipping up to the projection matrix space and always
set the transformed bit on moving windows in wall

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/opengl/src/paint.cpp'
2--- plugins/opengl/src/paint.cpp 2012-05-26 11:02:12 +0000
3+++ plugins/opengl/src/paint.cpp 2012-05-26 15:11:22 +0000
4@@ -431,6 +431,7 @@
5
6 glPushMatrix ();
7 glLoadMatrixf (transform.getMatrix ());
8+ glScalef (2.0f, 2.0f, 1.0f);
9
10 glClipPlane (GL_CLIP_PLANE0, top);
11 glClipPlane (GL_CLIP_PLANE1, bottom);
12
13=== modified file 'plugins/wall/src/wall.cpp'
14--- plugins/wall/src/wall.cpp 2012-05-26 12:52:04 +0000
15+++ plugins/wall/src/wall.cpp 2012-05-26 15:11:22 +0000
16@@ -1480,13 +1480,15 @@
17
18 status = glWindow->glPaint (pA, matrix, region, mask);
19 }
20- else if (ws->transform == Sliding && !isSliding)
21+
22+ if (ws->transform == Sliding)
23+ mask |= PAINT_WINDOW_TRANSFORMED_MASK;
24+
25+ if (ws->transform == Sliding && !isSliding)
26 {
27 GLMatrix wMatrix;
28
29 wMatrix.toScreenSpace (ws->currOutput, -DEFAULT_Z_CAMERA);
30- mask |= PAINT_WINDOW_TRANSFORMED_MASK;
31-
32 status = glWindow->glPaint (attrib, wMatrix, region, mask);
33 }
34 else

Subscribers

People subscribed via source and target branches