)]}'
{
  "log": [
    {
      "commit": "620fa6c57055e90202f8f0ea6e24bb60fdb3bc85",
      "tree": "76f13996aebed2fde5e642be28d934533b1e6d53",
      "parents": [
        "a9c11c77dd1eb8c7e5327a146040156ae7e84636"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:33:19 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:05:28 2024 +0100"
      },
      "message": "util: Use __attribute__\n\nReplace the rare __attribute by the more common __attribute__.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "a9c11c77dd1eb8c7e5327a146040156ae7e84636",
      "tree": "b125a270d5f2d265efdc1c7fe49600c36a3fdc6c",
      "parents": [
        "5691076351c6e6bb480cde38d468be395d07cb64"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 19:48:56 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:05:28 2024 +0100"
      },
      "message": "visops: Mark fall-through switch case\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "5691076351c6e6bb480cde38d468be395d07cb64",
      "tree": "9749dd3d778133cecbb9d389a10bbc0196288953",
      "parents": [
        "8a6851eec0e3ca40aee25b3fda18a1cec23e45f8"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 19:33:39 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:05:28 2024 +0100"
      },
      "message": "test013: Fix off-by-one error in maximum circle calculation\n\nA circle with radius R has an actual diameter of 2*R+1 instead of 2*R.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "8a6851eec0e3ca40aee25b3fda18a1cec23e45f8",
      "tree": "f76f5853c128f4fed0bdfc935e5ca70c81224f51",
      "parents": [
        "0b8a8976f095c98b9067a78100a8044d1371593b"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 16:57:11 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:05:28 2024 +0100"
      },
      "message": "Make variables that are never negative unsigned\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "0b8a8976f095c98b9067a78100a8044d1371593b",
      "tree": "03715ad2391166ce9522d452aa2b99739f2e86e2",
      "parents": [
        "f6f7a659cf18d46e777fbd5347c83ccb37a26e70"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 16:31:26 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:05:28 2024 +0100"
      },
      "message": "tests: Clear frame buffer before each test\n\nMake sure the frame buffer is cleared before each test, to avoid\nleftover artifacts from a previous test.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "f6f7a659cf18d46e777fbd5347c83ccb37a26e70",
      "tree": "5c442632717dbca23985bb67e11e550c24875b59",
      "parents": [
        "b1056f47c896d4f13eb9b89e535ef66928c438e7"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 11:58:59 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 24 14:04:26 2024 +0100"
      },
      "message": "drawops: Fix crash when drawing large ellipses\n\n\"test002\" crashes when run with a display resolution of e.g. 2560x1440\npixels, due to 32-bit overflow in the ellipse drawing routine.\n\nFix this by creating a copy that uses 64-bit arithmetic.  Use a\nheuristic to pick either the 32-bit or the 64-bit version, to avoid the\noverhead of the 64-bit version on small systems with small displays.\nOn ARM Cortex-A9, draw_ellipse(400, 240, 300, 239, ...) with a dummy\n(empty) set_pixel() method using the 64-bit version takes 44% longer\nthan the 32-bit version.\n\nReplace (unsigned) int by u32/s32 in the 32-bit version for clarity.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "b1056f47c896d4f13eb9b89e535ef66928c438e7",
      "tree": "e57f77749ff63bd071c5799f7b0efeaeb94c215a",
      "parents": [
        "dcecd1e6692f2761f967ce7aa2ec666747d50fd5"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 11:48:37 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Make dT1 and dS1 in do_ellipse() unsigned\n\n\"dT1\" and \"dS1\" are never negative, so they should be unsigned.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "dcecd1e6692f2761f967ce7aa2ec666747d50fd5",
      "tree": "474076abb9e4228b561b0756bec7381e7fe4c9a8",
      "parents": [
        "165d738b3ae3c933a4bc13773bb5438e266327e7"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Nov 29 11:47:48 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Make de in do_circle() unsigned\n\n\"de\" is never negative, so it should be unsigned.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "165d738b3ae3c933a4bc13773bb5438e266327e7",
      "tree": "df3afddc6e66532dea77f03897411d1021d2d4d2",
      "parents": [
        "8b80018856fad17cca7d0a01a91fb61ad47226ab"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 22:10:45 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Extract do_ellipse()\n\ngeneric_draw_ellipse() and generic_fill_ellipse() are very similar.\nReimplement them as wrappers around a common helper function.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "8b80018856fad17cca7d0a01a91fb61ad47226ab",
      "tree": "55d374dd1db15c32a83921c1e0d5d1c373a41f47",
      "parents": [
        "8c6b93fe349a3fce4ccdae659da875df463c041f"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 22:13:57 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Return early in generic_{draw,fill}_ellipse()\n\nThis reduces indentation in the largest branches.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "8c6b93fe349a3fce4ccdae659da875df463c041f",
      "tree": "9a0035a52a4ed5ef8b0de2db96e348a0dc46b238",
      "parents": [
        "1688dbf9b51c028b6aeaeeb5b8ffb8067fb0cff5"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 21:56:00 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Refactor generic_draw_ellipse()\n\nMake generic_draw_ellipse() more similar to generic_fill_ellipse().\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "1688dbf9b51c028b6aeaeeb5b8ffb8067fb0cff5",
      "tree": "5e3c89abf5a43a59421b7872419edc395a9a9771",
      "parents": [
        "537a1fbeea6f2487985b5becfbf82d11b1e2975d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 21:51:55 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Remove always-false check in generic_fill_ellipse()\n\nx1 is u32, so it can never be negative.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "537a1fbeea6f2487985b5becfbf82d11b1e2975d",
      "tree": "ad0e6e87df4c55378acc1577371fee71e0216d28",
      "parents": [
        "15c8bbe4bc62a2b7b91149c1a88fbaba84899ca3"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 20:32:10 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Use \"y \u003d\u003d 0\" in draw_ellipse_points()\n\nReplace the rare \"0 \u003d\u003d y\" check by the more common \"y \u003d\u003d 0\" check.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "15c8bbe4bc62a2b7b91149c1a88fbaba84899ca3",
      "tree": "1e47d8db903496298fc2ba1e48bbae1a5c98e2c4",
      "parents": [
        "328f7fb842070403a2a965890a4d99671773dad9"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 28 20:34:31 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "drawops: Extract do_circle()\n\ngeneric_draw_circle() and generic_fill_circle() are very similar.\nReimplement them as wrappers around a common helper function.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "328f7fb842070403a2a965890a4d99671773dad9",
      "tree": "8291d944460748e0e6bbeed7d94c6eb2792427a6",
      "parents": [
        "c41f7e7b30ae1e2e897c7112226a0d5c51b15f54"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 07 14:53:35 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "Test002: Fix test description\n\nThe test does not draw circles, but ellipses.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "c41f7e7b30ae1e2e897c7112226a0d5c51b15f54",
      "tree": "6d27235fc2d01d4201847a36f97b2c6b71d02185",
      "parents": [
        "db3ced57cf2c8c0e288ca9cb7915138ec721ca8b"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 07 14:12:27 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "tests: Print test description in debug mode\n\nPrint not only the test name, but also the test description.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "db3ced57cf2c8c0e288ca9cb7915138ec721ca8b",
      "tree": "4b044a788f95a49d00205ed09bf71bbf51ab7f15",
      "parents": [
        "dba87e7bb0a024f77549221ffa8e388c6a3b2a6a"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 07 14:03:41 2024 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Dec 15 11:29:47 2024 +0100"
      },
      "message": "Add support for exporting virtual test images\n\nAdd support for operating on a virtual buffer in RAM instead of on a\nreal frame buffer device, and exporting the result as a PPM image.\nThe size of the virtual buffer is configurable, but for now the format\nis fixed to Truecolor 8:8:8:0.\n\nThis is useful for e.g. testing drawing algorithms on screen sizes not\nsupported by your hardware.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "dba87e7bb0a024f77549221ffa8e388c6a3b2a6a",
      "tree": "ea7cf28231a51b0d8d80bf9b5c178cb919614fbd",
      "parents": [
        "47f6351b7c227308b213285d9fd3c1affa53871a"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "p.zabel@pengutronix.de",
        "time": "Wed Jul 05 11:30:41 2023 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Jul 05 11:47:40 2023 +0200"
      },
      "message": "Initialize ticks in benchmark()\n\nFixes a build error due to a false positive possible uninitialized use\nwarning with GCC 13:\n\n  util.c: In function \u0027benchmark\u0027:\n  util.c:177:17: error: \u0027ticks\u0027 may be used uninitialized [-Werror\u003dmaybe-uninitialized]\n  util.c:161:14: note: \u0027ticks\u0027 was declared here\n\nSigned-off-by: Philipp Zabel \u003cp.zabel@pengutronix.de\u003e\nReviewed-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nLink: https://lore.kernel.org/r/20230705093041.422391-1-p.zabel@pengutronix.de\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "47f6351b7c227308b213285d9fd3c1affa53871a",
      "tree": "ce1c90babe8270bb83e2609dd88df2cbe86e1767",
      "parents": [
        "131c53cd0e5c7984d7b1c5d764559431690c6fef"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Tue Mar 28 14:20:06 2023 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Apr 03 11:12:51 2023 +0200"
      },
      "message": "pnmtohex: Add netpbm to include search patch\n\nNetpbm on Fedora 36 comes without pkg-config, so\nmanually add the include path.\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nReviewed-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nLink: https://lore.kernel.org/r/ZCLbduJjX0KS/kJx@ls3530\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "131c53cd0e5c7984d7b1c5d764559431690c6fef",
      "tree": "33eecfba01082802d5d80aa48802c2e4813bfe46",
      "parents": [
        "dbf4e0bd06410e54617f847f8f33a5280f1b8c93"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sun Mar 26 12:42:32 2023 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Apr 03 11:12:30 2023 +0200"
      },
      "message": "pnmtohex: Optionally use pkg-config for netpbm\n\nAs of libnetpbm11 in Debian/Ubuntu, the netpbm header files are no\nlonger located in the root include directory, but in a netbpm\nsubdirectory.  Fortunately the same version added support for\npkg-config.\n\nSupport both old and new systems by using pkg-config, when available.\n\nReported-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nLink: https://lore.kernel.org/r/20230326104232.3099222-1-geert@linux-m68k.org\nTested-by: Helge Deller \u003cdeller@gmx.de\u003e\n"
    },
    {
      "commit": "dbf4e0bd06410e54617f847f8f33a5280f1b8c93",
      "tree": "a8c4766c0233b480e5ff669727e4083454d06cec",
      "parents": [
        "80f45e9767c6c24ba8bbc0c60c90ef604feab4b1"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Mon Jan 31 11:39:35 2022 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Jan 31 11:39:45 2022 +0100"
      },
      "message": "Add support for the hppa architecture\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "80f45e9767c6c24ba8bbc0c60c90ef604feab4b1",
      "tree": "3600aa5b035913d9ba72d66ad80a277599a57cec",
      "parents": [
        "301c91b578bb3d0c783f223ff376c39dfde21ff6"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Apr 20 15:12:51 2020 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Jun 22 17:01:16 2020 +0200"
      },
      "message": "Fix small pixel drawing on little endian systems\n\nIf the pixel size (bpp) is smaller than the word size (long) on a little\nendian system, pixel data is written to the wrong part of the word.\n\nFix this by reversing the shifts on little endian systems.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "301c91b578bb3d0c783f223ff376c39dfde21ff6",
      "tree": "1ea94450f9754d1d4f2a913b77218ce2ee7f4b3d",
      "parents": [
        "04a4be65b7fce487b388ebd0a750ffbff954da91"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Dec 30 11:48:38 2019 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Dec 30 11:49:24 2019 +0100"
      },
      "message": "test003: Fix off-by-one error in palette index\n\nAs the loop counter is 1-based, 1 must be subtracted when converting to\na palette index.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "04a4be65b7fce487b388ebd0a750ffbff954da91",
      "tree": "414b7694edd3055bb61b61378c7ce38de722050e",
      "parents": [
        "1dda6d8a1ac1ff1c7b93e89f6ee7020f24be8ee8"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Dec 30 11:47:47 2019 +0100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Dec 30 11:47:47 2019 +0100"
      },
      "message": "cfb2: Fix cfb2_setpixel() return value\n\nOn cfb2, pixel values are in the range 0..3, not 0..15.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "1dda6d8a1ac1ff1c7b93e89f6ee7020f24be8ee8",
      "tree": "6d34893b58914605ea246ad06cc9ae99b23e7a8e",
      "parents": [
        "674dc087998e92b61b5840950893d05ff39fa617"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Sep 20 15:33:08 2019 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Sep 20 15:33:08 2019 +0200"
      },
      "message": "Add test013: Filling circles\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "674dc087998e92b61b5840950893d05ff39fa617",
      "tree": "b161e8c1b015bc535e6271f85c75c1b8bf6f17dc",
      "parents": [
        "29ab066e07e124aaf189dccd28c9c9a43a0af4c1"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Sep 20 15:22:29 2019 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri Sep 20 15:22:29 2019 +0200"
      },
      "message": "Add .gitignore files\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "29ab066e07e124aaf189dccd28c9c9a43a0af4c1",
      "tree": "f18ad581a2e6f751b2b4332f4875046ec139b4ed",
      "parents": [
        "9c39c42be99692aad037334323d7d683e86cc457"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Aug 11 22:58:26 2014 +0200"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Aug 11 22:58:26 2014 +0200"
      },
      "message": "Remove unneeded #include \u003casm/page.h\u003e\n\n\u003casm/page.h\u003e no longer exists in modern userland.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "9c39c42be99692aad037334323d7d683e86cc457",
      "tree": "cee755d6d0ad8429ee947a141c51943442fe8ec2",
      "parents": [
        "e890e8177d4b95793f9d18073ccc39cd31c456a5"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:54:25 2008 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:54:25 2008 +0000"
      },
      "message": "Fix another brown paper bag bug in the cfb code for frame buffer devices that\ndon\u0027t set fb_fix_screeninfo.line_length\n"
    },
    {
      "commit": "e890e8177d4b95793f9d18073ccc39cd31c456a5",
      "tree": "3aec25f8ab5e6a0cc8386f977706466601de2c8c",
      "parents": [
        "fca3078db2ccba41e2c435d6b66375b54877e699"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:43:22 2008 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:43:22 2008 +0000"
      },
      "message": "Fix brown paper bag bug in Atari interleaved bitplanes code\n"
    },
    {
      "commit": "fca3078db2ccba41e2c435d6b66375b54877e699",
      "tree": "57e869841521182c5fe0b145c5f6fc019f373ecb",
      "parents": [
        "ec2222d9df64e105529ef16a34ff00014d342fd6"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:42:43 2008 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 21 20:42:43 2008 +0000"
      },
      "message": "Add absolute value\n"
    },
    {
      "commit": "ec2222d9df64e105529ef16a34ff00014d342fd6",
      "tree": "1078340ce5219305e500e871f611772fe9fdce9b",
      "parents": [
        "659794aec778dc372cfe51d3147d8109330fb7e2"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 29 12:16:44 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 29 12:16:44 2007 +0000"
      },
      "message": "Extract benchmark()\n"
    },
    {
      "commit": "659794aec778dc372cfe51d3147d8109330fb7e2",
      "tree": "4e8f1fca512b8ce0efd54195dd340b4e60864ca4",
      "parents": [
        "1ae2e75f62060f395dc98e6cff3b8651c08e5ba1"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:24:50 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:24:50 2007 +0000"
      },
      "message": "test012: Fix brown-paper-bag infinite loop\n"
    },
    {
      "commit": "1ae2e75f62060f395dc98e6cff3b8651c08e5ba1",
      "tree": "bd1d7db4435c7fa58010034ef21876bc35b0281d",
      "parents": [
        "e07b73f32c750e9a58e5a16a8813f3494a9b6fb4"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:20:55 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:20:55 2007 +0000"
      },
      "message": "test012: Use the full virtual screen size for drawing squares\n"
    },
    {
      "commit": "e07b73f32c750e9a58e5a16a8813f3494a9b6fb4",
      "tree": "e453a5af54bfc3ac709faaec333fe13abb38c1ea",
      "parents": [
        "5c4a05897a4e1231e76278a5e683db5a1ab348a0"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:12:30 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Nov 28 15:12:30 2007 +0000"
      },
      "message": "Allow rectangles larger than 1000x1000.\n"
    },
    {
      "commit": "5c4a05897a4e1231e76278a5e683db5a1ab348a0",
      "tree": "737133c554ad9b6d689bbec20781d3654b5ac4b4",
      "parents": [
        "a0f8f5d67ffaba72a67f50123e137232d8319262"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Nov 27 17:28:42 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Nov 27 17:28:42 2007 +0000"
      },
      "message": "Fix the draw_line() macro. Obviously it has never been used before...\n"
    },
    {
      "commit": "a0f8f5d67ffaba72a67f50123e137232d8319262",
      "tree": "cbe84b2b763307ba3d7d529a21a2270bf8745432",
      "parents": [
        "fff4403a54538c619d50b7153ad6263e314e7d13"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Nov 13 16:19:19 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Nov 13 16:19:19 2007 +0000"
      },
      "message": "Use gettimeofday() instead of times() for benchmarking\n"
    },
    {
      "commit": "fff4403a54538c619d50b7153ad6263e314e7d13",
      "tree": "6cb63ee94152edad530b021e551284624497fa48",
      "parents": [
        "23b389c60bd170706cc73a8ba5b907dcb058b882"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Nov 05 21:17:48 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Nov 05 21:17:48 2007 +0000"
      },
      "message": "Add test012: Filling squares\n"
    },
    {
      "commit": "23b389c60bd170706cc73a8ba5b907dcb058b882",
      "tree": "5efbc3c3bd79add35165f2886118b84925cd32fc",
      "parents": [
        "67d75c1d4fbd45ef633eee1d90b052e7742ff85e"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Aug 30 13:49:52 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Aug 30 13:49:52 2007 +0000"
      },
      "message": "test011: Fix move() for very short moves (dx \u003d 1, dy \u003d 0, or vice versa)\n"
    },
    {
      "commit": "67d75c1d4fbd45ef633eee1d90b052e7742ff85e",
      "tree": "80117ee02e4cd98394472bf6f9436e9514367490",
      "parents": [
        "45ac19e9b1ee270b924010df2a19da7cbd573b1d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:05:27 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:05:27 2007 +0000"
      },
      "message": "Add test011 (panning test)\n"
    },
    {
      "commit": "45ac19e9b1ee270b924010df2a19da7cbd573b1d",
      "tree": "ec00514a1d24a08f457601a6aaec8d2d9880780c",
      "parents": [
        "a827eb6bee28aae9c54b0426786eba72a57d62de"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:04:24 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:04:24 2007 +0000"
      },
      "message": "Add REQF_panning\n"
    },
    {
      "commit": "a827eb6bee28aae9c54b0426786eba72a57d62de",
      "tree": "817a42508d438e02ca202c3b02f9e21a589d7cc0",
      "parents": [
        "b85afa73438e6f695138e894e4f8ae0f8d942de8"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:03:10 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Aug 22 12:03:10 2007 +0000"
      },
      "message": "  - Add fb_pan()\n  - Disable FB_VMODE_YWRAP if it\u0027s enabled\n"
    },
    {
      "commit": "b85afa73438e6f695138e894e4f8ae0f8d942de8",
      "tree": "b83c8a5951fbf5167dca8008ad2802a352fbb4e0",
      "parents": [
        "b7268cc72254c9227b93014f31d79b3020a78b69"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:06:10 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:06:10 2007 +0000"
      },
      "message": "Most tests that use a color palette don\u0027t really rely on a real pseudocolor\nvisual.  Use VISUAL_GENERIC instead.\n"
    },
    {
      "commit": "b7268cc72254c9227b93014f31d79b3020a78b69",
      "tree": "9599a1744453be97284ae20e6f957dd58f0fdaad",
      "parents": [
        "d4f1036db8b987dd57df2fe7099ee2c74dd16fb4"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:04:52 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:04:52 2007 +0000"
      },
      "message": "Emulate a pseudocolor palette on truecolor visuals, which can be used in\nVISUAL_GENERIC mode\n"
    },
    {
      "commit": "d4f1036db8b987dd57df2fe7099ee2c74dd16fb4",
      "tree": "36be541cd3d8d3a586f24f9895d313e669ef959a",
      "parents": [
        "ad42dde7165b793dd5756f8f8049a1a599b4d486"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:04:00 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:04:00 2007 +0000"
      },
      "message": "images depends on pnmtohex\n"
    },
    {
      "commit": "ad42dde7165b793dd5756f8f8049a1a599b4d486",
      "tree": "f1a408f347d7325df9edf400dbb5ade1dba10844",
      "parents": [
        "73f3e0f30aab9b393a19427a0b34255fc6c64280"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:03:36 2007 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Aug 21 16:03:36 2007 +0000"
      },
      "message": "Clean up subdir and dependency logic\n"
    },
    {
      "commit": "73f3e0f30aab9b393a19427a0b34255fc6c64280",
      "tree": "4bfb6ce58e0030cd59be26a0a2c5ea31f380a15e",
      "parents": [
        "c0949712a171b3796a2c224606a1bfd0811ea6f0"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:30:12 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:30:12 2006 +0000"
      },
      "message": "Frame buffer mmap() fixes:\n  - PAGE_MASK no longer exists. Derive the page mask from page size, as\n    obtained from sysconf().\n  - mmap() returns MAP_FAILED in case of failure\n  - caddr_t is obsolete, use void * instead\n"
    },
    {
      "commit": "c0949712a171b3796a2c224606a1bfd0811ea6f0",
      "tree": "e87a5b0544ad3d4d5c35f5498aa4dcb7aa2e2acf",
      "parents": [
        "38c8d9e8679455370320142c5f706b1c60b50ac7"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:26:42 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:26:42 2006 +0000"
      },
      "message": "Use `unsigned long\u0027 instead of `u32\u0027 memory accesses when clearing the frame\nbuffer, to take advantage of 64-bit CPUs.\n"
    },
    {
      "commit": "38c8d9e8679455370320142c5f706b1c60b50ac7",
      "tree": "8a7971ac259638feb625bef79fb52b53d7092258",
      "parents": [
        "69d75ad5f79da58285d16d5e6523d2348630ef01"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:25:34 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:25:34 2006 +0000"
      },
      "message": "Use `%zu\u0027 to format a size_t parameter\n"
    },
    {
      "commit": "69d75ad5f79da58285d16d5e6523d2348630ef01",
      "tree": "54d2da5bad4fb345e27c54a85c1236a754a30658",
      "parents": [
        "1db5e0661714aae6b8854b4748a5eaa9b46eb21a"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:24:41 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:24:41 2006 +0000"
      },
      "message": "Compensate for recent changes to struct fb_var_screeninfo:\n  - The first reserved field is now used for the `rotate\u0027 parameter,\n  - Check existing reserved fields only, to avoid bogus `reserved[x] changed\n    from ...\u0027 messages when compiling using a future \u003clinux/fb.h\u003e.\n"
    },
    {
      "commit": "1db5e0661714aae6b8854b4748a5eaa9b46eb21a",
      "tree": "5667f713414241a001573ea35f4959ea00489202",
      "parents": [
        "f3ac88740d7ebe1e03fe9066dfe204a48b7bf0be"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:20:19 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:20:19 2006 +0000"
      },
      "message": "Add missing spaces\n"
    },
    {
      "commit": "f3ac88740d7ebe1e03fe9066dfe204a48b7bf0be",
      "tree": "ec939777b783046371cbaae32983b532ad63cc92",
      "parents": [
        "4d475c1a3718defecee7948ea259bb9906e142f4"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:19:37 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:19:37 2006 +0000"
      },
      "message": "Use ar to create libraries instead of using ld -r for incremental linking of\nobject files. The latter has problems in environments where gcc defaults to\n32-bit and ld defaults to 64-bit.\n"
    },
    {
      "commit": "4d475c1a3718defecee7948ea259bb9906e142f4",
      "tree": "cf80d1a958d8996f556a7887eb3ab27edea64d0c",
      "parents": [
        "fe2372251f97be078875c9db02789b9945c896e1"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:16:08 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue Dec 19 17:16:08 2006 +0000"
      },
      "message": "Modern distro\u0027s (e.g. Debian, Fedora Core) seem to have -lnetpbm only\n"
    },
    {
      "commit": "fe2372251f97be078875c9db02789b9945c896e1",
      "tree": "de6d6e7606dfaa0597d99af97e0773c34e9b8dc6",
      "parents": [
        "b6c21f25b6b19dd464a151dbbeabcfb99a4e1118"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 23 14:53:32 2006 +0000"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Nov 23 14:53:32 2006 +0000"
      },
      "message": "Fix corrupted image\n"
    },
    {
      "commit": "b6c21f25b6b19dd464a151dbbeabcfb99a4e1118",
      "tree": "3a6ef7fc38e3df046f84d78b3f8f56d5e48ba6c2",
      "parents": [],
      "author": {
        "name": "Otto Wyss",
        "email": "otto.wyss@orpatec.ch",
        "time": "Wed Nov 03 21:25:36 2004 +0000"
      },
      "committer": {
        "name": "Otto Wyss",
        "email": "otto.wyss@orpatec.ch",
        "time": "Wed Nov 03 21:25:36 2004 +0000"
      },
      "message": "Moved up from base\n"
    }
  ]
}
