)]}'
{"id":"libgfxinit~546","triplet_id":"libgfxinit~main~Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93","project":"libgfxinit","branch":"main","attention_set":{},"removed_from_attention_set":{"1000002":{"account":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"last_update":"2026-07-29 15:19:48.000000000","reason":"\u003cGERRIT_ACCOUNT_1000002\u003e replied on the change","reason_account":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}},"1000000":{"account":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"last_update":"2026-07-30 06:49:31.000000000","reason":"Change was submitted"},"1000029":{"account":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"last_update":"2026-07-29 12:24:06.000000000","reason":"removed on reply"}},"hashtags":[],"change_id":"Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93","subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","status":"MERGED","created":"2026-07-02 12:22:40.000000000","updated":"2026-07-30 06:49:31.000000000","submitted":"2026-07-30 06:49:31.000000000","submitter":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":33,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"547","meta_rev_id":"0d29486b093fd044b1299b832b0d697b96eb9a91","_number":546,"virtual_id_number":546,"owner":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"tag":"autogenerated:gerrit:merged","value":2,"date":"2026-07-30 06:49:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-2":"This shall not be submitted","-1":"I would prefer this is not submitted as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"default_value":0},"Verified":{"approved":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":0,"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2026-07-30 06:49:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-02 12:26:14.000000000","updated_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2026-07-02 14:13:29.000000000","updated_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"},{"updated":"2026-07-03 18:00:10.000000000","updated_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"CC"},{"updated":"2026-07-03 18:06:56.000000000","updated_by":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"}],"messages":[{"id":"190e7b366f911ef5a9ad62e0e70158db1647cbc3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-02 12:22:40.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"cfdf4bd06395c107c5b782c370a942b0c033c9fb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-02 13:05:08.000000000","message":"Uploaded patch set 2: New patch set was added with same tree, parent tree, and commit message as Patch Set 1.","accounts_in_message":[],"_revision_number":2},{"id":"8581cf351e6d744598d05505d0defe958c18c150","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-02 14:11:26.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"6ff5c44ecc342f34a126e584f548ac48b148af06","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-02 14:22:29.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"54c0135ff666c3fbc64cac0d7a883c09edc588a5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-03 10:57:35.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"0f37c699792e80e7a83d564455c6038d9d491c19","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-03 11:04:03.000000000","message":"Patch Set 4:\n\n(8 comments)","accounts_in_message":[],"_revision_number":4},{"id":"b8726d217299741a7c5173e49857989d2f6fe03e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-03 12:57:40.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.","accounts_in_message":[],"_revision_number":5},{"id":"13f43f73d396b5856e21c0fbac8b1eec2faed34c","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-03 18:06:56.000000000","message":"Patch Set 5: Verified+1","accounts_in_message":[],"_revision_number":5},{"id":"c913355f77693228b8a08201d1927a2f49ead368","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-06 08:48:46.000000000","message":"Patch Set 5:\n\n(3 comments)","accounts_in_message":[],"_revision_number":5},{"id":"96002d02c80bd23329b381be10ee8d60a5d2ee4b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-06 14:30:04.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.\n\nCopied Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR **changekind:TRIVIAL_REBASE**\")\n","accounts_in_message":[],"_revision_number":6},{"id":"8b061afe2b46473049a8b49161054e01e1631316","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-06 14:56:43.000000000","message":"Uploaded patch set 7: Patch Set 6 was rebased.\n\nCopied Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR **changekind:TRIVIAL_REBASE**\")\n","accounts_in_message":[],"_revision_number":7},{"id":"fdc0b59d96ee7b0fef26241165355f4c4864902b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-06 16:16:11.000000000","message":"Uploaded patch set 8: Patch Set 7 was rebased.\n\nCopied Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR **changekind:TRIVIAL_REBASE**\")\n","accounts_in_message":[],"_revision_number":8},{"id":"b3e116da78c7112c4a430b0f43e215f40b3af8de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-08 15:18:22.000000000","message":"Uploaded patch set 9.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n","accounts_in_message":[],"_revision_number":9},{"id":"4db66d90804a89ad6e6b9622fc106eb2e9d48393","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-08 15:27:28.000000000","message":"Patch Set 9: Verified+1","accounts_in_message":[],"_revision_number":9},{"id":"df67fa084484cd7f6eb147dcd4c0c096177e2199","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-08 15:35:23.000000000","message":"Uploaded patch set 10.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n","accounts_in_message":[],"_revision_number":10},{"id":"364d7c123a8dfb8d09e5ba7f8b38cc7f42e32dc0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-08 15:41:05.000000000","message":"Uploaded patch set 11: Patch Set 10 was rebased.","accounts_in_message":[],"_revision_number":11},{"id":"650e54bc96254c96bd561056f42608d7c7572a59","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-08 15:41:39.000000000","message":"Patch Set 10: Verified+1\n\nCopied votes on follow-up patch sets have been updated:\n* Verified+1 has been copied to patch set 11 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\").","accounts_in_message":[],"_revision_number":10},{"id":"4474a0f9775f11a201e5f8f1b11b584e91336673","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-09 08:27:06.000000000","message":"Patch Set 11:\n\n(3 comments)","accounts_in_message":[],"_revision_number":11},{"id":"6b646484b452b5bf39807527aad1d85a4f647839","author":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-28 10:29:20.000000000","message":"Patch Set 11:\n\n(4 comments)","accounts_in_message":[],"_revision_number":11},{"id":"65cc934ebd24f8cf1d4dc180dfcca351a2c332e0","author":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-28 11:45:53.000000000","message":"Patch Set 11:\n\n(3 comments)","accounts_in_message":[],"_revision_number":11},{"id":"605ac4d9831edd76588132dccec1dff29017f097","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-29 12:17:40.000000000","message":"Uploaded patch set 12.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"changekind:NO_CHANGE OR changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n","accounts_in_message":[],"_revision_number":12},{"id":"fc397ca2471a4a4de1bf34f7adc1837e3ccbbd62","author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-29 12:24:06.000000000","message":"Patch Set 12:\n\n(1 comment)","accounts_in_message":[],"_revision_number":12},{"id":"1707029973d92fb888f625c03e04969c1c893a12","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-29 12:28:45.000000000","message":"Patch Set 12: Verified+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":12},{"id":"66d6909c33fae9f1f2cf6f345a0c97b1aa3fcbee","author":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-29 15:19:48.000000000","message":"Patch Set 12: Code-Review+2\n\n(7 comments)","accounts_in_message":[],"_revision_number":12},{"id":"0d29486b093fd044b1299b832b0d697b96eb9a91","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2026-07-30 06:49:31.000000000","message":"Change has been successfully rebased and submitted as 5903f92851ed2ce813b96c4fe8874563f65691e1","accounts_in_message":[],"_revision_number":13}],"current_revision_number":13,"current_revision":"5903f92851ed2ce813b96c4fe8874563f65691e1","revisions":{"7e79ace516aacabc45c6a7d65c5e9927c0340410":{"kind":"REWORK","_number":1,"created":"2026-07-02 12:22:40.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/1","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/1","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"e76901c231c507eeecbc5f057ccf830c02843554","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/e76901c231c507eeecbc5f057ccf830c02843554"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-02 12:22:16.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90Â steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/7e79ace516aacabc45c6a7d65c5e9927c0340410"}]},"branch":"refs/heads/main"},"081d2232025d8aa08d8e89d20c66567125ec80d7":{"kind":"NO_CHANGE","_number":2,"created":"2026-07-02 13:05:08.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/2","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/2","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"5d83eb83a27855768fa269a1d1a8d53726d3ed6a","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/5d83eb83a27855768fa269a1d1a8d53726d3ed6a"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-02 13:01:21.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90Â steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/081d2232025d8aa08d8e89d20c66567125ec80d7"}]},"branch":"refs/heads/main"},"8e3b79a6e38a9f86d73c15541ab5140bc98e302f":{"kind":"REWORK","_number":3,"created":"2026-07-02 14:11:26.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/3","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/3","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"66d82b5d05cf6a5e30544ea87e7befc9e4e7335e","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/66d82b5d05cf6a5e30544ea87e7befc9e4e7335e"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-02 14:05:24.000000000","tz":0},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90Â steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/8e3b79a6e38a9f86d73c15541ab5140bc98e302f"}]},"branch":"refs/heads/main"},"3978e4c65197bb03641bb538677d07b287f35ea7":{"kind":"REWORK","_number":4,"created":"2026-07-03 10:57:35.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/4","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/4","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/4 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"f8dfec402700ffa6800b78184b691e4b0c577ab5","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/f8dfec402700ffa6800b78184b691e4b0c577ab5"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-03 10:56:50.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/3978e4c65197bb03641bb538677d07b287f35ea7"}]},"branch":"refs/heads/main"},"6f0253161c949015adf0f5768b557d34a3509dc2":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-07-03 12:57:40.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/5","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/5","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/5 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"18a915f964b15a3af2fcd977bc36389dc59fde5b","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/18a915f964b15a3af2fcd977bc36389dc59fde5b"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-03 12:57:36.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/6f0253161c949015adf0f5768b557d34a3509dc2"}]},"branch":"refs/heads/main"},"add9deb2206a1808c5d3be977e616f5b6b9988a3":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2026-07-06 14:30:04.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/6","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/6","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/6 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"d867e3a364350e98ec1ed8ef622a45cc115752ae","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/d867e3a364350e98ec1ed8ef622a45cc115752ae"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-06 14:18:42.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/add9deb2206a1808c5d3be977e616f5b6b9988a3"}]},"branch":"refs/heads/main"},"0cc119ed51a5b6e410785242ff85327a04d8cb4c":{"kind":"TRIVIAL_REBASE","_number":7,"created":"2026-07-06 14:56:43.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/7","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/7","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/7 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"8fe74216f110d9744d9a783194b48dd6418ed02e","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/8fe74216f110d9744d9a783194b48dd6418ed02e"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-06 14:55:05.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/0cc119ed51a5b6e410785242ff85327a04d8cb4c"}]},"branch":"refs/heads/main"},"d17c3593dcbfed8b0c0713f4d9651efcb3ec20e6":{"kind":"TRIVIAL_REBASE","_number":8,"created":"2026-07-06 16:16:11.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/8","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/8","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/8 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"7c94ea1b97f4dd5e9e2ce1b8bb5c4b4dbbd8c4d0","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/7c94ea1b97f4dd5e9e2ce1b8bb5c4b4dbbd8c4d0"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-06 16:15:48.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/d17c3593dcbfed8b0c0713f4d9651efcb3ec20e6"}]},"branch":"refs/heads/main"},"09a00a0c36ed02e9c49f0ef59b180965ed2f3bfc":{"kind":"REWORK","_number":9,"created":"2026-07-08 15:18:22.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/9","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/9","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/9 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"93fc6d8a4b87eada5d4e34fc634c760f6f939068","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/93fc6d8a4b87eada5d4e34fc634c760f6f939068"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-08 15:17:14.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/09a00a0c36ed02e9c49f0ef59b180965ed2f3bfc"}]},"branch":"refs/heads/main"},"cc757d4f3b1b6552fbe8a471242296d3973505bc":{"kind":"REWORK","_number":10,"created":"2026-07-08 15:35:23.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/10","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/10","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/10 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"9fd695a405965757b2a8de184f6da4c2597ad2eb","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/9fd695a405965757b2a8de184f6da4c2597ad2eb"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-08 15:29:29.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/cc757d4f3b1b6552fbe8a471242296d3973505bc"}]},"branch":"refs/heads/main"},"d1cada6058f6824fdad481dd3c6ddfd6ae53c521":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-07-08 15:41:05.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/11","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/11","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/11 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"db0a26d1480b8c4c5b158a8b3820aa7b9b07b772","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/db0a26d1480b8c4c5b158a8b3820aa7b9b07b772"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-08 15:40:37.000000000","tz":120},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/d1cada6058f6824fdad481dd3c6ddfd6ae53c521"}]},"branch":"refs/heads/main"},"db46bbbac7f57a3e76b1ec4e2522bb273e16cf6e":{"kind":"REWORK","_number":12,"created":"2026-07-29 12:17:40.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/12","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/12","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/12 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"0cb64b7604d5706fcf9388c2c6877372714074a4","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/0cb64b7604d5706fcf9388c2c6877372714074a4"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2026-07-29 11:52:44.000000000","tz":0},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/db46bbbac7f57a3e76b1ec4e2522bb273e16cf6e"}]},"branch":"refs/heads/main"},"5903f92851ed2ce813b96c4fe8874563f65691e1":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":13,"created":"2026-07-30 06:49:31.000000000","uploader":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/46/546/13","fetch":{"anonymous http":{"url":"https://review.sourcearcade.org/libgfxinit","ref":"refs/changes/46/546/13","commands":{"Branch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13 \u0026\u0026 git checkout -b change-546 FETCH_HEAD","Checkout":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13","Reset To":"git fetch https://review.sourcearcade.org/libgfxinit refs/changes/46/546/13 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"902d803fa6c629f8aa1c31ca96aa460235cccd01","subject":"gma pipe_setup: Turn calculation of physical pointer into functions","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/902d803fa6c629f8aa1c31ca96aa460235cccd01"}]}],"author":{"name":"Nico Huber","email":"nico.huber@secunet.com","date":"2020-10-05 12:15:57.000000000","tz":120},"committer":{"name":"Nico Huber","email":"nico.h@gmx.de","date":"2026-07-30 06:49:31.000000000","tz":0},"subject":"gma pipe_setup: Use a plane as cursor in case of y-tiling","message":"gma pipe_setup: Use a plane as cursor in case of y-tiling\n\nY-tiling allows us to rotate the framebuffer in 90° steps. However,\nwe\u0027d also want to rotate the cursor. We can use a second (framebuffer)\nplane but that has some pitfalls:\n\n* The plane has to be completely within the visible picture, hence we\n  can\u0027t move the cursor partially out of the picture and have to clip\n  it manually.\n* Calculating the offsets for the clipping is not easy considering\n  the rotation involved. We translate the cursor\u0027s position on the\n  framebuffer to the final position on the visible picture first,\n  then we calculate the offsets. This makes it harder to compare to\n  the documented offset calculations.\n\nBecause of this, we have to re-write most of the plane registers when\nthe cursor is clipped. Only when the cursor was and is fully visible,\nwe can simply \"move\" its position.\n\nChange-Id: Ibd6258304ef7d9555b279b5e243a8c1aeadbbb93\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/546\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n","web_links":[{"name":"browse","url":"/plugins/gitiles/libgfxinit/+/5903f92851ed2ce813b96c4fe8874563f65691e1"}]},"branch":"refs/heads/main","description":"Rebase","conflicts":{"ours":"db46bbbac7f57a3e76b1ec4e2522bb273e16cf6e","theirs":"902d803fa6c629f8aa1c31ca96aa460235cccd01","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000002,"name":"Thomas Heijligen","email":"src@posteo.de","username":"heijligen","avatars":[{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4285328fce6f2f2d1dcd3409fd9ebcbe.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}}]}
