)]}'
{
  "commit": "ee7598d49798e7bf34fabe55b5a438a381d450c8",
  "tree": "030b5b1d7877cf2d3a8bdae20c91c8058cc6173c",
  "parents": [
    "a40483d313bdfa7f9873883284c86f6e9a3294be"
  ],
  "author": {
    "name": "Jeremy Gebben",
    "email": "jeremyg@lunarg.com",
    "time": "Wed Sep 20 10:50:30 2023 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Sep 20 10:50:30 2023 -0600"
  },
  "message": "instrument: Use Import linkage for instrumentation functions (#5355)\n\nThese functions are getting far too complicated to code in SPIRV-Tools\r\nC++. Replace them with import stubs so that the real implementations\r\ncan live in Vulkan-ValidationLayers where they belong.\r\n\r\nVVL will need to define these functions in spirv and link them to the\r\ninstrumented version of the user\u0027s shader.\r\n\r\nFrom here on out, VVL can redefine the functions and any data they use\r\nwithout updating SPIRV-Tools. Changing the function declarations will\r\nstill require both VVL and SPIRV-Tools to be updated in lock step.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "34e169a9efcee99122db293effddacbad6fec40e",
      "old_mode": 33188,
      "old_path": "include/spirv-tools/instrument.hpp",
      "new_id": "ae9278b0fc503737f7e09cd59681662c32730594",
      "new_mode": 33188,
      "new_path": "include/spirv-tools/instrument.hpp"
    },
    {
      "type": "modify",
      "old_id": "260fa72c980dce9c772978b0d34c650b79411863",
      "old_mode": 33188,
      "old_path": "include/spirv-tools/optimizer.hpp",
      "new_id": "ef639524cd5e10d32ca31e2d10e60642ccd55b11",
      "new_mode": 33188,
      "new_path": "include/spirv-tools/optimizer.hpp"
    },
    {
      "type": "modify",
      "old_id": "339fb1b62ce762a088cbc1daf17385b91a03e875",
      "old_mode": 33188,
      "old_path": "source/opt/inst_bindless_check_pass.cpp",
      "new_id": "f84d5b2985e03579c5d8d0fde60508e36fc298c4",
      "new_mode": 33188,
      "new_path": "source/opt/inst_bindless_check_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "289f02f1ab1b63f89f226d7c0a29f19c6ab7a49e",
      "old_mode": 33188,
      "old_path": "source/opt/inst_bindless_check_pass.h",
      "new_id": "f99b59d0a59a3af9eeb7f7de43c99ff1c9d80d1c",
      "new_mode": 33188,
      "new_path": "source/opt/inst_bindless_check_pass.h"
    },
    {
      "type": "modify",
      "old_id": "6b90e5888e27d6b23196e1be41d2fbf0c766d670",
      "old_mode": 33188,
      "old_path": "source/opt/inst_buff_addr_check_pass.cpp",
      "new_id": "e1fde77133af3fa0e2796574ad121a71dc698d2d",
      "new_mode": 33188,
      "new_path": "source/opt/inst_buff_addr_check_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "9c4b3ed9a9c4f55080fd006a457d57331b200647",
      "old_mode": 33188,
      "old_path": "source/opt/inst_buff_addr_check_pass.h",
      "new_id": "70076a371231d3a07316aeb4afaacb7bb98f6502",
      "new_mode": 33188,
      "new_path": "source/opt/inst_buff_addr_check_pass.h"
    },
    {
      "type": "modify",
      "old_id": "f7c227455e490e01ac9cc77e72da13c1119c321c",
      "old_mode": 33188,
      "old_path": "source/opt/inst_debug_printf_pass.cpp",
      "new_id": "a48a28f6b1d00bb11e6d249ad7d3720e763a430e",
      "new_mode": 33188,
      "new_path": "source/opt/inst_debug_printf_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "70b0a72bd774ec1f748e3c33278b7af88272cc4a",
      "old_mode": 33188,
      "old_path": "source/opt/inst_debug_printf_pass.h",
      "new_id": "3a2078a7ddfdafd9985f270dd75ceab74fcf95b5",
      "new_mode": 33188,
      "new_path": "source/opt/inst_debug_printf_pass.h"
    },
    {
      "type": "modify",
      "old_id": "bd01ee64f549e362b2ab00f29c6fa829f012e38e",
      "old_mode": 33188,
      "old_path": "source/opt/instrument_pass.cpp",
      "new_id": "829de491cd44c79eea5186684db28166e945aba8",
      "new_mode": 33188,
      "new_path": "source/opt/instrument_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "092b361deeabf5c8d4566f260805e67132018526",
      "old_mode": 33188,
      "old_path": "source/opt/instrument_pass.h",
      "new_id": "8b643742dd097fc9088b2c66c58b6d5d6c579d74",
      "new_mode": 33188,
      "new_path": "source/opt/instrument_pass.h"
    },
    {
      "type": "modify",
      "old_id": "7ff411a15fbd7ff995a3963c87911d65f52877d8",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.h",
      "new_id": "de3c4106659316eae8b706369f4bfea7668e7de8",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.h"
    },
    {
      "type": "modify",
      "old_id": "b9d69129f6cfd0a6baf36a355f3df3381c1d65d0",
      "old_mode": 33188,
      "old_path": "source/opt/module.h",
      "new_id": "98c16dc4c9e92d95e7c27e75bc9278c8e43c7bf8",
      "new_mode": 33188,
      "new_path": "source/opt/module.h"
    },
    {
      "type": "modify",
      "old_id": "b8f52834227f69ecdb6e48968d524877d35992bb",
      "old_mode": 33188,
      "old_path": "source/opt/optimizer.cpp",
      "new_id": "afff9ece4359042ab2309545bd2bb73118b133b2",
      "new_mode": 33188,
      "new_path": "source/opt/optimizer.cpp"
    },
    {
      "type": "modify",
      "old_id": "1c192c4366f6eea8e1b2dd827fb34d375e0d960b",
      "old_mode": 33188,
      "old_path": "test/opt/inst_bindless_check_test.cpp",
      "new_id": "0deec5c6a5e1c51ebacda7a90cdafbff863414aa",
      "new_mode": 33188,
      "new_path": "test/opt/inst_bindless_check_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "99f88f44c41bd3b96b720161a69b316b7ba88b3b",
      "old_mode": 33188,
      "old_path": "test/opt/inst_buff_addr_check_test.cpp",
      "new_id": "72d343852a1b0e6505ce35ae233793bd8a2cd86b",
      "new_mode": 33188,
      "new_path": "test/opt/inst_buff_addr_check_test.cpp"
    }
  ]
}
