)]}'
{
  "log": [
    {
      "commit": "a7a3b15f06355692d86a3b8373c579a521598f4c",
      "tree": "28c151c2bc2e9bbfd41e1b419061923edfe68925",
      "parents": [
        "15db2430b6288ac0a6b23e3f6a163fa016a3fab1"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "girlboss@google.com",
        "time": "Wed Apr 22 08:33:48 2026 -0400"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Apr 22 05:39:03 2026 -0700"
      },
      "message": "Detect and reject profiles which we would walk off the end\n\nThe linked example is a 3 channel 2x2x2 table that happens to have\nnothing after it.\n\nI considered several fixes, but the fact that skcms really doesn\u0027t\nwant to own buffers or do any allocation makes that tricky.\n\nGiven that moxcms will be doing the parsing in Chromium and\nhttps://review.skia.org/1215162 will make sure there\u0027s sufficient\npadding, we\u0027ll make skcms\u0027s own parsing be a bit pickier such\nthat the buffer is big enough for a 1-2 byte overread.\n\nClients can allocate their buffer up to the next multiple of 4\nbytes (on 32 bit systems) or 8 bytes (on 64 bit sytems) to make\nsure there\u0027s plenty of padding.\n\nNone of the existing tests fail locally on xsan (the bug was\nonly on 32 bit anyway).\n\nBug: oss-fuzz:504261818\nChange-Id: I8f1206b993c427e13e38038ef7abde6f651732a4\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1214462\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "15db2430b6288ac0a6b23e3f6a163fa016a3fab1",
      "tree": "f269c28fc565be7c1bc9fb2450d0a5e437d2086d",
      "parents": [
        "92c79500bad23ddf2983ae436470eba0134301cb"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Apr 03 16:34:27 2026 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Apr 08 10:16:40 2026 -0700"
      },
      "message": "[skcms] Fix crash by reading before CLUT\n\nskcms uses an optimization for gather_24 and gather_48 to load 4 or 8\nbytes and then throw away a junk byte (instead of individually doing 3\nloads, one for r, one for g, one for b). It did this before (added in\n[1]) by subtracting of 1 or 2 from the pointer\n\nThis was thought to be safe since there should only be data before this\ntable that is also in the ICC profile (and not an OOB read), however,\ndue to the use of moxcms to parse ICC profiles, the CLUT table can be\nin its own buffer (e.g. at the beginning of a memory page) and thus we\ndon\u0027t have any of the padding we expect before or after it.\n\nInstead, we can still have similar performance (and actually save a\nsubtraction op per read) by just reading 4 or 8 bytes at the beginning\nof the CLUT and then masking off the junk byte (which might *not*\nactually be needed anyway since the callers extract just the r, g, b\nvalues they need).\n\nThis can now walk off the end of the buffer but there should be padding [2] [3]\n\n[1] https://review.skia.org/116740\n[2] https://www.color.org/specification/ICC.1-2022-05.pdf\n[3] https://review.skia.org/1205176\n\nBug: b/498869813\nBug: b/498927031\nChange-Id: I88445d9be9e899e670f2cf9d55e0d2f79446f535\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1201671\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "92c79500bad23ddf2983ae436470eba0134301cb",
      "tree": "5ebb41348148ee6b9b17ed0292cc764c3b14c034",
      "parents": [
        "24b120dbf97f5755a87aa0cb2288ca4b00476273"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Apr 03 19:15:18 2026 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Apr 03 12:29:55 2026 -0700"
      },
      "message": "Add .gemini to gitignore\n\nChange-Id: If30d355de800f0db979df508c76d300cf218de8f\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1202699\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "24b120dbf97f5755a87aa0cb2288ca4b00476273",
      "tree": "fa528f43c6806892b3f6c8f1d2e65ba16b00b0e6",
      "parents": [
        "0ac639262d12e2aa9183c63203a5428e400f40fe"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Mar 16 19:19:25 2026 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Mar 16 12:56:40 2026 -0700"
      },
      "message": "Use newer bazelisk\n\nI think the old version of bazelisk was not respecting the .bazelversion\nfile. Maybe because it was still looking for a WORKSPACE to find the\nroot (which no longer exists)?\n\nFor posterity, the old version (`bazelisk version`) is\nBazelisk version: v1.10.1 (Jul 2021)\nhttps://github.com/bazelbuild/bazelisk/releases/tag/v1.10.1\n\nThe new version is\nBazelisk version: v1.27.0 (Aug 2025)\nhttps://github.com/bazelbuild/bazelisk/releases/tag/v1.27.0\n\nChange-Id: I760e57e53b3cf9944e7ce10849308210d7fa9184\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1187557\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "0ac639262d12e2aa9183c63203a5428e400f40fe",
      "tree": "53e13c1d520594c34a3497e82f47c461480e755d",
      "parents": [
        "7f81d48f4e3338ba04cf4bf5d518d855a4237a40"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Mar 16 16:32:52 2026 +0000"
      },
      "committer": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Mar 16 10:54:08 2026 -0700"
      },
      "message": "Tighten max table entries when parsing and evaluating ICC curves\n\nWe have some assumptions elsewhere in the code that hinge on this\nbeing smaller than 2^24.\n\nThis will make parsing fail if we are given more than ~16 million\ntable entries in the profile and makes sure profiles given to us\nconform to that limit.\n\nThis limit may impact some fringe WebP images in Chromium; see\nlinked bug for more details.\n\nBug: b/492744328\nChange-Id: I4ca302b490021e2276a55f949f36125dab44196d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1187536\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "7f81d48f4e3338ba04cf4bf5d518d855a4237a40",
      "tree": "604d8dfaa6c6df40f3181933c6a5b4506e249451",
      "parents": [
        "bf2d52b98a420c59d991ced59fef8b4243b7dc13"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Tue Dec 30 18:28:14 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Dec 30 11:11:21 2025 -0800"
      },
      "message": "[bazel] Migrate to Bazel 8.5.0\n\nBug: skia:458681039\nChange-Id: I28cdcc92e24c4fc926f6354d44ea40a27a96c080\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1133436\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\n"
    },
    {
      "commit": "bf2d52b98a420c59d991ced59fef8b4243b7dc13",
      "tree": "7245fabe0adfc504c3f0a4c6a2e59ec97912f393",
      "parents": [
        "026f8a96974024e6b83daf42deca06df00941c1b"
      ],
      "author": {
        "name": "Sergio Gonzalez",
        "email": "sergiog@microsoft.com",
        "time": "Wed Nov 26 18:38:59 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 26 11:31:36 2025 -0800"
      },
      "message": "[rust bmp] Add enum name to Skcms_Signature enum\n\nTo be able to use the enum defining Skcms_Signature values from rust\u0027s\ncxx bridge it requires to be named. This change is a pre-requisite for\nthis CL:\n\nhttps://skia-review.googlesource.com/c/skia/+/1106557\n\nBug: chromium:452666425\nChange-Id: I3f15a37253e4c17c5a542efd51230f9ed2239f93\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1111536\nReviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "026f8a96974024e6b83daf42deca06df00941c1b",
      "tree": "b01ad9b8314cb44d22a81cce703cc2d32ecb8e67",
      "parents": [
        "96d9171c94b937a1b5f0293de7309ac16311b722"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Nov 05 09:07:50 2025 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 05 07:50:10 2025 -0800"
      },
      "message": "Make SKCMS_API also define dllimport\n\nThings were working before, but the lack of dllimport was noticed\nwhile working on https://crrev.com/c/7120802 and even a minor\noptimization can help.\n\nI left some breadcrumbs from my research to hopefully make future\n\"why is this like that?\" more clear.\n\nChange-Id: I57eb2f2b4f11e8ba3d8933ec1c9c0e0e68c2999f\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1093300\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "96d9171c94b937a1b5f0293de7309ac16311b722",
      "tree": "c122f626ca183e7996ab5e601b7904ec96c6b6a1",
      "parents": [
        "7852fc3f0085c5439e78c2b60fda6fc3776dfb2e"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Tue Sep 16 19:18:01 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Sep 16 13:13:50 2025 -0700"
      },
      "message": "Disable must_tail on GCC when compiling for RISC-V\n\nChange inspired by patch from Heinrich Schuchardt (see\nattached bug)\n\nBug: b/444048022\nChange-Id: I5658ba20fb4e3aceab5f97c6b8d56ebf37b17845\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1056198\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Daniel Dilan \u003cdanieldilan@google.com\u003e\nCommit-Queue: Daniel Dilan \u003cdanieldilan@google.com\u003e\n"
    },
    {
      "commit": "7852fc3f0085c5439e78c2b60fda6fc3776dfb2e",
      "tree": "303f0defa401832a661d3449781e44fec057a832",
      "parents": [
        "a58dfb3b43532dbda18030f7cf24d79d2e49e634"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@chromium.org",
        "time": "Wed Aug 27 22:57:05 2025 +0200"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Aug 28 06:44:40 2025 -0700"
      },
      "message": "skcms_Transform: Add HLG OOTF\n\nThe full transform for HLG applies an opt-optical transfer function, and\nreaches a peak value of 1000/203. This was avoided in the past due to\ncomplexity.\n\nAdd this step. Unlike the formulation in SkColorSpace, perform this step\nin the XYZD50 linear space, and fuse it with the scaling. This greatly\nsimplifies the pipeline (and SkColorSpace will probably be changed to\nmatch this).\n\nAdd tests (using test pixel values from a WPT test) to verify the\ntransformation between sRGB, Rec2100PQ, and Rec2100HLG all perform\nappropriately.\n\nBug: skia:420956739\nChange-Id: Iafd6f19317b8c210bbac51c8ea2cdedaac7c4a78\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1046556\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Christopher Cameron \u003cccameron@google.com\u003e\nCommit-Queue: Christopher Cameron \u003cccameron@google.com\u003e\n"
    },
    {
      "commit": "a58dfb3b43532dbda18030f7cf24d79d2e49e634",
      "tree": "19e3c02d5a369a7bd5c32abcbbcb0caf1bfae0ea",
      "parents": [
        "c602c137fb05b7f789d6af316184f3efc1d1ced4"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@chromium.org",
        "time": "Tue Aug 26 20:05:39 2025 +0200"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Aug 26 12:00:41 2025 -0700"
      },
      "message": "skcms_Transform: Respect PQ and HLG indicated in CICP\n\nIf an image indicates that it is PQ or HLG via its CICP tags, this is\nignored by skcms_Transform. As a result, lots of code has been stuffing\nthe PQ-ish and HLG-ish skcms_TransferFunctions into the skcms_ICCProfile\nstructure, which is not ideal.\n\nChange skcms_Transform to detect PQ and HLG CICP values, and to prefer\nthem over A2B and B2A transforms.\n\nThe specific HLG transform being used is not the usual 1,000 nit peak\nreference transform, but rather is the SDR version. This will be updated\nin follow-on patches.\n\nBug: skia:420956739\nChange-Id: I7ecba5fbbd31232d2c139eafdb565b6dccfe816c\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1045656\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Christopher Cameron \u003cccameron@google.com\u003e\nCommit-Queue: Christopher Cameron \u003cccameron@google.com\u003e\n"
    },
    {
      "commit": "c602c137fb05b7f789d6af316184f3efc1d1ced4",
      "tree": "3757b846c9e40268420794a5c3616367dbbd8a90",
      "parents": [
        "238fd0489c04a05b85aa2a411b80e444166f7240"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@google.com",
        "time": "Tue Aug 19 11:49:28 2025 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Aug 19 11:39:49 2025 -0700"
      },
      "message": "Guard _Float16 use on clang \u003e\u003d 15\n\nChange-Id: I2034b537182c42398659bbb1cbf56d7fdc3f7785\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1041596\nReviewed-by: Ben Wagner \u003cbungeman@google.com\u003e\nCommit-Queue: Ben Wagner \u003cbungeman@google.com\u003e\n"
    },
    {
      "commit": "238fd0489c04a05b85aa2a411b80e444166f7240",
      "tree": "17b1831850a3ae2cce0f4a36e0dd841a36daac7c",
      "parents": [
        "02ca44da98eb3ef9edf16ea76b8baca318f51c3c"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Aug 18 15:35:45 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Aug 18 09:05:30 2025 -0700"
      },
      "message": "Gate F_From_Half change on clang\n\nIt seems like gcc doesn\u0027t support the _Float16 type, which clang\nneeds to use to make casting work, so only use\n__builtin_convertvector when building with clang.\n\nBug: chromium:438445382\nChange-Id: I8e21289e2a275f7a1273e59ba8988df2dec9e4f3\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1040717\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Florin Malita \u003cfmalita@google.com\u003e\nAuto-Submit: Devon Loehr \u003cdloehr@google.com\u003e\n"
    },
    {
      "commit": "02ca44da98eb3ef9edf16ea76b8baca318f51c3c",
      "tree": "197941c49d5d440b34b279e3f05be67c4e2b4d78",
      "parents": [
        "135488419331644e59091ecc73e682299d3937a4"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Aug 15 17:19:44 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Aug 15 15:00:34 2025 -0700"
      },
      "message": "Remove gcc special case in favor of __builtin_convertvector\n\nNoticed a warning when compiling with gcc locally and this seems like\na sensible resoltuion.\n\nChange-Id: I23d15373b4fa3ace60559d6350e0a38a5eeb582a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038877\nReviewed-by: Daniel Dilan \u003cdanieldilan@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "135488419331644e59091ecc73e682299d3937a4",
      "tree": "461df4202c7e3aca91b3d87ca41c4093b8d13384",
      "parents": [
        "d71f6aa2437d13da1b021a71f0f077afa2330b05"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Fri Aug 15 14:31:27 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Aug 15 14:28:46 2025 -0700"
      },
      "message": "Change use of removed intrinsic\n\nA recent LLVM change removed the __builtin_ia32_vcvtph2ps256 intrinsic\nbecause it can be implemented using __builtin_shufflevector and/or\n__builtin_convertvector. This CL changes skia to use convertvector as\nto match.\n\nBug: chromium:438445382\nChange-Id: I2ed16cd507d7feeafba4c082b3840cbdd6368dd9\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038217\nReviewed-by: Ben Wagner \u003cbungeman@google.com\u003e\nCommit-Queue: Ben Wagner \u003cbungeman@google.com\u003e\nAuto-Submit: Devon Loehr \u003cdloehr@google.com\u003e\n"
    },
    {
      "commit": "d71f6aa2437d13da1b021a71f0f077afa2330b05",
      "tree": "b57d385c5a24ba5b41c4867cb0820e0e6a451e2e",
      "parents": [
        "3eb7168d199caa85615cf9f4842bb82aac9f21cd"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "girlboss@google.com",
        "time": "Fri Aug 15 10:37:25 2025 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Aug 15 08:23:39 2025 -0700"
      },
      "message": "skcms: support two attributes with GCC\n\nCherry pick of https://review.skia.org/975316\n\n* Support [[gnu::fallthrough]] with GCC\n* support [[clang::musttail]] with GCC\n\nGCC 15 will support [[clang::musttail]], so fix the checks to align\nwith Skia in src/core/SkRasterPipeline.h to use it if available for non-Clang.\n\nFix up [[gnu::fallthrough]] while here too, as GCC supports that.\n\nChange-Id: Iaea26698a3d65c42d4f6c6783f14fbc54465e872\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038876\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Daniel Dilan \u003cdanieldilan@google.com\u003e\nCommit-Queue: Daniel Dilan \u003cdanieldilan@google.com\u003e\n"
    },
    {
      "commit": "3eb7168d199caa85615cf9f4842bb82aac9f21cd",
      "tree": "854a6bde2cb6953620944ac85ef895fb2d091911",
      "parents": [
        "1915b4d7ccd342e9194b0eaa7b065ace7a6dd823"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Tue Jul 15 16:47:40 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Jul 15 10:18:26 2025 -0700"
      },
      "message": "[cdn] Use cdn.skia.org instead of gs://skia-world-readable\n\nBug: b/430275865\nChange-Id: I138b36b791894c290c5897d2c4b3f15ec1e2e85a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1020418\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "1915b4d7ccd342e9194b0eaa7b065ace7a6dd823",
      "tree": "3e99115fade8be450f5c9263cf9cace351224ee9",
      "parents": [
        "e12ef7c0da42204e9276e0e183d903b1c03c2e53"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@chromium.org",
        "time": "Tue Jun 03 20:43:38 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Jun 05 02:48:51 2025 -0700"
      },
      "message": "skcms: Add PQ and HLG types\n\nThe PQ and HLG types differ from PQish and HLGish as follows:\n- always use the constants from ITU-R BT.2100 (PQish and HLGish can\n  use other constants)\n- include an explicit parameter for scaling by HDR reference white\n  (PQish and HLGish are capable of this, but the scaling is not an\n  explicit parameter)\n- for HLG, include parameters for the OOTF, namely, the peak luminance\n  and system gamma (absent for HLGish)\n- when used with SkColorSpace, will include the OOTF (absent for HLGish)\n\nThe skcms_TransferFunction_makePQ and skcms_TransferFunction_makeHLG\nfunctions had no callers, to repurpose them to initialize these\ntypes.\n\nOnce all use of PQish and HLGish is removed, we will be able to remove\nPQish and HLGish entirely, so that we just have these PQ and HLG.\n\nBug: 420956739\nChange-Id: If7a3fec007cd21825c3533272b865faf91fe5331\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1002396\nReviewed-by: Christopher Cameron \u003cccameron@google.com\u003e\nCommit-Queue: Christopher Cameron \u003cccameron@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "e12ef7c0da42204e9276e0e183d903b1c03c2e53",
      "tree": "0308ef07af5c2b89e23bc41a295c09bee2640127",
      "parents": [
        "df82c365f7bee87b4f60226e4d7f8cd0f59a0b0a"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Jun 04 07:23:35 2025 -0400"
      },
      "committer": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Jun 04 05:25:55 2025 -0700"
      },
      "message": "[infra] Make Windows OS version more lenient\n\nThe Windows version updated. SkCMS should be pretty agnostic to the\nspecific version of Windows, so I think it\u0027s ok to include only\nthe main version id, not the subversion.\n\nWe don\u0027t expect driver versions to cause major diffs and would prefer\nnot to have to remember to update skcms every month or so.\n\nBug: b:380037738\nChange-Id: I4a2026a8b0e37bd85116247a8306eb1b1fca538d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/1003096\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "df82c365f7bee87b4f60226e4d7f8cd0f59a0b0a",
      "tree": "ca32f10e1f9857bfb71efe0f087d707eb28c9448",
      "parents": [
        "8faeb7707de81048460c1bdf75cb2885e408c911"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Tue Apr 15 17:09:12 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Apr 15 10:28:55 2025 -0700"
      },
      "message": "[infra] Fix OS dimension for skcms-Win\n\nBug: b/380037738\nChange-Id: I43aa61c1d785402fbee3cbb419697333535e80c5\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/980419\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "8faeb7707de81048460c1bdf75cb2885e408c911",
      "tree": "aa60e59ae6b5088996d1d8b0de5943036993cd2b",
      "parents": [
        "374c10637d4abe1c181b5c2dae1c56476d23bb21"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Fri Apr 04 13:09:24 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Apr 04 07:19:32 2025 -0700"
      },
      "message": "[infra] Fix some CI issues\n\n- Run on updated Mac machines\n- Update Xcode and Clang toolchain for linux\n- Ignore warning\n\nChange-Id: I4a029165a679acf4cf538dabc44449fdfbc2dceb\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/974023\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "374c10637d4abe1c181b5c2dae1c56476d23bb21",
      "tree": "44138fee9f3c94029af9c9ba2add97b769acfa88",
      "parents": [
        "1e365691d01ad13edd93056c2731a5c6e0be2a15"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Tue Apr 01 16:01:11 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Apr 01 09:36:26 2025 -0700"
      },
      "message": "[infra] Move Debian10 tasks to Ubuntu24\n\nBug: b/380037738\nChange-Id: Ic44aaf66508014bb62869d71871577f3ddb08df3\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/972921\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "1e365691d01ad13edd93056c2731a5c6e0be2a15",
      "tree": "c3bfca9a51dee474071b7edadbfff495fcd9a867",
      "parents": [
        "6c5f4734f7da1e0ba615bef5f1536ec8c0a6d9dd"
      ],
      "author": {
        "name": "Evgenii Kliuchnikov",
        "email": "eustas@google.com",
        "time": "Thu Jan 30 04:11:13 2025 -0800"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Jan 31 03:10:00 2025 -0800"
      },
      "message": "Fix ninja build on PPC\n\nChange-Id: Ib87e064c6ccb2965444ab57b6b631841894b443d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/944416\nReviewed-by: Kaylee Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Evgenii Kliuchnikov \u003ceustas@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "6c5f4734f7da1e0ba615bef5f1536ec8c0a6d9dd",
      "tree": "df2a273eefaa7291ff02d25674e041b3ff310ac4",
      "parents": [
        "12776964e26d33991ef8626d4fed226eefee7cdc"
      ],
      "author": {
        "name": "Michael Ludwig",
        "email": "michaelludwig@google.com",
        "time": "Fri Jan 24 06:42:11 2025 -0800"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Jan 27 08:11:45 2025 -0800"
      },
      "message": "Add store stages for 10101010_XR formats using Apple\u0027s  linear formula\n\nAdds matching store_10101010_XR stage that had never been defined to\npair with existing load_10101010_XR stage.\n\nBug: b/391972897\nChange-Id: I42ba4d148514408f93d15fbff81ee05eab944f35\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/941659\nCommit-Queue: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nReviewed-by: Jim Van Verth \u003cjvanverth@google.com\u003e\nAuto-Submit: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "12776964e26d33991ef8626d4fed226eefee7cdc",
      "tree": "21fb5dad5bbe9fd7ac12b8a842a31124b86486ab",
      "parents": [
        "03700ab28aad7d8816686df844db6e3094de2cf8"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Wed Jan 22 20:53:48 2025 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Jan 24 08:26:14 2025 -0800"
      },
      "message": "Decode color channels in 10101010_XR and 101010x_XR formats using formulas based on Apple documentation\n\nSee https://developer.apple.com/documentation/metal/mtlpixelformat/bgra10_xr\n\nFixes https://github.com/flutter/flutter/issues/161408\n\nChange-Id: I6c0f284942a4747e99bf5d6a66331e47f4606b5f\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/941122\nCommit-Queue: Jason Simmons \u003cjsimmons@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "03700ab28aad7d8816686df844db6e3094de2cf8",
      "tree": "fc77677cdd7b626f3db7e8ccefe2b27344e07515",
      "parents": [
        "b2e692629c1fb19342517d7fb61f1cf83d075492"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Dec 16 09:53:20 2024 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Dec 16 07:27:31 2024 -0800"
      },
      "message": "Remove unnecessary const qualifiers from function definitions\n\nsize_t is a stack value so const is meaningless in the definition.\nClang-Tidy noticed these.\n\nChange-Id: I96b0257956dc5f69bd94b65717a55392d8c29c65\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/930240\nAuto-Submit: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Daniel Dilan \u003cdanieldilan@google.com\u003e\nCommit-Queue: Daniel Dilan \u003cdanieldilan@google.com\u003e\n"
    },
    {
      "commit": "b2e692629c1fb19342517d7fb61f1cf83d075492",
      "tree": "6e57e2e83315e351612def5aa701dc09efbb7684",
      "parents": [
        "d4f01d5608531132431aaccb4d6c05de03ae623e"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Tue Nov 26 13:49:28 2024 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Dec 02 16:15:26 2024 +0000"
      },
      "message": "Re-arrange struct layouts to reduce in-memory size of public types\n\nFull measurements before [1] and after [2]\n\nSavings:\n - skcms_ICCProfile: 1016 -\u003e 976 bytes (-40 bytes; 3.7%)\n - skcms_A2B: 416 -\u003e 400 bytes (-16 bytes; 3.8%)\n - skcms_B2A: 408 bytes -\u003e 400 bytes (-8 bytes; 1.9%)\n\nI found these by inspecting the output of\nbazel build //:skcms_public --copt \"-Xclang -fdump-record-layouts -Wpadded -Wno-error\"\n\nThere were a few other warnings but re-arranging the structs wouldn\u0027t\nhave done anything due to 8 byte alignment.\n\nThis adds one test that was helpful when debugging an issue I\nhad while creating this CL.\n\n[1] http://gpaste/5485377728282624\n[2] http://gpaste/6273912634867712\n\nChange-Id: I0ed18f85640537844f0953bda9b6848399968479\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/924237\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Daniel Dilan \u003cdanieldilan@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "d4f01d5608531132431aaccb4d6c05de03ae623e",
      "tree": "1e735cb6426895cde8868498d62c89586f7d1c74",
      "parents": [
        "2c7a7bff05129adce12b45da5f84b28bfe3798ae"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Nov 27 09:28:54 2024 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 27 15:07:04 2024 +0000"
      },
      "message": "Add Bazel rules to provide debug symbols\n\nThis updates the emsdk (and dependent node version) used for\nemscripten (WASM) builds as the old node binaries are no longer\nsupported or available for download from the emsdk source and\nwe cannot update one without the other (internal emsdk smoke\ntests had old TS code).\n\nThis also adds a few docs that were missing and I had to figure\nout when trying to debug something.\n\nChange-Id: Ib79bf6d7bf04972af85886b312d937b0411810ed\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/924648\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Kaylee Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "2c7a7bff05129adce12b45da5f84b28bfe3798ae",
      "tree": "570643fe0f5abaa460ed20e7183eedbbed0d27d5",
      "parents": [
        "f96615e73170156231dae062d4f2b30beb6ddb7f"
      ],
      "author": {
        "name": "Adrian Perez de Castro",
        "email": "aperez@igalia.com",
        "time": "Tue Oct 15 15:35:00 2024 +0300"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Oct 15 17:29:13 2024 +0000"
      },
      "message": "Avoid usage of the clang::musttail attribute on ppc64le\n\nUse of clang::musttail attribute is not supported by Clang on ppc64le\nand needs avoided be removed in Skia. For more information, see:\n\n - https://github.com/llvm/llvm-project/pull/93267\n - https://github.com/llvm/llvm-project/issues/98859\n - https://github.com/llvm/llvm-project/issues/108014\n\nBased on a patch originally by Dan Horák.\n\nChange-Id: Ief165690211168437e7cb79209f16e5ce2e9972b\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/910656\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nAuto-Submit: Adrian Perez de Castro \u003caperez@igalia.com\u003e\nCommit-Queue: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "f96615e73170156231dae062d4f2b30beb6ddb7f",
      "tree": "60dce773c183680a938a8af218d6379d5ca0da74",
      "parents": [
        "c830bf29175447fa9ff3f736451910e1b125d726"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Thu Aug 22 16:23:49 2024 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Aug 23 16:47:51 2024 +0000"
      },
      "message": "Add skcms_GetInputChannelCount utility function\n\nThis gives a best guess at the number of expected input channels on\nthe A side of the profile, with -1 for failure. We can use this to\njudge if an image\u0027s encoding (eg, grayscale or RGB) makes sense\nwith the accompanying profile.\n\nBug: 361116767\nChange-Id: Ic571b43d53179d5ed278b9d1d23fff17de046361\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/892757\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Ben Wagner \u003cbungeman@google.com\u003e\n"
    },
    {
      "commit": "c830bf29175447fa9ff3f736451910e1b125d726",
      "tree": "f016cdf3f5cc5fc46f6e5f3b0399d182e9013286",
      "parents": [
        "2395877dc55fbd38ef9eae353efe507da1a9be75"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Mon Jul 29 10:04:07 2024 -0700"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Aug 01 16:48:35 2024 +0000"
      },
      "message": "Add `skcms_PixelFormat_GA_88` support for `skcms_Transform`.\n\nBug: chromium:40278281\nChange-Id: I5dec2c12fe09ae0d66365e901100430cce5e9e2a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/880812\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@google.com\u003e\nReviewed-by: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    },
    {
      "commit": "2395877dc55fbd38ef9eae353efe507da1a9be75",
      "tree": "fcbede9f135dbc4d0b39f36048f6ee258befed3f",
      "parents": [
        "bc467ef5ef35f013ba76faadb15220ef5b26ea9f"
      ],
      "author": {
        "name": "Cheng Yangyang",
        "email": "chengyangyang-hf@loongson.cn",
        "time": "Tue Jul 16 20:42:24 2024 +0800"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Jul 17 19:46:11 2024 +0000"
      },
      "message": "Add LSX optimations for loong64.\n\nChange-Id: I9ff31b095d8e7b6bda6d76e4627800b2ef54ca84\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/877936\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "bc467ef5ef35f013ba76faadb15220ef5b26ea9f",
      "tree": "24d5a052c08f82d2bfc884af0cf4d51bce4a54d7",
      "parents": [
        "5d9221d28f9cbbe6db0b745b36d4e5efc09e168e"
      ],
      "author": {
        "name": "Aaron Clarke",
        "email": "aaclarke@google.com",
        "time": "Mon Jun 10 16:30:44 2024 -0700"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Jun 11 13:39:06 2024 +0000"
      },
      "message": "Fixed BGRA10XR to have padding be 6 *least* significant bits.\n\nThis is verified in the more robust integration test: https://github.com/flutter/engine/pull/53320\n\nBug: skia:https://github.com/flutter/flutter/issues/149946\nChange-Id: I57fb34e3cc02db63c3125faee7e1846d9b6f2583\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/864516\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "5d9221d28f9cbbe6db0b745b36d4e5efc09e168e",
      "tree": "c5a72784684aad0e445ae68e93a947f761259772",
      "parents": [
        "9478a634ff6de41f47fe62374764f6acdcd413ff"
      ],
      "author": {
        "name": "Aaron Clarke",
        "email": "aaclarke@google.com",
        "time": "Tue Jun 04 09:13:18 2024 -0700"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Jun 04 17:29:10 2024 +0000"
      },
      "message": "Adds support for bgra10xr loading.\n\nBug: skia: https://github.com/flutter/flutter/issues/148851\nChange-Id: I79cbd7043638a0cb455c2477baabbcb4895a0a5d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/861638\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Aaron Clarke \u003caaclarke@google.com\u003e\n"
    },
    {
      "commit": "9478a634ff6de41f47fe62374764f6acdcd413ff",
      "tree": "693db171584e4c328f76ef374220207c000ff07c",
      "parents": [
        "934b734ed72a27b94697fdd25f15574879e3c8ff"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@chromium.org",
        "time": "Mon Apr 15 15:27:48 2024 +0200"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Apr 15 14:13:19 2024 +0000"
      },
      "message": "Remove assert from powf_\n\nThis assert is being hit on some builders, likely from the call to\n  powf_(tf-\u003ea * x + tf-\u003eb, tf-\u003eg)\ninside skcms_TransferFunction_eval.\n\nRather than patch up this powf_ call, change powf_ to return 0 for\nnegative inputs. This allows us to remove the powf_(fmaxf_) pattern\nfrom skcms_TFType_PQish.\n\nBug: chromium:333638402\nChange-Id: I6edc8af2818a1252fb88d5da89f91ee25e285247\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/839557\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Christopher Cameron \u003cccameron@google.com\u003e\nCommit-Queue: Christopher Cameron \u003cccameron@google.com\u003e\n"
    },
    {
      "commit": "934b734ed72a27b94697fdd25f15574879e3c8ff",
      "tree": "aff3367e97913b60d78e41233de805eaf3274813",
      "parents": [
        "defc2fa459b6971225611518ce270c287a3c0a85"
      ],
      "author": {
        "name": "K Lubick",
        "email": "kjlubick@google.com",
        "time": "Tue Apr 02 11:29:26 2024 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Apr 02 15:52:10 2024 +0000"
      },
      "message": "Remove unnecessary return statement\n\nChange-Id: If3e3e5c2cadf61a9296ef68525205cfcec6701e4\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/835277\nAuto-Submit: Kevin Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Kevin Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "defc2fa459b6971225611518ce270c287a3c0a85",
      "tree": "528d9a98527583f445abb6df595739332c96a334",
      "parents": [
        "d52adb9ccd98fd37a081bfc4fe1d3b5634959203"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Mar 18 10:52:37 2024 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Mar 18 14:57:29 2024 +0000"
      },
      "message": "Fix misspelling in AVX #define.\n\n`F_from_Half` and `Half_from_F` were running the base SSE2\nimplementation on sub-AVX512 Intel platforms, even though F16C is\nwidely available. (F16C was introduced in 2009, between AVX1 and\nAVX2).\n\nChange-Id: If0e814b9885dd556dab9278a9ea1efadf69ac925\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/827837\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "d52adb9ccd98fd37a081bfc4fe1d3b5634959203",
      "tree": "1262470609193d7431ffc112fb14a59214d3ad5c",
      "parents": [
        "b440ca2fa89c9d03258c2997680fbb5294ab7c38"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Wed Mar 13 13:44:24 2024 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Mar 13 18:01:52 2024 +0000"
      },
      "message": "Disable musttail on LoongArch\n\nDevelopers contributing LoongArch support have indicated that they had\nto disable musttail\n\nChange-Id: I5aaca3c45517d581078b197c85a34da2b170bca3\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/825726\nAuto-Submit: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "b440ca2fa89c9d03258c2997680fbb5294ab7c38",
      "tree": "c309f5d75987c0872d2162b392b1b45deea15a45",
      "parents": [
        "fa4c93a17fe692e366c727b41da8c37deaa69d7c"
      ],
      "author": {
        "name": "K Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Mar 08 14:24:46 2024 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Mar 08 19:50:29 2024 +0000"
      },
      "message": "Move assert to static_assert\n\nClangTidy pointed this out.\n\nChange-Id: I59f34bb58a0336fe30fe5f4ce6e118a1b47bbb87\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/823734\nAuto-Submit: Kevin Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Kevin Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "fa4c93a17fe692e366c727b41da8c37deaa69d7c",
      "tree": "704638027fc35b636f1c54d387656286c84b037a",
      "parents": [
        "ffaff60d965902f714aaded17312e6b50020f667"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Dec 07 17:25:58 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Dec 08 16:17:26 2023 +0000"
      },
      "message": "Use one-big-switch when [[clang::musttail]] is unavailable.\n\nThis is intended to generate the exact same code as before when\nSKCMS_HAS_MUSTTAIL is not enabled.\n\nBug: chromium:1504816\nBug: chromium:1504823\nChange-Id: Ice4e25696dfd98ba3de14bad5c58c60e69f38902\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/787502\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "ffaff60d965902f714aaded17312e6b50020f667",
      "tree": "8af888797961ff93e794b7b1199fc9f9e00eb5e0",
      "parents": [
        "945923e2145794c25de313c3d9d9acb2b676f2f2"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Dec 07 13:18:53 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Dec 07 13:24:22 2023 +0000"
      },
      "message": "Revert \"When tailcalling is not supported, loop over stages.\"\n\nThis reverts commit 945923e2145794c25de313c3d9d9acb2b676f2f2.\n\nReason for revert: performance impacts different than expected\n\nOriginal change\u0027s description:\n\u003e When tailcalling is not supported, loop over stages.\n\u003e\n\u003e When [[clang::musttail]] is unavailable, using tailcalls seems to be\n\u003e less efficient on Android and Windows than using a conversion loop.\n\u003e This CL should bring our non-tailcalling platform performance back\n\u003e to previous levels.\n\u003e\n\u003e Change-Id: I90589d0550f5a9261e946541d19c8d7f633bc29c\n\u003e Bug: chromium:1504816\n\u003e Bug: chromium:1504823\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/786459\n\u003e Commit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n\u003e Auto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n\u003e Reviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n\nBug: chromium:1504816\nBug: chromium:1504823\nChange-Id: I15a51bba3452e8bb067975e1ddc07db6a7a35528\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/787307\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "945923e2145794c25de313c3d9d9acb2b676f2f2",
      "tree": "395e0259b13f3a060cd69140628af3ed323cab0a",
      "parents": [
        "529510fe003a3ccbf2d0d76939bf49f88b825177"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Tue Dec 05 11:45:34 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Dec 05 18:08:43 2023 +0000"
      },
      "message": "When tailcalling is not supported, loop over stages.\n\nWhen [[clang::musttail]] is unavailable, using tailcalls seems to be\nless efficient on Android and Windows than using a conversion loop.\nThis CL should bring our non-tailcalling platform performance back\nto previous levels.\n\nChange-Id: I90589d0550f5a9261e946541d19c8d7f633bc29c\nBug: chromium:1504816\nBug: chromium:1504823\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/786459\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "529510fe003a3ccbf2d0d76939bf49f88b825177",
      "tree": "8af888797961ff93e794b7b1199fc9f9e00eb5e0",
      "parents": [
        "4dba2348bc3cb863bc37854d93a44d8c31028d5e"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Mon Dec 04 15:39:26 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Dec 04 15:59:25 2023 +0000"
      },
      "message": "Disable musttail on RISC-V\n\nBug: b/314692534\nChange-Id: I280b9a8d09c39129f4814beaed65fde41a62dc87\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/785718\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "4dba2348bc3cb863bc37854d93a44d8c31028d5e",
      "tree": "9907632e9d32d22e9411ffcf8f0b77bc8cca93fb",
      "parents": [
        "437623f714b814de1f829cf824336bc50959a6eb"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 30 17:45:06 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Dec 01 14:22:19 2023 +0000"
      },
      "message": "Re-enable [[clang::musttail]] on 64-bit Android.\n\nOur issues with [[clang::musttail]] on Android appear to be\nsimilar to b/241922611, which only affects arm-v7 (32-bit).\nRather than disabling [[clang::musttail]] for all Android\ndevices, we can scope the mitigation to 32-bit ARM instead.\n(Unfortunately, this still leaves Chrome on Android\nimpacted until go/64bit-clank lands.)\n\nUnfortunately, there isn\u0027t a Chromium Canary option here, but\nif this doesn\u0027t work as expected, it will prevent skcms from\nrolling; if this occurs we can just roll this CL back.\n\nBug: chromium:1504548\nBug: chromium:1504823\nBug: chromium:1504816\nChange-Id: Iaf21319cb21fd9e56ce220c3e96491103ddb474a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/785177\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "437623f714b814de1f829cf824336bc50959a6eb",
      "tree": "50a8c34cb1332d7c6b527b6b0bcad15f59f69fee",
      "parents": [
        "e0a502ae9dab9b659018cbc07d98dda20a305cec"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 30 22:28:51 2023 +0000"
      },
      "committer": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 30 22:39:57 2023 +0000"
      },
      "message": "Reland \"Use tailcall recursion to process skcms ops.\"\n\nThis reverts commit e0a502ae9dab9b659018cbc07d98dda20a305cec.\n\nReason for revert: experiment complete - https://screenshot.googleplex.com/3jGGaL8NX3kthzn\n\nOriginal change\u0027s description:\n\u003e Revert \"Use tailcall recursion to process skcms ops.\"\n\u003e\n\u003e This reverts commit 7cf575c421865b23b898e7a1b9cbcd3f6ecc63da.\n\u003e\n\u003e Reason for revert: This is a temporary revert to test for performance deltas on Pinpoint. Barring unforeseen circumstances, this CL will be relanded shortly.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Use tailcall recursion to process skcms ops.\n\u003e \u003e\n\u003e \u003e This is dramatically faster on M1 processors (and likely other ARMs)\n\u003e \u003e compared to a giant switch. It is also 25% faster on AMD EPYC (hsw).\n\u003e \u003e The MSVS + clang-cl configuration fails tests when SKCMS_MUSTTAIL is\n\u003e \u003e used, so SKCMS_MUSTTAIL is disabled in this configuration; I don\u0027t\n\u003e \u003e have access to a Windows machine to check the difference in actual\n\u003e \u003e code generation, but hopefully this is a negligible difference.\n\u003e \u003e\n\u003e \u003e Change-Id: Ie2f9569d19f3804fcf3ba77b6148fe8f5c8e13f9\n\u003e \u003e Bug: b/305974160\n\u003e \u003e Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/771479\n\u003e \u003e Commit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n\u003e \u003e Reviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n\u003e\n\u003e Bug: b/305974160\n\u003e Change-Id: I03728c1e9be80c4e8d5a0ae808fb2c977420efab\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/784541\n\u003e Reviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n\u003e Commit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n\u003e Auto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n\nBug: b/305974160\nChange-Id: I1a97be6d27ae9ea719c0d8308e3f6b52ab09efa2\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/784990\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "e0a502ae9dab9b659018cbc07d98dda20a305cec",
      "tree": "b1caa3a2d4c39a78d5d6f56b301efdac629bf932",
      "parents": [
        "3020b5f04bb117ffe75b6088df66143126a3ffbf"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 29 14:46:39 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 29 22:11:46 2023 +0000"
      },
      "message": "Revert \"Use tailcall recursion to process skcms ops.\"\n\nThis reverts commit 7cf575c421865b23b898e7a1b9cbcd3f6ecc63da.\n\nReason for revert: This is a temporary revert to test for performance deltas on Pinpoint. Barring unforeseen circumstances, this CL will be relanded shortly.\n\nOriginal change\u0027s description:\n\u003e Use tailcall recursion to process skcms ops.\n\u003e\n\u003e This is dramatically faster on M1 processors (and likely other ARMs)\n\u003e compared to a giant switch. It is also 25% faster on AMD EPYC (hsw).\n\u003e The MSVS + clang-cl configuration fails tests when SKCMS_MUSTTAIL is\n\u003e used, so SKCMS_MUSTTAIL is disabled in this configuration; I don\u0027t\n\u003e have access to a Windows machine to check the difference in actual\n\u003e code generation, but hopefully this is a negligible difference.\n\u003e\n\u003e Change-Id: Ie2f9569d19f3804fcf3ba77b6148fe8f5c8e13f9\n\u003e Bug: b/305974160\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/771479\n\u003e Commit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n\u003e Reviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n\nBug: b/305974160\nChange-Id: I03728c1e9be80c4e8d5a0ae808fb2c977420efab\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/784541\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "3020b5f04bb117ffe75b6088df66143126a3ffbf",
      "tree": "50a8c34cb1332d7c6b527b6b0bcad15f59f69fee",
      "parents": [
        "55204b9355dc1e666fda522009a230563a6b8081"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 23 08:32:27 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 23 16:34:08 2023 +0000"
      },
      "message": "Disable TransformHsw and TransformSkx on Android.\n\nA matching change was made in http://review.skia.org/780000 but\nwas accidentally made in the Skia repo instead of the skcms repo,\nso it was overwritten by the skcms roller soon after.\n\nThis fix is necessary to unblock the Android roll.\n\nBug: b/310927123\nChange-Id: I0c725b6985bb1b662f4fb58658febcc89bf2fef5\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/782439\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "55204b9355dc1e666fda522009a230563a6b8081",
      "tree": "d0c7394e1962759d20d14e5020f7ba107617f3cb",
      "parents": [
        "b8a30c99d00558a81ccf2601db381d13ed11a303"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 22 13:03:47 2023 -0500"
      },
      "committer": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 22 18:11:34 2023 +0000"
      },
      "message": "Disable [[clang::musttail]] on Windows entirely.\n\nSome Windows tests in Chromium crash mysteriously, and we also\nsee mysterious crashes in our own Test-Win2019-Clang-GCE-CPU-\nAVX2-x86_64-Release-All:\n\nhttps://screenshot.googleplex.com/Ai3P3FhEtR4iUSJ\n\nChange-Id: I80926ab09a31a843908ab0148a7f303deb5cf464\nBug: b/305974160\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/782616\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "b8a30c99d00558a81ccf2601db381d13ed11a303",
      "tree": "5136c5dd0be2586a2428ee34da857d0e2cefe18d",
      "parents": [
        "8a5b9cb3ff9cd17b021668861c392e25765106ae"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 22 11:30:14 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 22 16:42:46 2023 +0000"
      },
      "message": "Improve Emscripten detection.\n\n__EMSCRIPTEN_major__ is only guaranteed to be defined if\nthe program #includes \"emscripten/version.h\", but\n__EMSCRIPTEN__ should always be defined:\n\nhttps://emscripten.org/docs/compiling/Building-Projects.html#detecting-emscripten-in-preprocessor\n\nBug: b/305974160\nChange-Id: I831620d50a216850b175f6f6f25988f25355e06f\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/782438\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "8a5b9cb3ff9cd17b021668861c392e25765106ae",
      "tree": "4a6472628905d151cecea1bb85cfb880b44ebad7",
      "parents": [
        "03a3527b342c29094cc5797f35030116b1a60996"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 22 09:56:03 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 22 15:09:36 2023 +0000"
      },
      "message": "Disable [[clang::musttail]] on Android.\n\nThis attribute causes an ICE in Clang 18 when building for Android.\n\nBug: chromium:1504548\nChange-Id: I0e5b3f809e1a007afb4f224b315f4dda8e5909de\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/782437\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "03a3527b342c29094cc5797f35030116b1a60996",
      "tree": "6b68675c65e8c67044396f5ca0c583c7cb490895",
      "parents": [
        "7cf575c421865b23b898e7a1b9cbcd3f6ecc63da"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 22 09:15:05 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 22 14:30:31 2023 +0000"
      },
      "message": "Eliminate [[clang::musttail]] from wasm builds.\n\nThe roll is currently failing because wasm builds are failing with\n\"error: WebAssembly \u0027tail-call\u0027 feature not enabled\"\n\nIt looks like tail-calling in wasm was only added in 2023:\nhttps://v8.dev/blog/wasm-tail-call\n\nTail-calls aren\u0027t critical for skcms, so let\u0027s disable it.\n\nChange-Id: Iccdde81117e8cb5ebb7c76fd9a26869b364efae6\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/782436\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "7cf575c421865b23b898e7a1b9cbcd3f6ecc63da",
      "tree": "3b9e11d31b603b25f2865fe941da72a48fbf6d2b",
      "parents": [
        "111d4246b3570e291ba6894984ef7b79fe07ffbf"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Sat Nov 18 18:26:11 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 22 13:54:57 2023 +0000"
      },
      "message": "Use tailcall recursion to process skcms ops.\n\nThis is dramatically faster on M1 processors (and likely other ARMs)\ncompared to a giant switch. It is also 25% faster on AMD EPYC (hsw).\nThe MSVS + clang-cl configuration fails tests when SKCMS_MUSTTAIL is\nused, so SKCMS_MUSTTAIL is disabled in this configuration; I don\u0027t\nhave access to a Windows machine to check the difference in actual\ncode generation, but hopefully this is a negligible difference.\n\nChange-Id: Ie2f9569d19f3804fcf3ba77b6148fe8f5c8e13f9\nBug: b/305974160\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771479\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "111d4246b3570e291ba6894984ef7b79fe07ffbf",
      "tree": "83d8d3dc364db92f5e3b62b758e4d714c582cd7d",
      "parents": [
        "c0be9bb8bc1754c9de91b9b22f8f578fa9b39207"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Tue Nov 21 13:31:53 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 21 18:40:48 2023 +0000"
      },
      "message": "Improve R+G+B op fusing logic.\n\nPreviously, we checked for R+G+B ops on every iteration through\nthe `select_curve_ops` loop because we needed to substitute the\nfused RGB op before the A op was added. Now, we process the\nchannels in reverse order--yielding A/B/G/R instead of R/G/B/A.\nWith RGB at the end of the list, it is easy to substitute out\na fused op (simply move the cursor back and change the op) at\nthe end of the loop instead of checking on each loop iteration.\n\nThis isn\u0027t a big deal but the RGB check inside of the curve-\npicking inner loop never felt like a good solution to me.\n\nChange-Id: I978346ceb1b12e116a64af06e909e5adbfd7eedc\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/780816\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "c0be9bb8bc1754c9de91b9b22f8f578fa9b39207",
      "tree": "610b1d79b5bfe284b0a30c54b863c961059d69f3",
      "parents": [
        "08d56f5a4cef5d6d15dd971a6f6dcb3680134f73"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Nov 20 14:58:34 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Nov 20 21:08:50 2023 +0000"
      },
      "message": "Replace -march\u003d with -mfeature toggles.\n\nThis gives us parity with Chromium (https://crrev.com/c/5046492)\nand is also more similar to the original implementation, which\nenabled exactly these sets of flags.\n\nBug: b/310927123\nChange-Id: Ie9261b01fc88ae4e365fb0b0fd6d33997cdde007\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/781517\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "08d56f5a4cef5d6d15dd971a6f6dcb3680134f73",
      "tree": "6ffeff8bb7e677dcb819cbc9bb65ea6858797247",
      "parents": [
        "02a8c06386019df9c2f84e81ec8c54e1ce06a7dd"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Sat Nov 18 18:26:09 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Nov 20 15:18:18 2023 +0000"
      },
      "message": "Migrate HSW/SKX transform code into separate translation units.\n\nThis should be safe to land after http://review.skia.org/780000\nis submitted.\n\nBug: b/310927123\nChange-Id: I16f026a45b10cd79388dc2ca1ea7ffa985773d58\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/780102\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "02a8c06386019df9c2f84e81ec8c54e1ce06a7dd",
      "tree": "b1ada597415ea1703ab75e8d846df713e3a059e2",
      "parents": [
        "2b3cf74d484dfb00387d62274adab5bd0c953ed1"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Sat Nov 18 18:23:28 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Sun Nov 19 03:10:57 2023 +0000"
      },
      "message": "Add #includes for ptrdiff_t, size_t, and uint32_t.\n\nThis should help fix the Google3 roll: http://screen/9Lja4vRrpGUgjUJ\n\nChange-Id: I3e838cc7647796a1f37de7c37b122e35aaf7eac4\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/780876\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "2b3cf74d484dfb00387d62274adab5bd0c953ed1",
      "tree": "1342319374662e173f2e348095e11e67cbabef67",
      "parents": [
        "c78898563c214f23353e27f5fa5256dd78cfffc2"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Nov 17 13:07:42 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 17 18:32:17 2023 +0000"
      },
      "message": "Fix ClangTidy complaint about function definitions in headers.\n\nPreviously this was static, but we are splitting the code out\ninto separate translation units so we can no longer do this.\nClangTidy recommends `inline` here but the suggestion is wrong.\n\nChange-Id: I4ab9e487236f33a6985b3e1abc24b092d9196248\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/780577\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "c78898563c214f23353e27f5fa5256dd78cfffc2",
      "tree": "3beea3bc237c8ca229ae21d521e457cfd0a4d521",
      "parents": [
        "568ad6367060d01fd9a7b2d77c393a87615739bd"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Nov 17 10:42:58 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 17 16:48:23 2023 +0000"
      },
      "message": "Migrate baseline transform code into a separate translation unit.\n\nChange-Id: Ia85610ec12db4a698993824578bb2e668c10c31e\nBug: b/310927123\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774644\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "568ad6367060d01fd9a7b2d77c393a87615739bd",
      "tree": "0842f334513c571b805d8d2028854768a96ea46e",
      "parents": [
        "e59bd6aea5ea57f7637559c70e736391920032c3"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Nov 17 10:25:55 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 17 15:32:05 2023 +0000"
      },
      "message": "Fix Emscripten SIMD support.\n\nChange-Id: Ib6564dcdbb6915db1106047a75439b6a1bb7876c\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/780576\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "e59bd6aea5ea57f7637559c70e736391920032c3",
      "tree": "a1a83a5cb694a87ad26cfb4ddd82b76bbc52b0d0",
      "parents": [
        "fb11678cf25f14007877a73bc5f95b11270a2a76"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 15 17:42:52 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 15 18:03:21 2023 +0000"
      },
      "message": "Create new (empty) translation units for skcms_Transform.\n\nThese are set up to build with the appropriate architecture, but\ndo not yet have any code in them; in followup CLs we will migrate\nthe transform logic into these cc files, once downstream projects\nare updated.\n\nChange-Id: Ia6d67f6ae20eb44986e72e72e92b35b22307d06c\nBug: b/310927123\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/778714\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "fb11678cf25f14007877a73bc5f95b11270a2a76",
      "tree": "10959f2dfc80b51d73b92e02d9c75dd3a7804e83",
      "parents": [
        "6e457de6a52843784839ea9e06c9df91d8644210"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 09 19:46:39 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 10 13:58:56 2023 +0000"
      },
      "message": "Split out target flags from $extra_cflags.\n\nTo compile particular TUs with Haswell- or Skylake-specific target\nflags, we must be able to disambiguate the target-related flags\nfrom the other flags like -O0 or -Dsomething.\n\nChange-Id: Ia49a3969709a8ff26e55c28da58dbfcb5445c89a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/777096\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "6e457de6a52843784839ea9e06c9df91d8644210",
      "tree": "f6ee1ee5c7277d820c8412b4d1c6ba7103bcd9e7",
      "parents": [
        "d4f59beec7488589c7c1cbbb94b48d488287ac6c"
      ],
      "author": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Thu Nov 09 16:11:25 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 09 16:38:30 2023 +0000"
      },
      "message": "//infra/bots/bot.py: Stop deleting Xcode on every Mac task run.\n\nFor some reason, skcms-Mac deletes and downloads Xcode on every run. This makes said task take several minutes longer than it would otherwise.\n\nThe line that deletes Xcode was introduced in https://skia-review.googlesource.com/c/skcms/+/374164, which updated the Xcode version. Although no rationale was given, I suspect the delete step was a temporary measure to refresh the cached Xcode version.\n\nChange-Id: Ia4b05f71ca528df0591a588959024f6f234f85c7\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/776541\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Leandro Lovisolo \u003clovisolo@google.com\u003e\nAuto-Submit: Leandro Lovisolo \u003clovisolo@google.com\u003e\n"
    },
    {
      "commit": "d4f59beec7488589c7c1cbbb94b48d488287ac6c",
      "tree": "763380c9eb88bc950313d5292a7b8fa79732bf79",
      "parents": [
        "5274816f3d53154a9abce01c3b2400ea9b12784d"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 09 10:39:27 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 09 16:12:03 2023 +0000"
      },
      "message": "Silence Ninja build errors when the Android NDK is missing.\n\nRather than fail the build, we just skip the Android builds when\nthe NDK is missing now.\n\nChange-Id: I9d4ff5e3dddf5541de2d498be4d3da1bfa70f7b3\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/776696\nCommit-Queue: Ben Wagner \u003cbungeman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Ben Wagner \u003cbungeman@google.com\u003e\n"
    },
    {
      "commit": "5274816f3d53154a9abce01c3b2400ea9b12784d",
      "tree": "6aa255ea1277345c011ca438ff6bdcdb01bd7b99",
      "parents": [
        "5037b3433fc8f7069994df0caf1075e2d7f6d608"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 08 17:05:41 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 09 14:56:47 2023 +0000"
      },
      "message": "Migrate HSW/SKX/PORTABLE flag cleanup block to skcms_internals.\n\nAll our our .cc\u0027s will need to agree on the value of these flags.\n\nChange-Id: I3d26985cb9944493477158f544dd2a2bdd962044\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/776119\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "5037b3433fc8f7069994df0caf1075e2d7f6d608",
      "tree": "9196f1316d49f83959a13f0252ff77963dd63def",
      "parents": [
        "b60ffc00fe5c51b03d8ceead70f5149a8793c439"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 08 10:18:11 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 08 17:00:45 2023 +0000"
      },
      "message": "Remove skcms_internal.h\n\nNow that http://review.skia.org/775836 has landed, this file is no\nlonger used or referenced.\n\nChange-Id: I85cbeffbb9ea8b06b2bcb28909ddafa7111119c9\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774822\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "b60ffc00fe5c51b03d8ceead70f5149a8793c439",
      "tree": "ebcc412e8df2c44aa787419f40769a4c467bdaf2",
      "parents": [
        "36546e599e06d588e3254b98bffa4b4fe047fad0"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Tue Nov 07 09:43:56 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 07 15:02:05 2023 +0000"
      },
      "message": "Fix issues encountered in google3 roll (again).\n\nNO_G3_REWRITE strikes again.\n\nChange-Id: I3c1bad484e823176db07de881422739695044b26\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774820\nReviewed-by: Kevin Lubick \u003ckjlubick@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "36546e599e06d588e3254b98bffa4b4fe047fad0",
      "tree": "f63fe18ee50c92cd989875c26c1e85845e12d88f",
      "parents": [
        "e9cc5993398f5bcad9bf62201538c73ae86424ca"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Nov 06 20:15:35 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 07 13:11:38 2023 +0000"
      },
      "message": "Fix issues encountered in google3 roll.\n\nWe need to avoid accidental G3 path rewrites, and ensure that our\ntypes are always properly forward-declared (in a C friendly way).\n\nChange-Id: Ic81087bc6f99636b441c35351844aa7df10dc7b2\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774816\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "e9cc5993398f5bcad9bf62201538c73ae86424ca",
      "tree": "00f90556864e185710036363caf36a4f71727faa",
      "parents": [
        "cd60a4f973b5d17b17ffdbb2d86078b4d1aff45a"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Nov 06 15:04:27 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Nov 06 20:44:59 2023 +0000"
      },
      "message": "Replace automatic CPU detection with explicit flags.\n\nContext: We cannot reliably use attributes to change the compile\narchitecture without getting suboptimal codegen\n(http://go/llvm-issue/64706) in Clang. Previously, these issues\nwere minor because the skcms main loop was all inside one big\nfunction. Now we are restructuring things to split up work into\nmultiple small functions, so we can no longer ignore it.\n\nBecause we cannot use attribute(target) to control the architecture,\nwe will need to split out the HSW and SKX implementations into\nseparate translation units. (This will happen in followup CLs.)\nThese translation units will not be able to infer the project\u0027s\n\"default\" architecture via #if defined(...) since they will be\nusing -march\u003dhaswell or -march\u003dskylake in their build config.\nFollowing that thread of logic, this means that we cannot\nrely on probing the \"default\" architecture when dealing with\nHaswell+ or Skylake+.\n\nInstead of probing the architecture, we now have explicit flags:\n- SKCMS_DISABLE_HSW\n- SKCMS_DISABLE_SKX\nThese flags will prevent the HSW and SKX code from being compiled.\nThe baseline implementation cannot be disabled.\n\nAnd to control testing, we have three:\n- SKCMS_FORCE_BASELINE\n- SKCMS_FORCE_HSW\n- SKCMS_FORCE_SKX\nSetting one of these flags will force that implementation to be\nused, regardless of the current machine\u0027s capabilities.\n\nFinally, SKCMS_NO_RUNTIME_CPU_DETECTION was removed. I wasn\u0027t able to\nfind any projects which relied on this flag, fortunately.\n\nThe \"baseline\" setting on Intel is considered to be 4-lane SSE\nas before, and will continue to be SSE2 or SSE4.1 based on the\narchitecture detected at compile time. (There has never been a\nseparate Transform function for SSE2 and SSE4.1; perhaps the\nbenefit from SSE4.1 is too small to justify the increase in\ncode size?)\n\nThe previously existing SKCMS_PORTABLE flag continues to exist\nand will override all of these flags to generate fully scalar\ncode.\n\nChange-Id: I0a5ae70c65f8277918020d3b1dc0ab8c875627be\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774641\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "cd60a4f973b5d17b17ffdbb2d86078b4d1aff45a",
      "tree": "253b114513083806a7f5fd2d92499b8bdbf18d2a",
      "parents": [
        "42030a771244ba67f86b1c1c76a6493f873c5f91"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Nov 06 12:28:54 2023 -0500"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Nov 06 20:44:59 2023 +0000"
      },
      "message": "Copy skcms public-API header into src directory.\n\nThe top-level `skcms.h` is still intended for external clients,\nbut it is just a simple wrapper around `src/skcms_public.h` now.\n\nChange-Id: Ia58760fb2bce6db8675a7f1925a1d72324677338\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774336\nReviewed-by: Herb Derby \u003cherb@google.com\u003e\n"
    },
    {
      "commit": "42030a771244ba67f86b1c1c76a6493f873c5f91",
      "tree": "e6ea32ed26958873f76ae1db457dfa09b41008f4",
      "parents": [
        "c8ee233dbca39f1108a6e26a83fc02b77f18c830"
      ],
      "author": {
        "name": "Evgenii Kliuchnikov",
        "email": "eustas@google.com",
        "time": "Fri Nov 03 16:07:50 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 03 16:50:33 2023 +0000"
      },
      "message": "Fix integer overflow on cast\n\nBug: b/309105245\nChange-Id: I3d274392d44f162f5bd42bd00d93177187273277\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774396\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "c8ee233dbca39f1108a6e26a83fc02b77f18c830",
      "tree": "cf650786d52adb1b3601f140ddd289f24d03d0d2",
      "parents": [
        "d0d3db899486702424aa2906da1f839a10d4da22"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Nov 03 09:58:10 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 03 14:48:38 2023 +0000"
      },
      "message": "Copy skcms_internal header into src directory.\n\nThis CL should land after Skia\u0027s http://review.skia.org/774156,\nwhich sets up placeholder files and Bazel rules which include\nthe new header. After these land and roll, the top-level header\nand its references can be cleaned up and deleted.\n\nMoving the header into src/ is useful because it needs to be\n#included from `skcms_Transform.cc`. Using ..-relative #includes\nin Google3 (i.e. `#include \"../skcms_internal.h\"`) seems dangerous\nto me, so this CL lets us use `#include \"skcms_internal.h\"` instead.\n\nThe name is changed to \"skcms_internals\" from \"skcms_internal\" in\norder to work around a Gerrit check for duplicated header names.\n\nChange-Id: I4f6710be815f92d82d4d7a56c0cc326aed323910\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/774077\nReviewed-by: Herb Derby \u003cherb@google.com\u003e\nCommit-Queue: Herb Derby \u003cherb@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "d0d3db899486702424aa2906da1f839a10d4da22",
      "tree": "ff692005e76f372bcaa65722907712e6f1972b7e",
      "parents": [
        "7c271ce5dd45100f27d0f36c856e54d86bf53dfc"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 02 15:30:59 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 02 20:00:32 2023 +0000"
      },
      "message": "Remove redundant Color typedef.\n\nColor was always synonymous with float, and was only used to build\nthe F type. (Possibly we had double support at one time?)\n\nChange-Id: I79f09fd36a45d0f9165d66a1f9485cd7587961d4\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/773907\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "7c271ce5dd45100f27d0f36c856e54d86bf53dfc",
      "tree": "597255afba705e31a2d9308e30b155db8276409b",
      "parents": [
        "7096daca87392c4bad18f3a15be6924bde57c17b"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Nov 02 10:09:21 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 02 14:45:08 2023 +0000"
      },
      "message": "Migrate INFINITY_ to the shared Transform header.\n\nAdditionally, Clang and GCC have a builtin which can generate an\ninfinity without needing to bit-pun via a union.\n\nChange-Id: Id7f30075949b85fc02da4bf1055bee58e1f75b3b\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/773463\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "7096daca87392c4bad18f3a15be6924bde57c17b",
      "tree": "fe736a7ee790f45e508ba839cbb1ac408052a4ea",
      "parents": [
        "2b581aa447e41e5fd7b700ff4135132f6b5b1a10"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 17:12:46 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 01 22:06:39 2023 +0000"
      },
      "message": "Move transform op list into header.\n\nThis needs to be shared with the Transform code, so it can\u0027t\nlive in skcms.cc if we are going to have multiple TUs.\n\nBug: b/305974160\nChange-Id: Icb8c332aa777987b6cf695eb1786140b660a1ce9\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/773339\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "2b581aa447e41e5fd7b700ff4135132f6b5b1a10",
      "tree": "45ab2d97fd903c815f283c4c39e45f4cdbf1d729",
      "parents": [
        "dacb7ead0e0b316d3719e189fea936e82f7e1d3c"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 16:46:00 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 01 21:45:00 2023 +0000"
      },
      "message": "Prep for tailcall-based implementation.\n\nThis CL lands the portions of http://review.skia.org/771479 that can\nbe patched in safely without actually switching to a tailcall-based\nimplementation. (There is a lot of prepwork that needs to happen\nfirst, so the actual switch can\u0027t happen for a while, so this limits\nthe amount of code that will need to be rebased.)\n\nChange-Id: I4ca40980ee8bab0cffecc7d2dd4756371e8b33a0\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/773234\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "dacb7ead0e0b316d3719e189fea936e82f7e1d3c",
      "tree": "10775b244c8a271f9c0c96c58365227701fe2ea6",
      "parents": [
        "10d18c9f187d16d37e605559aee17222721d2050"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 12:20:14 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 01 16:57:40 2023 +0000"
      },
      "message": "Move shared macros into skcms_internal.h.\n\nThis is another step on the road to separate translation units,\nseparating out shared code from skcms.cc.\n\nChange-Id: Ibe08a3a88ddb141e0e7b519452bc07bdae8a1b2c\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772601\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "10d18c9f187d16d37e605559aee17222721d2050",
      "tree": "b5578cb9a57dbe9872d2395c0d5debfd75905f47",
      "parents": [
        "3c49869320239b79a686843e4a4d04bac22ae802"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 12:01:52 2023 -0400"
      },
      "committer": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 16:42:10 2023 +0000"
      },
      "message": "Rename src/Transform.h to src/skcms_Transform.h.\n\nSkottie also has a header named `src/Transform.h` and this triggers\na \"duplicate filename\" error in the Skia rewrite-includes script.\n\nAssertionError: Header filename is used more than once!\n- modules/skottie/src/Transform.h\n- /Users/johnstiles/skia/modules/skcms/src/Transform.h\n\nChange-Id: If52eb683494d419602b93566685f99af60c6728a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772965\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Herb Derby \u003cherb@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Herb Derby \u003cherb@google.com\u003e\n"
    },
    {
      "commit": "3c49869320239b79a686843e4a4d04bac22ae802",
      "tree": "cdf82890e8448882efa996609eb542d1cce903d0",
      "parents": [
        "59b3b32e331b742bd6c51ffb087165878cf7e2b9"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Wed Nov 01 10:34:07 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 01 14:52:58 2023 +0000"
      },
      "message": "Move Vec class into header.\n\nThis is a first step for creating separate translation units for\nthe Transform code. This CL introduces a `skcms_private` namespace\nfor symbols which will need to cross the boundary between skcms.cc\nand Transform.\n\nChange-Id: I8f52e9e60524e95a2302d1a279d19793680d755d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/773060\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "59b3b32e331b742bd6c51ffb087165878cf7e2b9",
      "tree": "a9914f3fda972bc8098042aca06e8c4e93270c26",
      "parents": [
        "00f6c51bca0aca960bfaf3e01d8f25bb7044ba9f"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Tue Oct 31 10:50:40 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Oct 31 15:46:31 2023 +0000"
      },
      "message": "Remove small_memcpy.\n\nModern clang does not appear to differentiate between memcpy\nand __builtin_memcpy. The performance is identical either way.\n\nChange-Id: I320061bf0c22184e86445ebc9ea5c23f6663db61\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772598\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "00f6c51bca0aca960bfaf3e01d8f25bb7044ba9f",
      "tree": "8cf6e676fdb5a1b4b668a6c20dc3c055e6da64be",
      "parents": [
        "53a2ae4579647ece791f1d402aa53109454a4619"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Oct 30 19:24:34 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Oct 31 13:40:16 2023 +0000"
      },
      "message": "Fix up various ninja/clang targets for Mac.\n\nChange-Id: Ib979424a8970df137790c179f56e6d765366e13d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772340\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "53a2ae4579647ece791f1d402aa53109454a4619",
      "tree": "3c98e749d6c0f34c96ca215ada110859f2d3b6cb",
      "parents": [
        "29ce1bdfacccbf3d26dcb9f6c0476e7ad6ccd51f"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Oct 30 18:33:36 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Oct 31 13:40:16 2023 +0000"
      },
      "message": "Update skia/bots dependencies in skcms.\n\nChange-Id: I10b1247bc937639d93233cdb757131e19341376a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772378\nReviewed-by: Kevin Lubick \u003ckjlubick@google.com\u003e\n"
    },
    {
      "commit": "29ce1bdfacccbf3d26dcb9f6c0476e7ad6ccd51f",
      "tree": "7ad4925b7e4d2bb0d65e0717c7ca8362e6eff8eb",
      "parents": [
        "c01d0bc50536fb2a2c5b0a522265d04de24f0c94"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Mon Oct 30 15:49:55 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 30 20:38:02 2023 +0000"
      },
      "message": "Prevent runtime CPU detection in Haswell build\n\nChange-Id: Ief0bfd026465a028ee26d970b92d9880f039e39c\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772339\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "c01d0bc50536fb2a2c5b0a522265d04de24f0c94",
      "tree": "6712016acba7aca9ae45a85f78100a79891085b1",
      "parents": [
        "5ff1bf43c350d2c37f6fe7306332dcddba0bda7a"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Oct 30 12:53:36 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 30 17:14:57 2023 +0000"
      },
      "message": "Implement basic RGB op fusing in skcms.\n\nChange-Id: I8f5ce4cba60bfd644c61e46bca2303b0a846c1c3\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771528\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "5ff1bf43c350d2c37f6fe7306332dcddba0bda7a",
      "tree": "3d24c73bc06d5e1abee7a1017eaf16efe5b4d847",
      "parents": [
        "1916b23b1708a69341505f8df8c66f82215fe904"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Oct 30 11:39:26 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 30 16:15:24 2023 +0000"
      },
      "message": "Factor out curve-op selection code.\n\nIn a followup, this will make it easier to fuse separate R+G+B ops\nwith identical transfer functions into a single RGB op.\n\nChange-Id: Iada9786ec71da461aaad37be10231f68a10d2cca\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771527\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "1916b23b1708a69341505f8df8c66f82215fe904",
      "tree": "a638710412700213ced49609a3bfd1f547c50b6e",
      "parents": [
        "fa50717f8c0633bf80ac4c0c6ba302ba7fa33933"
      ],
      "author": {
        "name": "Evgenii Kliuchnikov",
        "email": "eustas@google.com",
        "time": "Mon Oct 30 14:12:53 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 30 15:35:51 2023 +0000"
      },
      "message": "Further harden exp2f_\n\nWhen `x` is less than -127 `fbits` is guaranteed to become negative.\nHowever, if `x` is very large negative value, then `floorf_` causes overflow.\n\nThis change adds a shortcut that prevent calculation of `floorf_` on unhealthy values.\n\nBug: b/308297480\nChange-Id: I3cd008380ab714c21dc2b1636e699dbf3ec9d68c\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/772236\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Evgenii Kliuchnikov \u003ceustas@google.com\u003e\n"
    },
    {
      "commit": "fa50717f8c0633bf80ac4c0c6ba302ba7fa33933",
      "tree": "d6880231a0f189d2a0730ba47f87fe356b5548b9",
      "parents": [
        "a5580e2b5bcd96627d4b9b161bacac5330a09c1a"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Mon Oct 30 10:07:01 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 30 14:33:55 2023 +0000"
      },
      "message": "Add gamma function to skcms.\n\nThis results in less work than applying a complete transfer\nfunction.\n\nChange-Id: I880f9221b780b252893860a78f5e4a18e83d0918\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771486\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "a5580e2b5bcd96627d4b9b161bacac5330a09c1a",
      "tree": "cb806220d2ab2b9d9373f7b5963f40305cc7376e",
      "parents": [
        "32d537e57741e84ac2d9c0946801b22c8809816b"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Fri Oct 27 15:59:01 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 20:48:29 2023 +0000"
      },
      "message": "Add Haswell ninja file\n\nChange-Id: I9a457af4e46f33ef5c10475eb4a5880a8497153e\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771518\nAuto-Submit: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "32d537e57741e84ac2d9c0946801b22c8809816b",
      "tree": "03459d6080ee2bf2ee06e146bfd967c3632e6ee5",
      "parents": [
        "db30c325963ea3e21fdb4e4f5cdb4ac542c2e703"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 15:48:51 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 20:47:24 2023 +0000"
      },
      "message": "Provide a context pointer for every skcms op.\n\nPreviously, some ops would include a context pointer and others\nwould not; the stage was responsible for incrementing the context\npointer if necessary. Now, ops which do not require a context\npointer insert a null into the context array.\n\nThis improves performance slightly on my M1 and makes the code\nmore amenable to tail-calling.\n\nChange-Id: I0d9bbcd19124d0a1d8a2ebaef20633969f16978a\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771480\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "db30c325963ea3e21fdb4e4f5cdb4ac542c2e703",
      "tree": "c5502f025f4762f8c141cfab912b0ba4654a3425",
      "parents": [
        "970fdac2fb62e2459cffa3c687237661d2cd6fa4"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 13:09:51 2023 -0400"
      },
      "committer": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 19:15:51 2023 +0000"
      },
      "message": "Enable C11 and warnings-as-errors in skcms\u0027 Bazel build.\n\nThis mirrors the configuration in ninja/common and ninja/clang:\nhttps://skia.googlesource.com/skcms/+/refs/heads/main/ninja/clang\nhttps://skia.googlesource.com/skcms/+/refs/heads/main/ninja/common\n\nChange-Id: Ib7c3d4d5cb15e548876c82777207ab6faa5ace4b\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771417\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "970fdac2fb62e2459cffa3c687237661d2cd6fa4",
      "tree": "4a75e946ff0e618b1247faea3b603b7a4c470f06",
      "parents": [
        "8e6beb08e1f9b3f2507c6c660fdfba99c6a4c387"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 12:32:57 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 16:51:37 2023 +0000"
      },
      "message": "Disable clang warnings which prevented skcms roll.\n\nPreviously this warning was disabled at the bazel/ninja level,\nwhich solves the problem locally but still causes the warning\nto trigger as the code rolls into other projects.\n\nChange-Id: Ib6951150ebdc042c21037886d61d4daa2f635c0e\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771458\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "8e6beb08e1f9b3f2507c6c660fdfba99c6a4c387",
      "tree": "636b7183fda71ad53e9f0001d83e4ff88d8e5d5b",
      "parents": [
        "699f6de80a312c201abf729f7c5e190425b0eac2"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 11:01:56 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 15:31:56 2023 +0000"
      },
      "message": "Add helper functions for building skcms op list.\n\nAt present, these don\u0027t change any behavior and just do the same\nwork as before. However, this will make it easier to restructure\nthe op list to work more like Raster Pipeline.\n\nChange-Id: I7432a9998fbc51603c5e50e2ce085dc4070aa8b2\nBug: b/305974160\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771457\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "699f6de80a312c201abf729f7c5e190425b0eac2",
      "tree": "5b33b946d69090c7875366c5791cb53fff59018b",
      "parents": [
        "374ddaa86b8bb10b777ae75cd49b01069fe445d9"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Fri Oct 27 11:03:59 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 15:21:37 2023 +0000"
      },
      "message": "Restructure skcms ops to be more like Raster Pipeline.\n\nThis generates extremely similar code, but not entirely identical;\non M1, the instructions appear in a different order, and a handful\nof stages use one fewer instruction. I wasn\u0027t able to discern a\nperformance impact via either skcms bench or nanobench.\n\nChange-Id: I96198b24990e55b06f1e2f9e43f9b53c54d1d9ba\nBug: b/305974160\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771419\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "374ddaa86b8bb10b777ae75cd49b01069fe445d9",
      "tree": "93402976a46dad6764ec2d4c371859c177e8f28b",
      "parents": [
        "f1e5fc856f1ba07df5c837da9439aafadc0e340e"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Fri Oct 27 09:51:08 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Oct 27 14:19:17 2023 +0000"
      },
      "message": "Fix AVX512 feature detection in the ninja file, slightly\n\ncpuinfo on my machine includes both \"flags\" and \"vmx flags\". Previously,\nthe first grep would emit both, and the \"look for lines without avx512f\"\nwould succeed -- even though the actual flags line has that feature.\n\nNow, we only look for lines that actually start with \"flags\".\n\nChange-Id: I77c772417cc3436e872c62f44e85e28416a8874d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771517\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "f1e5fc856f1ba07df5c837da9439aafadc0e340e",
      "tree": "30871597fa6c5dd54d639b02e4989b92bb2db1a8",
      "parents": [
        "b1b8f1ebbd33c9eb04705a49bea3cddab6001c19"
      ],
      "author": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Thu Oct 26 20:44:56 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Oct 26 21:03:04 2023 +0000"
      },
      "message": "[bazel] Update BAZEL.md to reflect the new Mac toolchain.\n\nBug: b/307796721\nChange-Id: I79dbfeab630c137b10a55087a6c476c21abd15dc\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771516\nAuto-Submit: Leandro Lovisolo \u003clovisolo@google.com\u003e\nCommit-Queue: Leandro Lovisolo \u003clovisolo@google.com\u003e\nReviewed-by: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "b1b8f1ebbd33c9eb04705a49bea3cddab6001c19",
      "tree": "a50490956cfd47a46f72dd5ca698cb0514eb2657",
      "parents": [
        "4d94ff507876a07f64b11e20fe5a419423ea315a"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Oct 26 16:25:30 2023 -0400"
      },
      "committer": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Oct 26 20:37:14 2023 +0000"
      },
      "message": "Fix -Wstrict-prototypes error when building skcms.\n\nTrue C code needs `(void)` for an empty parameter list.\nThis allows `ninja -f ninja/clang.native` to build successfully on\nmy machine.\n\nChange-Id: I9586c0a69912ea133893e45510ad397bda1cc7b6\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771418\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "4d94ff507876a07f64b11e20fe5a419423ea315a",
      "tree": "2a977a1e2df3fe0b8941fef0d16526fb0393e0cc",
      "parents": [
        "b4fa9ecc52b5b3cbfec1f38db2b2174457a1249b"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Oct 26 16:00:34 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Oct 26 20:23:18 2023 +0000"
      },
      "message": "Fix skcms tests on Mac.\n\n-ffp-contract needed to be disabled for both the code and the tests.\n\nChange-Id: I35c97604384731904b1aa31f1b915c8afefde171\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771436\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\n"
    },
    {
      "commit": "b4fa9ecc52b5b3cbfec1f38db2b2174457a1249b",
      "tree": "2127d5a10d880c1fd0b7592272c4db2020458fed",
      "parents": [
        "1227163dbdb7fd7253a6f391f71079aa989a75a8"
      ],
      "author": {
        "name": "John Stiles",
        "email": "johnstiles@google.com",
        "time": "Thu Oct 26 10:31:07 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Oct 26 14:49:32 2023 +0000"
      },
      "message": "Fix HLG roundtripping test.\n\nThis test computes the precision of roundtripping the value\n1.000001f through an HLG encode and decode. Originally it expected\nthe result value to be 1.000001 \u003c x \u003c 1.000010. Note that this range\n_excludes_ the input value and assumes that the error will skew\nupwards.\n\nOn M1, the value actually roundtrips with zero error. This triggers\nan assertion because the expected range excluded the input value.\nI\u0027ve changed the expected range to check for 1.000001 ≤ x \u003c 1.000010\nand the test now passes.\n\nChange-Id: Ib6d023162fc6fa9a9db97be9ed2f2cf5efa88078\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771276\nReviewed-by: Brian Osman \u003cbrianosman@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "1227163dbdb7fd7253a6f391f71079aa989a75a8",
      "tree": "b187f329612010edd1a132264d66c4c61e078d3e",
      "parents": [
        "f97537ebdadae972856bb7baeff656215aab1ff4"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Thu Oct 26 13:02:29 2023 +0000"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Oct 26 13:21:02 2023 +0000"
      },
      "message": "Annotate third party imports upstream\n\nThis is a more durable (for skcms) version of:\n    https://skia-review.googlesource.com/c/skia/+/765256\n\nBug: b/237076898\nChange-Id: I67808a0a03b9d37b5e412877e9e6562984bfd65d\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/771176\nReviewed-by: Kevin Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Kevin Lubick \u003ckjlubick@google.com\u003e\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nAuto-Submit: Brian Osman \u003cbrianosman@google.com\u003e\n"
    },
    {
      "commit": "f97537ebdadae972856bb7baeff656215aab1ff4",
      "tree": "cde77713dfcf0eef74d051da9232827175e9462c",
      "parents": [
        "a1d9a5858b7b1bca95b87c2bb0634ea85918c4c5"
      ],
      "author": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Wed Oct 25 17:30:11 2023 -0600"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Oct 26 12:06:52 2023 +0000"
      },
      "message": "[bazel] Add macOS toolchain.\n\nThis CL copies the Skia macOS Bazel toolchain into the SkCMS repository.\n\nI tested this toolchain by running the following commands on my M1 Macbook Pro:\n\n    $ bazel build //...\n    $ bazel test //...\n\nBazel might take several minutes to download the toolchain the first time it runs.\n\nNote that \"bazel test //...\" reports the following test failure:\n\n    expect(1.000001f \u003c skcms_TransferFunction_eval(\u0026dec, skcms_TransferFunction_eval(\u0026enc, 1.000001f))) failed at tests.c:1545\n\nBug: b/307796721\nChange-Id: I000057f1a1dc186d26af6abd232e73b92e292ae9\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/770875\nReviewed-by: Kevin Lubick \u003ckjlubick@google.com\u003e\nCommit-Queue: Kevin Lubick \u003ckjlubick@google.com\u003e\nAuto-Submit: Leandro Lovisolo \u003clovisolo@google.com\u003e\n"
    },
    {
      "commit": "a1d9a5858b7b1bca95b87c2bb0634ea85918c4c5",
      "tree": "c96dc53fa90b860156de0ca40baf64cdd301217b",
      "parents": [
        "1323db7bd0b43b2b4d90aebc0cd4ba6409f689de"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Tue Oct 24 14:54:22 2023 -0400"
      },
      "committer": {
        "name": "SkCQ",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Oct 25 14:44:13 2023 +0000"
      },
      "message": "Remove paletted source support\n\nThis was never used by anyone.\n\nEffectively reverts: https://skia-review.googlesource.com/c/skcms/+/163170\n\nBug: skia:8473\nChange-Id: Iaa137c9661d7cfc4599d074b3323e56d7bd3b0e5\nReviewed-on: https://skia-review.googlesource.com/c/skcms/+/770576\nCommit-Queue: Brian Osman \u003cbrianosman@google.com\u003e\nReviewed-by: Leon Scroggins \u003cscroggo@google.com\u003e\n"
    }
  ],
  "next": "1323db7bd0b43b2b4d90aebc0cd4ba6409f689de"
}
