)]}'
{
  "log": [
    {
      "commit": "d029329bd164a3f38338d95ab56c74f27128a029",
      "tree": "34a5fe981939a96888c98344ff9596652f15434f",
      "parents": [
        "8af715398cfe1ccc337710865aecf80959bd442f",
        "d979ee513cdbc21df5a91af5bbbc155979aad96b"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 14:05:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 14:05:31 2026"
      },
      "message": "Merge pull request #2684 from KhronosGroup/shader-abort\n\nGLSL: Implement GL_EXT_abort"
    },
    {
      "commit": "d979ee513cdbc21df5a91af5bbbc155979aad96b",
      "tree": "34a5fe981939a96888c98344ff9596652f15434f",
      "parents": [
        "07cc23e582cdb415e1765a9d2a2f78079fe0479d"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 13:54:27 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 13:54:27 2026"
      },
      "message": "Fix narrowing warning.\n"
    },
    {
      "commit": "07cc23e582cdb415e1765a9d2a2f78079fe0479d",
      "tree": "ab63e0cb7df3275b7b79a52295c3365ae2c8d870",
      "parents": [
        "8af715398cfe1ccc337710865aecf80959bd442f"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 13:52:15 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 13:52:15 2026"
      },
      "message": "GLSL: Implement GL_EXT_abort\n"
    },
    {
      "commit": "8af715398cfe1ccc337710865aecf80959bd442f",
      "tree": "430fc2a743c9b0c15bcc8fedef8a8fbe161770ec",
      "parents": [
        "00ae9b44c9c16561bdff2e094c518a89f756944b",
        "da0328a19083fc94e63f664e6ff727b5454e8640"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 12:07:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 12:07:45 2026"
      },
      "message": "Merge pull request #2683 from Karpov-Ruslan/function_attributes\n\nGLSL: Implement GL_EXT_maximal_reconvergence, GL_EXT_subgroup_uniform_control_flow and GL_EXT_function_control_attributes"
    },
    {
      "commit": "da0328a19083fc94e63f664e6ff727b5454e8640",
      "tree": "430fc2a743c9b0c15bcc8fedef8a8fbe161770ec",
      "parents": [
        "191119cee258885555db26de2cf05f7afeaa2610"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 18 11:58:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 11:58:49 2026"
      },
      "message": "Apply batched suggestions from code review\n\nCo-authored-by: Hans-Kristian Arntzen \u003cpost@arntzen-software.no\u003e"
    },
    {
      "commit": "191119cee258885555db26de2cf05f7afeaa2610",
      "tree": "c51dc310768d2638e5b74904edef2e1527806688",
      "parents": [
        "157149537be6693b4e002dfc65dc3de8fcf9da93"
      ],
      "author": {
        "name": "ifrfor",
        "email": "karpov.rv@phystech.edu",
        "time": "Fri Sep 18 08:05:23 2026"
      },
      "committer": {
        "name": "ifrfor",
        "email": "karpov.rv@phystech.edu",
        "time": "Fri Sep 18 08:38:20 2026"
      },
      "message": "GLSL: Add support for function control hints\n"
    },
    {
      "commit": "157149537be6693b4e002dfc65dc3de8fcf9da93",
      "tree": "23b5f21b071914b4bce7d95ad41bb7ff44a187f7",
      "parents": [
        "00ae9b44c9c16561bdff2e094c518a89f756944b"
      ],
      "author": {
        "name": "ifrfor",
        "email": "karpov.rv@phystech.edu",
        "time": "Fri Sep 18 07:37:53 2026"
      },
      "committer": {
        "name": "ifrfor",
        "email": "karpov.rv@phystech.edu",
        "time": "Fri Sep 18 07:37:53 2026"
      },
      "message": "GLSL: Add subgroup reconvergence support\n"
    },
    {
      "commit": "00ae9b44c9c16561bdff2e094c518a89f756944b",
      "tree": "dc3eed74504b588639be6507d1444ab2cb868f74",
      "parents": [
        "71055a8144bef210e43cc6519900079629ca7f89",
        "8d0e00a4ffa0824c0573e5cb75f83656e4cd8990"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 13:23:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 13:23:26 2026"
      },
      "message": "Merge pull request #2682 from KhronosGroup/roll-deps\n\nRoll deps"
    },
    {
      "commit": "8d0e00a4ffa0824c0573e5cb75f83656e4cd8990",
      "tree": "dc3eed74504b588639be6507d1444ab2cb868f74",
      "parents": [
        "bdd3479438f3394ab42395c17f5730cc581473e5"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:58:53 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:58:53 2026"
      },
      "message": "GLSL: Prefer EXT_texture_shadow_lod on Vulkan GLSL.\n"
    },
    {
      "commit": "bdd3479438f3394ab42395c17f5730cc581473e5",
      "tree": "ff279dec59fa1d3711a587912ca23ad69d1e5dc0",
      "parents": [
        "1c7b0be304fcb63b9b9da69d15bd06e332aaf525"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:03:05 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:46:49 2026"
      },
      "message": "Roll deps.\n"
    },
    {
      "commit": "1c7b0be304fcb63b9b9da69d15bd06e332aaf525",
      "tree": "04c9aba414a37de8df609e03ce262463fab761ec",
      "parents": [
        "47587f99b8887b5ecc969c561346f179a3d5ce2c"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:46:11 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:46:49 2026"
      },
      "message": "Handle more NonSemantic.DebugInfo versions.\n\nDepending on how glslang is invoked it can arbitrarily use 102 version\ninstead of 100, which broke test suite.\n"
    },
    {
      "commit": "47587f99b8887b5ecc969c561346f179a3d5ce2c",
      "tree": "0c647728884061aeaff7af4864e90b950d3674bc",
      "parents": [
        "71055a8144bef210e43cc6519900079629ca7f89"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:02:19 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 12:02:19 2026"
      },
      "message": "Handle codegen for new glslang descriptor heap.\n\nNeed to consider that storage images can be emitted inside a block type\nnow to signal nonwritable/nonreadable.\n"
    },
    {
      "commit": "71055a8144bef210e43cc6519900079629ca7f89",
      "tree": "99c9e5ae718f5ac2fe12256fb6ac0d5e4de00468",
      "parents": [
        "a9193e76134de63810ee1a57b5343f236d6ff102",
        "cd06139cbbe732faddde181882f8324baa24ec15"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 09:55:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 09:55:42 2026"
      },
      "message": "Merge pull request #2681 from MouseChannel/merge\n\nMSL: Fix invalid pointer constructor when unrolling row-major column …"
    },
    {
      "commit": "cd06139cbbe732faddde181882f8324baa24ec15",
      "tree": "99c9e5ae718f5ac2fe12256fb6ac0d5e4de00468",
      "parents": [
        "c6c94d7fbed04f41f925a23f486f5a2c5bdb4011"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 09:43:55 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 17 09:44:40 2026"
      },
      "message": "Never pass down pointer types to matrix conversions in the first place.\n"
    },
    {
      "commit": "c6c94d7fbed04f41f925a23f486f5a2c5bdb4011",
      "tree": "88c7cb66d3beeea9212f4c4901236adaa5e032dd",
      "parents": [
        "a9193e76134de63810ee1a57b5343f236d6ff102"
      ],
      "author": {
        "name": "mousechannel",
        "email": "mochenghh@gmail.com",
        "time": "Thu Sep 17 05:59:47 2026"
      },
      "committer": {
        "name": "mousechannel",
        "email": "mochenghh@gmail.com",
        "time": "Thu Sep 17 05:59:47 2026"
      },
      "message": "MSL: Fix invalid pointer constructor when unrolling row-major column load\n"
    },
    {
      "commit": "a9193e76134de63810ee1a57b5343f236d6ff102",
      "tree": "4685ebaf3bae3fe1d42211f406772ca65d522226",
      "parents": [
        "f11ba9f0b21ba8fc15153d50a2a1ae31ab1cf8f7",
        "e7496abeaf8acd5c4f36ef585416325f1bff5f33"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Wed Sep 16 12:07:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 12:07:24 2026"
      },
      "message": "Merge pull request #2645 from zainsharief/msl-coopmat-elementwise\n\nMSL: Add cooperative matrix element-wise emulation"
    },
    {
      "commit": "f11ba9f0b21ba8fc15153d50a2a1ae31ab1cf8f7",
      "tree": "85495d43955e3764051db37c9c974e298583de21",
      "parents": [
        "94d59e564363a08b7d053692e9499d0f909c106b",
        "0706157ef54d37a653681d6a0ce6af05350b0e3f"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Wed Sep 16 11:27:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 11:27:19 2026"
      },
      "message": "Merge pull request #2666 from anshulnoori/feat/depth-clip-enable-moltenvk\n\nfeat(msl): add depth clip enable emulation"
    },
    {
      "commit": "94d59e564363a08b7d053692e9499d0f909c106b",
      "tree": "8582ba5b6d327fc546238aa1ad82e0b2b403c5e3",
      "parents": [
        "2ca01986900b7c0f86ccc98bf0da9080332790cd",
        "96f76bcc7ae133e4daf45c3b94663f0b836e61c5"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Wed Sep 16 11:24:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 11:24:27 2026"
      },
      "message": "Merge pull request #2678 from hmennen90/msl-struct-array-stride-padding\n\nMSL: Fix layout of struct arrays whose ArrayStride exceeds the packed struct size"
    },
    {
      "commit": "2ca01986900b7c0f86ccc98bf0da9080332790cd",
      "tree": "38f735e558440028a07b0de737aa7cfd04aefb4d",
      "parents": [
        "00afed5079da75bd8d4ca96f1b8ff2130a96b7f4",
        "90588e91d57e2ed7d50bfe92e4c750aa135d9316"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Wed Sep 16 11:12:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 11:12:56 2026"
      },
      "message": "Merge pull request #2679 from arcusbuilds/fix/2677-cxx11\n\nGLSL: Fix C++11 lambda compatibility"
    },
    {
      "commit": "00afed5079da75bd8d4ca96f1b8ff2130a96b7f4",
      "tree": "57c7327ab9aafd13bb816bd59e3c374a56205185",
      "parents": [
        "be71ee8c12cd7dc5ca8fa9581f708c2e8561fe2a",
        "b16f65747a097c0e9247b67374c9b03fb90c4376"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Wed Sep 16 11:12:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 11:12:36 2026"
      },
      "message": "Merge pull request #2680 from xen2/fix/hlsl-undef-phi-double-zero-init\n\nHLSL: Don\u0027t emit a second zero initializer for OpUndef loop variables"
    },
    {
      "commit": "b16f65747a097c0e9247b67374c9b03fb90c4376",
      "tree": "57c7327ab9aafd13bb816bd59e3c374a56205185",
      "parents": [
        "be71ee8c12cd7dc5ca8fa9581f708c2e8561fe2a"
      ],
      "author": {
        "name": "Virgile Bello",
        "email": "virgile@stride3d.net",
        "time": "Sun Sep 13 11:43:50 2026"
      },
      "committer": {
        "name": "Virgile Bello",
        "email": "virgile@stride3d.net",
        "time": "Sun Sep 13 11:43:50 2026"
      },
      "message": "HLSL: Don\u0027t emit a second zero initializer for OpUndef loop variables\n\nWith --force-zero-initialized-variables, variable_decl() already zero-initializes an OpUndef loop variable, so the suffix added for FXC produced invalid code such as \"uint _19 \u003d 0u \u003d 0u;\".\n"
    },
    {
      "commit": "e7496abeaf8acd5c4f36ef585416325f1bff5f33",
      "tree": "80e2194566c4bd034e885704a657830107ef7636",
      "parents": [
        "9538032a7985418f7e31988a8cffbfa00c3ae1ab"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sat Sep 12 19:37:22 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sat Sep 12 19:37:22 2026"
      },
      "message": "MSL: Use thread elements for coopmat element-wise emulation\n"
    },
    {
      "commit": "90588e91d57e2ed7d50bfe92e4c750aa135d9316",
      "tree": "2c8ec72ead1eded78b611cf496e1aa80c6dba265",
      "parents": [
        "be71ee8c12cd7dc5ca8fa9581f708c2e8561fe2a"
      ],
      "author": {
        "name": "Srijan Keshri",
        "email": "Srijan.Keshri@mindbodyonline.com",
        "time": "Wed Sep 09 01:44:11 2026"
      },
      "committer": {
        "name": "Srijan Keshri",
        "email": "Srijan.Keshri@mindbodyonline.com",
        "time": "Wed Sep 09 02:20:55 2026"
      },
      "message": "GLSL: Fix C++11 lambda compatibility\n"
    },
    {
      "commit": "96f76bcc7ae133e4daf45c3b94663f0b836e61c5",
      "tree": "81fc6cd469c20a75ad666f2c1bd2b911b658cbbb",
      "parents": [
        "be71ee8c12cd7dc5ca8fa9581f708c2e8561fe2a"
      ],
      "author": {
        "name": "Hendrik Mennen",
        "email": "hmennen@gambio.net",
        "time": "Tue Sep 08 11:03:02 2026"
      },
      "committer": {
        "name": "Hendrik Mennen",
        "email": "hmennen@gambio.net",
        "time": "Tue Sep 08 11:03:02 2026"
      },
      "message": "MSL: Fix layout of struct arrays whose ArrayStride exceeds the packed struct size.\n\nA std140 struct array such as `SpotLight lights[4]` (7 members, ArrayStride 64)\npacks to 52 bytes in MSL. Two things went wrong when such an array is followed\nby further members:\n\n1. mark_scalar_layout_structs() runs before the element struct is packed by its\n   own align_struct() pass, so it compared the ArrayStride against the *unpacked*\n   struct size (64 \u003d\u003d 64), never set DecorationArrayStride on the struct and the\n   array was emitted as `SpotLight lights[4]` with a native stride of 52. Every\n   element after the first was read from the wrong offset.\n   align_struct() now re-checks the packed size after ensure_member_packing_rules_msl()\n   and routes the array through spvPaddedArrayElement when needed.\n\n2. When a later compilation pass did switch the array to spvPaddedArrayElement\n   (e.g. triggered by another recompile), the SPIRVCrossDecorationPaddingTarget\n   recorded for the *following* member in the first pass (48 bytes computed from\n   the 4 * 52 layout) was never cleared, so both the padded element and the stale\n   `_mN_pad[48]` were emitted and every member after the array shifted by 48 bytes.\n   align_struct() now recomputes the padding target from scratch on every pass.\n\nAdds a regression shader with a dynamically indexed struct array followed by\nscalar and vector members.\n"
    },
    {
      "commit": "be71ee8c12cd7dc5ca8fa9581f708c2e8561fe2a",
      "tree": "5b63b53d7158f13daf59205682e24edc4658de19",
      "parents": [
        "a4d940425a157242adb034f83c4ef2d77e5d9446"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 12:03:14 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 12:03:55 2026"
      },
      "message": "GLSL: Fix regression with long-vector + weird type mismatches.\n\nNot exposed in normal GLSL.\n"
    },
    {
      "commit": "a4d940425a157242adb034f83c4ef2d77e5d9446",
      "tree": "6fc2b9b0cb7af63b5ff6fbd325825ee7ebcdda03",
      "parents": [
        "83fa691cb8606ca4b3af7f13bfcbedd5668f2a3a",
        "67ac82532209ff929f81e799e670c5b558de2ff5"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 11:45:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 11:45:05 2026"
      },
      "message": "Merge pull request #2676 from KhronosGroup/long-vector-fix\n\nFix long vector bugs with 1 component vectors"
    },
    {
      "commit": "67ac82532209ff929f81e799e670c5b558de2ff5",
      "tree": "6fc2b9b0cb7af63b5ff6fbd325825ee7ebcdda03",
      "parents": [
        "621778eb79bbbcd101d9d2b848e198a2b9f3da63"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 11:36:16 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 11:36:16 2026"
      },
      "message": "GLSL: Add some pragmatic guards against implementation bugs.\n\nIt\u0027s unlikely we\u0027ve found all edge cases where false positive long\nvector would go through. Gate its emission based on SPIR-V caps.\n"
    },
    {
      "commit": "621778eb79bbbcd101d9d2b848e198a2b9f3da63",
      "tree": "d7ef1ec501fc4d065cb4a916ef2b30681344f6ed",
      "parents": [
        "83fa691cb8606ca4b3af7f13bfcbedd5668f2a3a"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 11:13:41 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Sep 07 11:30:50 2026"
      },
      "message": "GLSL: Fix issues with single component long vectors.\n\nNeed to rewrite a lot of old assumptions here.\nPossible there are still gremlins lurking.\n"
    },
    {
      "commit": "0706157ef54d37a653681d6a0ce6af05350b0e3f",
      "tree": "3853113911583bf53a3a45af910b2608f91d89c7",
      "parents": [
        "9c3c8e2cefdd8194b193bb8ed2fdff4d5527e382"
      ],
      "author": {
        "name": "Anshul Noori",
        "email": "anshulnoori@gmail.com",
        "time": "Mon Aug 24 23:37:16 2026"
      },
      "committer": {
        "name": "Anshul Noori",
        "email": "anshulnoori@gmail.com",
        "time": "Sun Sep 06 02:16:20 2026"
      },
      "message": "feat(msl): add depth clip enable emulation\n"
    },
    {
      "commit": "83fa691cb8606ca4b3af7f13bfcbedd5668f2a3a",
      "tree": "423782ba26a2a81b6c235dc3d1361340b8146a2b",
      "parents": [
        "fdfd4e5d9974e1e03530a5db8755b81b3f7c58d7"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 15:00:56 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 15:01:19 2026"
      },
      "message": "Fix accidental crash if we\u0027re running complex continue blocks.\n\nSmall regression from earlier fix.\n"
    },
    {
      "commit": "fdfd4e5d9974e1e03530a5db8755b81b3f7c58d7",
      "tree": "ce321c20007f32e10582016745fa1ead6d1eb1e4",
      "parents": [
        "a9d9b314472b425b196ec3794f373a0a2a964813",
        "be7e85fb68eaaca432a13a399bd7469dd065ac49"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 14:37:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 14:37:57 2026"
      },
      "message": "Merge pull request #2675 from KhronosGroup/glsl-long-vector\n\nGLSL: Add support for EXT_long_vector"
    },
    {
      "commit": "be7e85fb68eaaca432a13a399bd7469dd065ac49",
      "tree": "ce321c20007f32e10582016745fa1ead6d1eb1e4",
      "parents": [
        "f60071c2d53a7f45d51bb49fa54d3b9eaee010e3"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 14:19:59 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 14:19:59 2026"
      },
      "message": "GLSL: Handle OpConstantNull long vectors.\n"
    },
    {
      "commit": "f60071c2d53a7f45d51bb49fa54d3b9eaee010e3",
      "tree": "9fa4144a4b85ce76f2e5031c368b93e44c9368e4",
      "parents": [
        "42d22908659f83436bd2ffed1ba4e883aca59336"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 12:18:29 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 12:18:29 2026"
      },
      "message": "GLSL: Add test for SSA-based long vector opcodes.\n"
    },
    {
      "commit": "42d22908659f83436bd2ffed1ba4e883aca59336",
      "tree": "22f97339f7dda7a6e2fa84c3b46153dab022a9fd",
      "parents": [
        "a9d9b314472b425b196ec3794f373a0a2a964813"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 12:04:39 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Sep 04 12:04:39 2026"
      },
      "message": "GLSL: Add basic EXT_long_vector support.\n\nThe blast radius for this extension is extremely large.\nIt\u0027s not impossible I missed some edge case.\n"
    },
    {
      "commit": "a9d9b314472b425b196ec3794f373a0a2a964813",
      "tree": "18788c2dd72fbe9cde3c6a39f9a84410e344f849",
      "parents": [
        "bb1f908ae0b532aeadb9fdecd8a01ba219733fb8",
        "667ac82feccb0ed255701649dd7509afccb566eb"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:48:55 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:48:55 2026"
      },
      "message": "Merge branch \u0027fix-hlsl-scalar-to-vector-expr\u0027\n"
    },
    {
      "commit": "bb1f908ae0b532aeadb9fdecd8a01ba219733fb8",
      "tree": "875e2e47034681225046a8e773851ebc45f5bb06",
      "parents": [
        "2a5a3ed1ce14dc3bc8b7372df38f9dd2d1991a07",
        "ca7cca0573f50fa159e1b4423d29b027ccc94d2c"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:47:57 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:47:57 2026"
      },
      "message": "Merge branch \u0027fix-glsl-row-major-matrix-order\u0027\n"
    },
    {
      "commit": "ca7cca0573f50fa159e1b4423d29b027ccc94d2c",
      "tree": "8d8e065c6b6fbabd13022b1f6abfb48add27cd3d",
      "parents": [
        "ba7c9f44688680c72f428db662d4b331023bfe0b"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:35:44 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:35:44 2026"
      },
      "message": "Add more test coverage for other backends.\n"
    },
    {
      "commit": "667ac82feccb0ed255701649dd7509afccb566eb",
      "tree": "0d8a4b1e54054a6a96949093e3958e6807468a57",
      "parents": [
        "c6fb52cd3494e8bdc2825e1998eab7d153bc0f13"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:22:49 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:22:49 2026"
      },
      "message": "HLSL: Properly enclose expression when splatting with C-cast.\n"
    },
    {
      "commit": "2a5a3ed1ce14dc3bc8b7372df38f9dd2d1991a07",
      "tree": "5d301fe845786106bb645cadcc2b4d69bc1574f4",
      "parents": [
        "bf0e342fffc7f3a5ddf025796590ee8d9e9e859b"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:20:57 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Sep 03 10:20:57 2026"
      },
      "message": "MSL: Add missing test shader for compilation loop edge case.\n"
    },
    {
      "commit": "c6fb52cd3494e8bdc2825e1998eab7d153bc0f13",
      "tree": "bd658ce862db26714232c53a5856a44dab212742",
      "parents": [
        "cd3fcb2603ede297edb90ab5a679e4ac814055e2"
      ],
      "author": {
        "name": "Laura Hermanns",
        "email": "lukas.hermanns90@gmail.com",
        "time": "Tue Sep 01 23:49:46 2026"
      },
      "committer": {
        "name": "Laura Hermanns",
        "email": "lukas.hermanns90@gmail.com",
        "time": "Wed Sep 02 15:56:32 2026"
      },
      "message": "HLSL: Fix HLSL tests (FXC isn\u0027t running in CI anymore).\n\n- Update HLSL references for \u0027replicated-composites.spv16.vk.asm.comp\u0027;\n  Their scalar-to-vector constructors are not supported by FXC nor DXC,\n  it needs to be a type cast, e.g. `(float4)(0.0f)` instead of `float4(0.0f)`.\n- Don\u0027t run FXC in test_shaders.py script for shader models \u003e 5;\n  Mesh shaders for instance are not supported by FXC.\n- Fix ssbo-store-array.comp test shader;\n  `Data d1` variable was read uninitialized and that fails with FXC\n  while glslang seems to ignore it.\n- There\u0027s one single `[[fallthrough]]` statement in the entire code base;\n  Replace it with a /* fallthrough */ comment like at the other places,\n  to fix warning about being a C++17 feature on MSVC17.\n"
    },
    {
      "commit": "ba7c9f44688680c72f428db662d4b331023bfe0b",
      "tree": "b60790e8189ed040b8fc077cea65bef49b6f7bea",
      "parents": [
        "cd3fcb2603ede297edb90ab5a679e4ac814055e2"
      ],
      "author": {
        "name": "Laura Hermanns",
        "email": "lukas.hermanns90@gmail.com",
        "time": "Wed Sep 02 00:05:05 2026"
      },
      "committer": {
        "name": "Laura Hermanns",
        "email": "lukas.hermanns90@gmail.com",
        "time": "Wed Sep 02 15:21:22 2026"
      },
      "message": "GLSL: Fix row_major matrix order for push_constant to struct translation in OpenGL semantic.\n\nHLSL shaders with the `[[vk::push_constant]]` attribute that are compiled to SPIR-V,\ntheir matrix layout uses row_major by default but these push constants are translated to\nbare structs in GLSL for OpenGL semantics, which do not support `layout(row_major)` qualifiers.\nIn this case, allow the respective expression in `member_is_non_native_row_major_matrix()`\nto be marked with the `need_transpose` bit.\n\nThe expected behavior is presented in the new test \u0027push-constant-row-major-matrix.asm.vert\u0027:\n`gl_Position \u003d matrix_constants.transform * in_var_POSITION;`.\n\nWithout this change, SPIRV-Cross compiles this to the wrong expression:\n`gl_Position \u003d in_var_POSITION * matrix_constants.transform;`\n"
    },
    {
      "commit": "bf0e342fffc7f3a5ddf025796590ee8d9e9e859b",
      "tree": "3d3bb0603eae8db95e36ae1c680ad0c64f5769c9",
      "parents": [
        "763015417e47139b7d397121e727841d49317073"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 14:00:52 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 14:35:49 2026"
      },
      "message": "Don\u0027t skip running continue block code.\n\nThe continue block might be doing transformations on its own that should\ntrigger new compilation iterations.\nAvoids hitting the limit in some extreme cases.\n"
    },
    {
      "commit": "763015417e47139b7d397121e727841d49317073",
      "tree": "8a91c5ece26afe35d89b1d18f232c6293640b2ba",
      "parents": [
        "df0828ca34d6e94ce23ccf211abe6967591dfdda"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 12:48:38 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 13:43:55 2026"
      },
      "message": "MSL: Bump the descriptor set limit to 16.\n"
    },
    {
      "commit": "df0828ca34d6e94ce23ccf211abe6967591dfdda",
      "tree": "3fa9d4a792e0d4b395486d10bd2437efb037ad07",
      "parents": [
        "cd3fcb2603ede297edb90ab5a679e4ac814055e2"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 13:03:25 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Tue Sep 01 13:43:41 2026"
      },
      "message": "MSL: Fix AABBOpaque check. Needs to be inverted.\n"
    },
    {
      "commit": "cd3fcb2603ede297edb90ab5a679e4ac814055e2",
      "tree": "94ee221eef810a64a998434a9fa6b8f126977baf",
      "parents": [
        "d6b093e02cdc5eeaafff6592a6365b317a9dd74b"
      ],
      "author": {
        "name": "walkbackgod",
        "email": "69391547+darrinperry83@users.noreply.github.com",
        "time": "Mon Aug 31 15:13:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 15:13:37 2026"
      },
      "message": "MSL: Reserve Metal type names so resources cannot shadow them. (#2664)\n\nA SPIR-V variable or struct member named after an MSL type emits a declaration\nthat shadows the type, and the next declaration using that type fails to compile:\n\n    texture2d\u003cfloat\u003e sampler [[texture(0)]];\n    sampler samplerSmplr [[sampler(1)]];\n    // error: must use \u0027struct\u0027 tag to refer to type \u0027sampler\u0027 in this scope\n\nThis is reachable from ordinary shaders. Combined image samplers always emit a\n\u0027sampler \u003cname\u003eSmplr\u0027 parameter immediately after the texture, so a resource named\n\u0027sampler\u0027 always breaks. SPIR-V carries arbitrary OpName strings, so the name need\nnot be expressible in GLSL, where \u0027sampler\u0027 is a keyword.\n\nReserve the names emitted by sampler_type() and image_type_glsl(). The existing\ntexture-access.swizzle references show the same shadowing already in the suite\n(a variable named depth2d of type depth2d\u003cfloat\u003e); those compiled only because the\ntype is not used again afterwards."
    },
    {
      "commit": "d6b093e02cdc5eeaafff6592a6365b317a9dd74b",
      "tree": "2be100bd3833115dbaa7d798bc1917fd5df05483",
      "parents": [
        "88960ab8600ad90b0914cabf63171b9c95ccc1c9"
      ],
      "author": {
        "name": "Jackson Yarger",
        "email": "50038825+JackTYM@users.noreply.github.com",
        "time": "Mon Aug 31 14:10:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 14:10:49 2026"
      },
      "message": "MSL: don\u0027t type a resource as depth/comparison from provably dead specialization branches (#2655)\n\n* MSL: declare Dref-sampled resources as their non-depth type, cast at the call site\n\nCombinedImageSamplerUsageHandler previously force-typed any resource touched\nby an OpImageSampleDrefImplicitLod-family instruction as depth2d\u003cT\u003e (or the\ncube/array equivalents), regardless of whether that Dref usage was actually\nreachable. This broke resources that are genuinely sampled both ways (e.g.\nvia a spec-constant-gated branch, or a bindless array indexed by both\ndepth-compare and regular samplers), corrupting the non-depth sample\u0027s\noutput since depth2d\u003cT\u003e only returns real data on the depth channel.\n\nThis replaces that resource-level, usage-derived typing with a strategy that\nnever needs reachability or dead-code analysis at all: sampled-image\nresources always declare as their plain type (texture2d\u003cT\u003e, texturecube\u003cT\u003e,\ntexture2d_array\u003cT\u003e, texturecube_array\u003cT\u003e), and each Dref sample call site\ncasts the resource via a new spvDepthCast() helper immediately before\ncalling sample_compare(). Genuine static depth attachments/render\ntargets/subpass inputs are untouched -- image_type_glsl() now keys off the\nSPIR-V image type\u0027s own depth flag (type.image.depth with\nImageFormatUnknown) rather than the Dref-usage-derived is_depth_image(),\nwhich no longer influences declaration type at all.\n\nVerified against SPIRV-Cross\u0027s own shaders-msl and shaders-msl-no-opt\nsuites (with and without --opt): identical output everywhere except the\nresources that genuinely go through this path, plus three new regression\ntests (2D, texture2d_array, texturecube) covering the pattern, mirroring a\nreal-world case found in Call of Duty: Modern Warfare 2\u0027s reflection-probe\nand sky cubemap shaders under sogen (github.com/momo5502/sogen) -- the same\nspec-constant-gated Dref/plain dual-sample pattern as the original 2D bug,\njust on cube resources instead of 2D, and confirmed via a real end-to-end\nMoltenVK build driving actual Metal hardware.\n\nNo depth2d_ms/texture2d_ms overload: confirmed via spirv-val that any Dref\nsampling operation (Implicit or Explicit Lod) against a multisample image\nis invalid SPIR-V (\"Dref sampling operation is invalid for multisample\nimage\"), so this path is not reachable for MS resources at all.\n\n* Fix various test suite fallouts.\n\nCo-authored-by: Hans-Kristian Arntzen \u003cpost@arntzen-software.no\u003e"
    },
    {
      "commit": "88960ab8600ad90b0914cabf63171b9c95ccc1c9",
      "tree": "7823a980622760214bd33cc477b188157e6e8993",
      "parents": [
        "9c3c8e2cefdd8194b193bb8ed2fdff4d5527e382"
      ],
      "author": {
        "name": "baggins183",
        "email": "baggins31084@proton.me",
        "time": "Mon Aug 31 12:23:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 12:23:21 2026"
      },
      "message": "Merge pull request #2652 from baggins183/shared_memory_blocks\n\n(GLSL) Support SPV_KHR_workgroup_memory_explicit_layout"
    },
    {
      "commit": "9c3c8e2cefdd8194b193bb8ed2fdff4d5527e382",
      "tree": "8cd8df24c729d52ad600640bfdc405c061004963",
      "parents": [
        "1f152ab88b426c8cb1558096db2e41be9d934fa6",
        "a159fc7a046569fe7b77325e24c6990a870df252"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 13:06:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 13:06:55 2026"
      },
      "message": "Merge pull request #2661 from KhronosGroup/fix-2653\n\nGLSL: Implement conservative depth properly."
    },
    {
      "commit": "a159fc7a046569fe7b77325e24c6990a870df252",
      "tree": "8cd8df24c729d52ad600640bfdc405c061004963",
      "parents": [
        "1f152ab88b426c8cb1558096db2e41be9d934fa6"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:40:45 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:59:37 2026"
      },
      "message": "GLSL: Implement conservative depth properly.\n"
    },
    {
      "commit": "1f152ab88b426c8cb1558096db2e41be9d934fa6",
      "tree": "3d9fd0206401bc0a52734afd0baa4d6abf914855",
      "parents": [
        "54bb613d9c47d05853f2a09319b783f9f225acb4",
        "3b14d1c66bb4b4b9669716fc66f5d8e44821e122"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:44:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 12:44:36 2026"
      },
      "message": "Merge pull request #2660 from KhronosGroup/fix-2653\n\nHLSL: Don\u0027t declare undef block types."
    },
    {
      "commit": "54bb613d9c47d05853f2a09319b783f9f225acb4",
      "tree": "2aaafd6259360035c063319e49d486fb74bddee7",
      "parents": [
        "5ff3bea0136c5cdc5ae133d5f751e492e6a55f5c",
        "090bb6b7d6fad49f04327d4b54c16ad5c697a345"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:44:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 12:44:25 2026"
      },
      "message": "Merge pull request #2659 from KhronosGroup/fix-2651\n\nNever forward synthesized BDA loads."
    },
    {
      "commit": "3b14d1c66bb4b4b9669716fc66f5d8e44821e122",
      "tree": "7ff00e09cd10a2664e3ece1315785d9d4a573724",
      "parents": [
        "5ff3bea0136c5cdc5ae133d5f751e492e6a55f5c"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:24:30 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:24:30 2026"
      },
      "message": "HLSL: Don\u0027t declare undef block types.\n\nOther backends deal with this in other ways.\n"
    },
    {
      "commit": "090bb6b7d6fad49f04327d4b54c16ad5c697a345",
      "tree": "2aaafd6259360035c063319e49d486fb74bddee7",
      "parents": [
        "5ff3bea0136c5cdc5ae133d5f751e492e6a55f5c"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 11:55:12 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 12:10:24 2026"
      },
      "message": "Never forward synthesized BDA loads.\n"
    },
    {
      "commit": "5ff3bea0136c5cdc5ae133d5f751e492e6a55f5c",
      "tree": "fcead151c4b8c066d99467d643f528851cdd719c",
      "parents": [
        "6c09849fe88c48eaed08413aa022aaa136a3a057",
        "40b96db2ee1691d89ce5b1dd243ac8bed5f9876d"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 10:54:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 10:54:49 2026"
      },
      "message": "Merge pull request #2657 from GustavoSilvera/fix-MSL-matmul\n\nFix spvFMulMatrixMatrix type mismatch for non-square matrix multiply"
    },
    {
      "commit": "40b96db2ee1691d89ce5b1dd243ac8bed5f9876d",
      "tree": "fcead151c4b8c066d99467d643f528851cdd719c",
      "parents": [
        "7a8061390241c15126319c40f6f547c78d395187"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 10:39:57 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 31 10:41:57 2026"
      },
      "message": "MSL: Add some test coverage for non-square precise matmul.\n"
    },
    {
      "commit": "7a8061390241c15126319c40f6f547c78d395187",
      "tree": "b70eb01df2cb27188f924802acc5c7892a654d8f",
      "parents": [
        "6c09849fe88c48eaed08413aa022aaa136a3a057"
      ],
      "author": {
        "name": "Gustavo Silvera",
        "email": "grs5382@gmail.com",
        "time": "Sun Jul 26 05:45:01 2026"
      },
      "committer": {
        "name": "Gustavo Silvera",
        "email": "grs5382@gmail.com",
        "time": "Sun Jul 26 05:45:04 2026"
      },
      "message": "Fix spvFMulMatrixMatrix type mismatch for non-square matrix multiply\n"
    },
    {
      "commit": "9538032a7985418f7e31988a8cffbfa00c3ae1ab",
      "tree": "3d66e1754595584130ad3b038ec6476d51866764",
      "parents": [
        "e8f95f5e69f6ced30717b1dd1c3ec39a50f92973"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 19 20:54:42 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 19 20:54:42 2026"
      },
      "message": "MSL: Hardcode coop-mat dimensions and scope with invalid warning\n"
    },
    {
      "commit": "e8f95f5e69f6ced30717b1dd1c3ec39a50f92973",
      "tree": "0e8f246328d56a1d1a6272b7ad2c3127072df6af",
      "parents": [
        "07e26094a72ea230dcb4ac716e842677e926d65c"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sat Jul 18 17:13:07 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sat Jul 18 17:13:07 2026"
      },
      "message": "MSL: Fix cooperative matrix validation priority\n"
    },
    {
      "commit": "07e26094a72ea230dcb4ac716e842677e926d65c",
      "tree": "02c77939826f33bbb65a0324ca7bf2236ba6c0c9",
      "parents": [
        "a432b60822a6c5fda982dd50d1908643af516418"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Fri Jul 10 20:40:48 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Fri Jul 10 20:40:48 2026"
      },
      "message": "MSL: Use unified fixed-size threadgroup buffer for coop-mat emulation\n"
    },
    {
      "commit": "6c09849fe88c48eaed08413aa022aaa136a3a057",
      "tree": "3477246459ac20f083011431fe861fe6e1ae0cb2",
      "parents": [
        "32cf9a45d6062d01268b0108aac26b1c8951a3df",
        "06b95c405df81ea4ae5b3d135961a47e0c29cad8"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 12:43:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 12:43:32 2026"
      },
      "message": "Merge pull request #2647 from KhronosGroup/fix-2642\n\nHLSL: Support baseline SM 6.4 idot."
    },
    {
      "commit": "06b95c405df81ea4ae5b3d135961a47e0c29cad8",
      "tree": "3477246459ac20f083011431fe861fe6e1ae0cb2",
      "parents": [
        "32cf9a45d6062d01268b0108aac26b1c8951a3df"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 12:32:27 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 12:33:16 2026"
      },
      "message": "HLSL: Support baseline SM 6.4 idot.\n"
    },
    {
      "commit": "32cf9a45d6062d01268b0108aac26b1c8951a3df",
      "tree": "c0ad8c927b9121de4f898c62f49cca977116bb13",
      "parents": [
        "81fc2ea76c2b8018d4427c380961a6886cb3ce7d",
        "9e466d39e68029b7ff6a0f5d321167c4c11642d7"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 12:10:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 12:10:30 2026"
      },
      "message": "Merge pull request #2646 from KhronosGroup/glsl-integer-dot-product\n\nGLSL: Add integer dot product support."
    },
    {
      "commit": "9e466d39e68029b7ff6a0f5d321167c4c11642d7",
      "tree": "c0ad8c927b9121de4f898c62f49cca977116bb13",
      "parents": [
        "81fc2ea76c2b8018d4427c380961a6886cb3ce7d"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 11:43:26 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jul 06 11:57:01 2026"
      },
      "message": "GLSL: Add integer dot product support.\n"
    },
    {
      "commit": "a432b60822a6c5fda982dd50d1908643af516418",
      "tree": "a3d90d5adafeaf0c17eb4bba37af756f4f4c2ac6",
      "parents": [
        "287a467ca13650a067081e35bb0a872ab0ab1f99"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 14:26:35 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 14:26:35 2026"
      },
      "message": "MSL: Support spec-constant workgroup sizes for coopmat ops\n"
    },
    {
      "commit": "287a467ca13650a067081e35bb0a872ab0ab1f99",
      "tree": "584a1313a48dae4544f03da4436f57949c77499f",
      "parents": [
        "f44dffedb92e267b0faa709d3bba044ef33f251d"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 09:31:36 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 09:31:36 2026"
      },
      "message": "MSL: Add cooperative matrix element-wise operation tests\n"
    },
    {
      "commit": "f44dffedb92e267b0faa709d3bba044ef33f251d",
      "tree": "162a1014f6c87ffee28738e421cb5a49daf81394",
      "parents": [
        "81fc2ea76c2b8018d4427c380961a6886cb3ce7d"
      ],
      "author": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 09:30:38 2026"
      },
      "committer": {
        "name": "Zain Sharief",
        "email": "zain.sharief21@gmail.com",
        "time": "Sun Jul 05 09:30:38 2026"
      },
      "message": "MSL: Implement cooperative matrix element-wise operations\n"
    },
    {
      "commit": "81fc2ea76c2b8018d4427c380961a6886cb3ce7d",
      "tree": "2e33bdfd95f9d4dd45fc6cadf45ecbc2b5f17ef0",
      "parents": [
        "9b37a5ad2d1ee97e104fb2d9c041ed621e5f4445",
        "8bd3f78f4081482c4a05b47446fa873d050c9734"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 03 12:29:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 12:29:37 2026"
      },
      "message": "Merge pull request #2644 from KhronosGroup/fix-2641\n\nMSL: Use pointer expression when dealing with atomics."
    },
    {
      "commit": "8bd3f78f4081482c4a05b47446fa873d050c9734",
      "tree": "2e33bdfd95f9d4dd45fc6cadf45ecbc2b5f17ef0",
      "parents": [
        "9b37a5ad2d1ee97e104fb2d9c041ed621e5f4445"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 03 11:33:19 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 03 11:34:18 2026"
      },
      "message": "MSL: Use pointer expression when dealing with atomics.\n\nFixes some issues where we have raw BDA.\n"
    },
    {
      "commit": "9b37a5ad2d1ee97e104fb2d9c041ed621e5f4445",
      "tree": "4040140b844518457a766261ef3ee4ac615fa6c8",
      "parents": [
        "7756218fc50b4aa8ea2159489ab3da1a61cbe3df",
        "31cb6663122b0c64dc47e85ee0276d2176c84bde"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 03 11:30:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 11:30:39 2026"
      },
      "message": "Merge pull request #2640 from vkedwardli/msl-emulate-reversed-depth-viewport\n\nMSL: Add reversed depth viewport emulation"
    },
    {
      "commit": "7756218fc50b4aa8ea2159489ab3da1a61cbe3df",
      "tree": "035650e7392b1c1e91cc7012c4ed33a39fa1a668",
      "parents": [
        "146679ff8255a6068518685599d7fb8761d1b570",
        "f170de532cc4d2583e6b26dbff5d0c81106c6f78"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri Jul 03 11:30:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 11:30:23 2026"
      },
      "message": "Merge pull request #2643 from jsm174/msl-writes-to-point-size\n\nMSL: Expose whether the shader writes to PointSize"
    },
    {
      "commit": "f170de532cc4d2583e6b26dbff5d0c81106c6f78",
      "tree": "035650e7392b1c1e91cc7012c4ed33a39fa1a668",
      "parents": [
        "146679ff8255a6068518685599d7fb8761d1b570"
      ],
      "author": {
        "name": "Jason Millard",
        "email": "jsm174@gmail.com",
        "time": "Tue Jun 30 21:54:49 2026"
      },
      "committer": {
        "name": "Jason Millard",
        "email": "jsm174@gmail.com",
        "time": "Tue Jun 30 21:54:49 2026"
      },
      "message": "MSL: Expose whether the shader writes to PointSize\n"
    },
    {
      "commit": "31cb6663122b0c64dc47e85ee0276d2176c84bde",
      "tree": "e430bf76f55b5145d28acf3eeff9041a7be49132",
      "parents": [
        "68ddd28455703ea80d4d3168f066393edb67023a"
      ],
      "author": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:52:07 2026"
      },
      "committer": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:57:15 2026"
      },
      "message": "MSL: Test reversed depth viewport emulation with viewport index\n"
    },
    {
      "commit": "68ddd28455703ea80d4d3168f066393edb67023a",
      "tree": "a1d050996850bffdff11c6e2160f93b11d29911c",
      "parents": [
        "da223760f520e04520ccf3d020abd5e2a214871e"
      ],
      "author": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:32:45 2026"
      },
      "committer": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:57:15 2026"
      },
      "message": "MSL: Clarify default viewport for reversed depth emulation\n"
    },
    {
      "commit": "da223760f520e04520ccf3d020abd5e2a214871e",
      "tree": "4596451335a9fac115cacdda0dc27aa20fd147dd",
      "parents": [
        "35f52882aa15fc6bbd64d5cd86572b4592e2234d"
      ],
      "author": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:29:45 2026"
      },
      "committer": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Mon Jun 29 00:57:15 2026"
      },
      "message": "Do not update C API since this is useful for Metal backend authors only (aka MoltenVK)\n"
    },
    {
      "commit": "35f52882aa15fc6bbd64d5cd86572b4592e2234d",
      "tree": "ab4737911e7debb3810e4ec6b0dd5222a88ad8c8",
      "parents": [
        "146679ff8255a6068518685599d7fb8761d1b570"
      ],
      "author": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Wed Jun 24 08:53:16 2026"
      },
      "committer": {
        "name": "Edward Li",
        "email": "vk.edward.li@gmail.com",
        "time": "Wed Jun 24 08:53:16 2026"
      },
      "message": "MSL: Add reversed depth viewport emulation\n\nAdd an MSL option to emulate reversed depth viewports by inverting clip-space Z in vertex-like shaders.\nThe option binds a per-viewport mask and applies:\n    position.z \u003d position.w - position.z\nwhen the selected viewport bit is set. If the shader writes ViewportIndex, use that output to select the mask bit; otherwise use viewport 0.\n"
    },
    {
      "commit": "146679ff8255a6068518685599d7fb8761d1b570",
      "tree": "ef7e8016ea74022db867be68aebcff12aa470c90",
      "parents": [
        "38681a30e09679191cc3957719eeee76024f6daf",
        "2549b079220cd6cc02005e99967aba6eb3b05ea6"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jun 01 13:20:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 13:20:02 2026"
      },
      "message": "Never hoist opaque types to temporaries. (#2638)"
    },
    {
      "commit": "2549b079220cd6cc02005e99967aba6eb3b05ea6",
      "tree": "ef7e8016ea74022db867be68aebcff12aa470c90",
      "parents": [
        "38681a30e09679191cc3957719eeee76024f6daf"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jun 01 11:37:10 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Mon Jun 01 11:38:52 2026"
      },
      "message": "Never hoist opaque types to temporaries.\n"
    },
    {
      "commit": "38681a30e09679191cc3957719eeee76024f6daf",
      "tree": "e5590d4b677cbe442eb73dc0f36f8edb917e0aa0",
      "parents": [
        "39e6a39cf36bce6b8901b2cd765476f2d96d6157"
      ],
      "author": {
        "name": "denisk-dev",
        "email": "dkorobo@gmail.com",
        "time": "Wed May 20 11:33:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 11:33:22 2026"
      },
      "message": "MSL: add gl_DrawID (DrawIndex) support for MacOS (#2634)\n\n* MSL: add gl_DrawID (DrawIndex) support for MacOS\n\n* Updated tests to include gl_DrawID for MSL\n\n* Added recommended changes to include DrawID with tessellation. Removed msl version and device checks, since the feature is emulated. Updated corresponding tests.\n\n* MSL: Fixups for DrawID implementation from review.\n\n---------\n\nCo-authored-by: Hans-Kristian Arntzen \u003cpost@arntzen-software.no\u003e"
    },
    {
      "commit": "39e6a39cf36bce6b8901b2cd765476f2d96d6157",
      "tree": "4817a531be0f7800cf0614801fb388c796811aef",
      "parents": [
        "d4c126da5ac2b758153c38631269a791174e9547"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Wed May 13 09:02:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 09:02:52 2026"
      },
      "message": "GLSL: Add shifts and bit ops to sensitive operation list. (#2633)"
    },
    {
      "commit": "d4c126da5ac2b758153c38631269a791174e9547",
      "tree": "308e38334a050e555de7ad2ccbe4e7048625d77f",
      "parents": [
        "68413a9782771a38261a30cdd7952cfa99c755dc"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Tue May 12 13:35:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 13:35:22 2026"
      },
      "message": "Merge pull request #2632 from castano/6-library-mode-no-filter\n\nLibrary modules export all global variables regardless of SPIR-V version."
    },
    {
      "commit": "68413a9782771a38261a30cdd7952cfa99c755dc",
      "tree": "ace074e6275f53523043c3df86bc5e276cfaf390",
      "parents": [
        "7795c9dfb653cd95dc15127267854c07339bcc9c"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 11:37:48 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 11:37:48 2026"
      },
      "message": "Add missing references.\n"
    },
    {
      "commit": "7795c9dfb653cd95dc15127267854c07339bcc9c",
      "tree": "823ad7d84aa5b6868aa648729f29577cbdbcbdba",
      "parents": [
        "619a25723d01ec9c06c70eb7b7e88fe67f26c855",
        "0a2258e267a9eca4b28084bfe52f3d69d06db421"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 08:25:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:25:42 2026"
      },
      "message": "Merge pull request #2628 from castano/glsl-library-mode\n\nGLSL: support SPIR-V library modules"
    },
    {
      "commit": "0a2258e267a9eca4b28084bfe52f3d69d06db421",
      "tree": "823ad7d84aa5b6868aa648729f29577cbdbcbdba",
      "parents": [
        "787da43dfec314d8fe84e5b4c98a194bc86012b6"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Thu May 07 17:16:50 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 08:15:38 2026"
      },
      "message": "HLSL: regression test for re-entrant emit on library exports\n"
    },
    {
      "commit": "787da43dfec314d8fe84e5b4c98a194bc86012b6",
      "tree": "c5cbaf605a05266a66786d2245ad64be02b0b926",
      "parents": [
        "9e2dbd3f6c112ec4971e79b9a0aff96a0bd85236"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Thu May 07 18:11:42 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 08:15:38 2026"
      },
      "message": "GLSL: wrap library mode preamble in `#ifdef SPIRV_CROSS_LIBRARY_HEADER`\n"
    },
    {
      "commit": "9e2dbd3f6c112ec4971e79b9a0aff96a0bd85236",
      "tree": "206151aaadd98a1deb8c7f1b5aa5dc2ca2445127",
      "parents": [
        "3c90d18a1e0287974bf4111ebbe0118bbbab7e39"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 22:50:56 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 08:15:38 2026"
      },
      "message": "clang-format\n"
    },
    {
      "commit": "3c90d18a1e0287974bf4111ebbe0118bbbab7e39",
      "tree": "b7abf55018dca05ced78da07dd8108cf747e7004",
      "parents": [
        "619a25723d01ec9c06c70eb7b7e88fe67f26c855"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 22:48:41 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Fri May 08 08:15:38 2026"
      },
      "message": "GLSL: support SPIR-V library modules\n"
    },
    {
      "commit": "619a25723d01ec9c06c70eb7b7e88fe67f26c855",
      "tree": "831b4c0fb4d0007bc6f037ccce2ceee09e283184",
      "parents": [
        "252c44ea6a9e56e9de5ebeefd3e87f4ff8a957fd"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Fri May 08 08:13:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:13:27 2026"
      },
      "message": "HLSL: regression test for module-scope arrays in library mode (#2627)\n\nThis removes the need for a special case for default_entry_point and correctly handles exports that call other exports."
    },
    {
      "commit": "252c44ea6a9e56e9de5ebeefd3e87f4ff8a957fd",
      "tree": "4cfc627b596ac80b2bbb90d8572aea6a49dca8f8",
      "parents": [
        "a4e9fe4e1fb6cb5e06d21e72dfa4e0936248e741"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Fri May 08 08:12:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:12:35 2026"
      },
      "message": "HLSL: regression test for library-mode emission (#2626)\n\nThis removes the need for a special case for default_entry_point and correctly handles exports that call other exports."
    },
    {
      "commit": "a4e9fe4e1fb6cb5e06d21e72dfa4e0936248e741",
      "tree": "f94fbd10da7a301ef72cfde320f3b9b3495290b4",
      "parents": [
        "a67d91f72ca58ab2b3afa7753eb8a554b68135f6"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Fri May 08 08:08:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:08:39 2026"
      },
      "message": "HLSL: emit library exports as free functions (#2625)\n\nThis removes the need for a special case for default_entry_point and correctly handles exports that call other exports."
    },
    {
      "commit": "a67d91f72ca58ab2b3afa7753eb8a554b68135f6",
      "tree": "6ee95cc10e4e14a1aba8efc64f75c9ef3ccac85b",
      "parents": [
        "56b5eb086193176b3c0144d09c08acba98cc8530"
      ],
      "author": {
        "name": "Ignacio Castaño",
        "email": "castano@ludicon.com",
        "time": "Fri May 08 08:06:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:06:50 2026"
      },
      "message": "CFG: build per-function CFGs for all library exports (#2624)\n\nThis removes the need for a special case for default_entry_point and correctly handles exports that call other exports."
    },
    {
      "commit": "56b5eb086193176b3c0144d09c08acba98cc8530",
      "tree": "1aceb2fb2821f4a73121db59cde7d3946622795e",
      "parents": [
        "1a6169566c73d3da552748fc372fe2bbb856e46e",
        "ff9697d754957486998ec3d196f7a2464074c6bd"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu May 07 08:35:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 08:35:18 2026"
      },
      "message": "Merge pull request #2623 from castano/parser-library-mode\n\nParser: support SPIR-V library modules without OpEntryPoint"
    },
    {
      "commit": "ff9697d754957486998ec3d196f7a2464074c6bd",
      "tree": "1aceb2fb2821f4a73121db59cde7d3946622795e",
      "parents": [
        "bbe778e9903bb0b160ee88b0ca4603bbd1ae3288"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:28:35 2026"
      },
      "committer": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:28:35 2026"
      },
      "message": "clang-format\n"
    },
    {
      "commit": "bbe778e9903bb0b160ee88b0ca4603bbd1ae3288",
      "tree": "65099878a8ab8532084278e646cc4f76a58bf0fc",
      "parents": [
        "32d56dacdec5161c3435999625672b3302ea742e"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:28:24 2026"
      },
      "committer": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:28:24 2026"
      },
      "message": "Clarify comment, there\u0027s no consumers in this PR yet.\n"
    },
    {
      "commit": "32d56dacdec5161c3435999625672b3302ea742e",
      "tree": "ea27e5d1fee687e3dd93ef201ec3093005fc39ee",
      "parents": [
        "1a6169566c73d3da552748fc372fe2bbb856e46e"
      ],
      "author": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:16:16 2026"
      },
      "committer": {
        "name": "Ignacio Castano",
        "email": "castano@ludicon.com",
        "time": "Wed May 06 17:16:16 2026"
      },
      "message": "Parser: support SPIR-V library modules without OpEntryPoint\n"
    },
    {
      "commit": "1a6169566c73d3da552748fc372fe2bbb856e46e",
      "tree": "bd189817098a38626b322d0e54a39a2b974c1b61",
      "parents": [
        "aa6354c43f34758d2c2cd522b0cd836a5da2f535",
        "ca63aa8a123b143f516221a647d58feb89cbc267"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 10:11:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 10:11:08 2026"
      },
      "message": "Merge pull request #2621 from KhronosGroup/glsl-descriptor-heap\n\nGLSL: Implement EXT_descriptor_heap"
    },
    {
      "commit": "ca63aa8a123b143f516221a647d58feb89cbc267",
      "tree": "bd189817098a38626b322d0e54a39a2b974c1b61",
      "parents": [
        "e7f1c47bde18e7f4ae1efa5c1f98627e78e6a99a"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:54:32 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:54:32 2026"
      },
      "message": "GLSL: Fix copy paste error in remapping API.\n"
    },
    {
      "commit": "e7f1c47bde18e7f4ae1efa5c1f98627e78e6a99a",
      "tree": "58ca4068884792610272110f226badda635f64c1",
      "parents": [
        "6b4764792fc59e7d8c03bb68a4531e093a392761"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:50:39 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:50:39 2026"
      },
      "message": "GLSL: Clarify comment.\n"
    },
    {
      "commit": "6b4764792fc59e7d8c03bb68a4531e093a392761",
      "tree": "d31103058411e9b663f20b0f883dadb3c29a53d9",
      "parents": [
        "6cdff5d95b3bbaac7e2d83dc4d11ab44e53b0087"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:47:20 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:47:20 2026"
      },
      "message": "GLSL: Hoist out some common prefix name code.\n"
    },
    {
      "commit": "6cdff5d95b3bbaac7e2d83dc4d11ab44e53b0087",
      "tree": "bcc4e2fe995aef5b9506569bdfeec136c8755608",
      "parents": [
        "afb5fe608d7a7ffbdcdb42410e8aa117a09fa3b1"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:42:25 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:42:25 2026"
      },
      "message": "GLSL: Add restrict to buffer pointer name.\n"
    },
    {
      "commit": "afb5fe608d7a7ffbdcdb42410e8aa117a09fa3b1",
      "tree": "932cf0458cf0d29dc9dcb2d9a03c549ad4921c91",
      "parents": [
        "f591db0c7e7add26e4f8781525a315ecd5b8eb84"
      ],
      "author": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:38:24 2026"
      },
      "committer": {
        "name": "Hans-Kristian Arntzen",
        "email": "post@arntzen-software.no",
        "time": "Thu Apr 30 09:38:24 2026"
      },
      "message": "GLSL: Plumb through more decorations.\n"
    }
  ],
  "next": "f591db0c7e7add26e4f8781525a315ecd5b8eb84"
}
