)]}'
{
  "commit": "1e9fc1aac1074b4d48c7f48af30ddeb2b768d745",
  "tree": "b49fe6735c2b806670f6219bc10849bf4c4a52d7",
  "parents": [
    "6721478ef11205089f3ce6b2f097ebef76f0bfac"
  ],
  "author": {
    "name": "greg-lunarg",
    "email": "greg@lunarg.com",
    "time": "Thu Nov 08 11:54:54 2018 -0700"
  },
  "committer": {
    "name": "Steven Perron",
    "email": "stevenperron@google.com",
    "time": "Thu Nov 08 13:54:54 2018 -0500"
  },
  "message": "Add base and core bindless validation instrumentation classes (#2014)\n\n* Add base and core bindless validation instrumentation classes\r\n\r\n* Fix formatting.\r\n\r\n* Few more formatting fixes\r\n\r\n* Fix build failure\r\n\r\n* More build fixes\r\n\r\n* Need to call non-const functions in order.\r\n\r\nSpecifically, these are functions which call TakeNextId(). These need to\r\nbe called in a specific order to guarantee that tests which do exact\r\ncompares will work across all platforms. c++ pretty much does not\r\nguarantee order of evaluation of operands, so any such functions need to\r\nbe called separately in individual statements to guarantee order.\r\n\r\n* More ordering.\r\n\r\n* And more ordering.\r\n\r\n* And more formatting.\r\n\r\n* Attempt to fix NDK build\r\n\r\n* Another attempt to address NDK build problem.\r\n\r\n* One more attempt at NDK build failure\r\n\r\n* Add instrument.hpp to BUILD.gn\r\n\r\n* Some name improvement in instrument.hpp\r\n\r\n* Change all types in instrument.hpp to int.\r\n\r\n* Improve documentation in instrument.hpp\r\n\r\n* Format fixes\r\n\r\n* Comment clean up in instrument.hpp\r\n\r\n* imageInst -\u003e image_inst\r\n\r\n* Fix GetLabel() issue.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4e6025d0989cc85b2cea9268cacad89d2e8faa42",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "79a79f62408ffc5e3e90ba163ed670120c3b68b6",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "modify",
      "old_id": "cf6286f4bda01a5f96c09d17067fd122eaefd9b2",
      "old_mode": 33188,
      "old_path": "BUILD.gn",
      "new_id": "5a5b476d98d3fe9c2c4311ed23031891b3790250",
      "new_mode": 33188,
      "new_path": "BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "5872f92d0da64cb3229f7c5fd6e117fcf449c373",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "8143123fd349fd242ab7b0c7c838032805ba3759",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "69d1ad25998ea77348ecc7ff7426603ba5768611",
      "new_mode": 33188,
      "new_path": "include/spirv-tools/instrument.hpp"
    },
    {
      "type": "modify",
      "old_id": "5a3c52f36dc41723111e8264657576ab339eed2e",
      "old_mode": 33188,
      "old_path": "include/spirv-tools/optimizer.hpp",
      "new_id": "6f08efd1d5478c643e5c6a4c51e6267b8ca3300f",
      "new_mode": 33188,
      "new_path": "include/spirv-tools/optimizer.hpp"
    },
    {
      "type": "modify",
      "old_id": "eac956c4d4623f6db57d4f0f4872dea84eae254a",
      "old_mode": 33188,
      "old_path": "source/opt/CMakeLists.txt",
      "new_id": "3ab2606101c44fc1170e8c640fed8bcadbe5a258",
      "new_mode": 33188,
      "new_path": "source/opt/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0971092ef60b0b73620be4144c230c60ed598d83",
      "old_mode": 33188,
      "old_path": "source/opt/basic_block.h",
      "new_id": "ff3a412804d5d8717d8adb710ee44ab27b9f9239",
      "new_mode": 33188,
      "new_path": "source/opt/basic_block.h"
    },
    {
      "type": "modify",
      "old_id": "185dcb744634f455c0d9acd24054553024896a1b",
      "old_mode": 33188,
      "old_path": "source/opt/decoration_manager.cpp",
      "new_id": "9990661bb46c669ad72a4862ee66087d16e47ed4",
      "new_mode": 33188,
      "new_path": "source/opt/decoration_manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "fb9cfb65924cbb6492e4b79ff1177d245ecf04ad",
      "old_mode": 33188,
      "old_path": "source/opt/decoration_manager.h",
      "new_id": "2d87f5f82ca308b7096c1b6b8d7d4d44bae204dc",
      "new_mode": 33188,
      "new_path": "source/opt/decoration_manager.h"
    },
    {
      "type": "modify",
      "old_id": "54f284c570456c1cefcf2bb72f69352b772c6503",
      "old_mode": 33188,
      "old_path": "source/opt/def_use_manager.cpp",
      "new_id": "0ec98cae1079bac92d6af892626db2430f3ddb62",
      "new_mode": 33188,
      "new_path": "source/opt/def_use_manager.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1901f763b160e36e127984cd9c557b4931a28577",
      "new_mode": 33188,
      "new_path": "source/opt/inst_bindless_check_pass.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eaa1dd231eb1780012e15b109ec6160c7294c93e",
      "new_mode": 33188,
      "new_path": "source/opt/inst_bindless_check_pass.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3291bbbc0b8a0d327e3d3f626fbf1e029a45a1d9",
      "new_mode": 33188,
      "new_path": "source/opt/instrument_pass.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "476a89433a24b6ae0a80b0af0119575ecff89163",
      "new_mode": 33188,
      "new_path": "source/opt/instrument_pass.h"
    },
    {
      "type": "modify",
      "old_id": "a07b255cc8baa64d132dbaaf79a191389c1203c8",
      "old_mode": 33188,
      "old_path": "source/opt/ir_builder.h",
      "new_id": "434c3802d1c37896d50a24bab048eb1c17d09588",
      "new_mode": 33188,
      "new_path": "source/opt/ir_builder.h"
    },
    {
      "type": "modify",
      "old_id": "4097484c8bb56740571e48c6971cf1b02d7d0792",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.cpp",
      "new_id": "038ad6dc76212f40d26b908920536dbe09c0ac4e",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "742c868aa2447cbff12d133d6c417bc88e2f191c",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.h",
      "new_id": "6e9eda84b259b803ae7968509e51a6493f7ed004",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.h"
    },
    {
      "type": "modify",
      "old_id": "7d27480ae231a098fb7ee38f8c86f875b54e26a9",
      "old_mode": 33188,
      "old_path": "source/opt/loop_peeling.cpp",
      "new_id": "227ba4a5858a1e18054e74e23bc3bc25feaec8a3",
      "new_mode": 33188,
      "new_path": "source/opt/loop_peeling.cpp"
    },
    {
      "type": "modify",
      "old_id": "96ee94dc2fbb53e2aaf4e0b0395221714feb1c57",
      "old_mode": 33188,
      "old_path": "source/opt/loop_unroller.cpp",
      "new_id": "d3e733ac2b919e288bef897a7102e4bdc397a0b9",
      "new_mode": 33188,
      "new_path": "source/opt/loop_unroller.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a1b3144926acf039a36aed31f16c68fbd038af6",
      "old_mode": 33188,
      "old_path": "source/opt/optimizer.cpp",
      "new_id": "b1bb34560561a02a1baf0e204f7d9280764e8b60",
      "new_mode": 33188,
      "new_path": "source/opt/optimizer.cpp"
    },
    {
      "type": "modify",
      "old_id": "4c4a232c6c523309b26b76194d2d9390ae99fbde",
      "old_mode": 33188,
      "old_path": "source/opt/pass.cpp",
      "new_id": "4bf719d1d0dc538fd1d38b8d164130c0e9a5458b",
      "new_mode": 33188,
      "new_path": "source/opt/pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "987af1ee5768551591070ee74e0e80b9eaedaf14",
      "old_mode": 33188,
      "old_path": "source/opt/passes.h",
      "new_id": "25e3a47841ce70516765a1cf6fdb0bbd81088f91",
      "new_mode": 33188,
      "new_path": "source/opt/passes.h"
    },
    {
      "type": "modify",
      "old_id": "15cff5486473a48379fe3a7415a5cf81665f96fa",
      "old_mode": 33188,
      "old_path": "source/opt/types.cpp",
      "new_id": "0cbe5c8bb4bef1b9dd379acfb930d68be35b96f5",
      "new_mode": 33188,
      "new_path": "source/opt/types.cpp"
    },
    {
      "type": "modify",
      "old_id": "625f342a6893ae0fadbf2cca506baec332bb366e",
      "old_mode": 33188,
      "old_path": "source/opt/types.h",
      "new_id": "28731c67390c528bcada85c68cac64579bb4d84b",
      "new_mode": 33188,
      "new_path": "source/opt/types.h"
    },
    {
      "type": "modify",
      "old_id": "240aed15c105e17e9524c46dd04fc56e10dc4ff1",
      "old_mode": 33188,
      "old_path": "test/opt/CMakeLists.txt",
      "new_id": "05957b2402263e673e3c5511678e18985598f4d8",
      "new_mode": 33188,
      "new_path": "test/opt/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1a1a194789bc34f6803ac6cc9b4920485d5773b1",
      "new_mode": 33188,
      "new_path": "test/opt/inst_bindless_check_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "41d7f57e78534eef6f7974c4dccbe911e26edaf4",
      "old_mode": 33188,
      "old_path": "test/opt/ir_builder.cpp",
      "new_id": "8231bdcbb6de1ba645a8ab7da421bdc8e7aa501c",
      "new_mode": 33188,
      "new_path": "test/opt/ir_builder.cpp"
    },
    {
      "type": "modify",
      "old_id": "7c6a84ec0bbed539b00c435e42eb7f4e9189254b",
      "old_mode": 33188,
      "old_path": "test/opt/loop_optimizations/peeling.cpp",
      "new_id": "10d8add382dc8c57a9c06ae720e795405daac4f8",
      "new_mode": 33188,
      "new_path": "test/opt/loop_optimizations/peeling.cpp"
    }
  ]
}
