Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
As I explained in !41 (closed), the whole point of the app is to damage precisely only the ball area.
If weston-simple-damage provides wrong damage regions, that should be fixed, but not to full surface or buffer damage.
I think it is more likely that e.g. Weston does not handle the change of buffer transform etc. correctly unless the client also does full damage. This should be fixed in the compositor.
IIRC it worked in weston 3.0, but definitely not in 4.0.
If I understand you comment here and the ones in !41 (closed), especially !41 (comment 54445) right, than there are indeed problems in the damage behaviour in weston as also in mutter.
This is most visible when running weston-simple-damage --rotating-transform --use-viewport - in both compositors red parts of the texture get rendered, which should actually never happen. I'll investigate that further
Yes, it is a very corner-case test, and I would not take it for granted that the test itself is correct either. Normal clients don't do such things, which is why it has gone unattended for so long.
I appreciate the investigation, but don't worry if you cannot figure it out in a reasonable time. :-)
Alright, at least one issue seems to be in the client, see !51 (closed)
But the problems with surface-damage and viewporter remain - and seem to be issues in the compositors. Exciting! :)
Robert Maderchanged title from weston-simple-damage --rotating-transform broken to weston-simple-damage --rotating-transform uses wrong damage
changed title from weston-simple-damage --rotating-transform broken to weston-simple-damage --rotating-transform uses wrong damage
As I commented in !222 (closed), simple-damage seems to be totally broken in the presence of the viewport at least.
If anyone wants to fix it once and for all, I recommend a "refactor the hell out of it" approach, where you create static helper functions for everything that is now copied verbatim all over the file.
A fundamental mistake is to transform only x,y through scale/transform/viewport and then assume you can just add width,height to that to have your rectangle. That does not work, you have to transform two opposite corners of a rectangle individually, and then figure out what your x,y and width,height becomes. For an example, see weston_transformed_rect() in libweston/compositor.c.