)]}'
{
  "commit": "5903f92851ed2ce813b96c4fe8874563f65691e1",
  "tree": "80bc212893431b25b9975f0caa5327acdef523a2",
  "parents": [
    "902d803fa6c629f8aa1c31ca96aa460235cccd01"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.huber@secunet.com",
    "time": "Mon Oct 05 14:15:57 2020 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Thu Jul 30 06:49:31 2026 +0000"
  },
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c210dd5bd4644314f773416f3ec374a86ccdef76",
      "old_mode": 33188,
      "old_path": "common/hw-gfx-gma-pipe_setup.adb",
      "new_id": "f49d6c03ce2ea923845bbe43e889ae9b488e9523",
      "new_mode": 33188,
      "new_path": "common/hw-gfx-gma-pipe_setup.adb"
    },
    {
      "type": "modify",
      "old_id": "892d2183fa19b23e1657787bfa2f47c5b54669fb",
      "old_mode": 33188,
      "old_path": "common/hw-gfx-gma-pipe_setup.ads",
      "new_id": "3ba0ec400083ed4ba3f56b098eacf2068614e0ae",
      "new_mode": 33188,
      "new_path": "common/hw-gfx-gma-pipe_setup.ads"
    },
    {
      "type": "modify",
      "old_id": "dddb2a8af38f64292159aa1e41baa1c49e36d5b0",
      "old_mode": 33188,
      "old_path": "gfxtest/hw-gfx-gma-gfx_test.adb",
      "new_id": "41d8461977ad2aa9722508af88c3e13b3a7be6c8",
      "new_mode": 33188,
      "new_path": "gfxtest/hw-gfx-gma-gfx_test.adb"
    }
  ]
}
