)]}'
{
  "commit": "353f3314bf40e3c7d0d5c2e65e931f65e73e7126",
  "tree": "cc6924dee14e041f251a98cf0b8f0806326119f3",
  "parents": [
    "93433f078d1317778ddc9ec47328eaf2b06ac046"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Mon Dec 02 20:11:14 2019 +0000"
  },
  "committer": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Tue Dec 10 21:09:45 2019 +0000"
  },
  "message": "Vulkan/Debug: Add Thread and EventListener\n\nEventListener is an interface that is used to listen for thread events.\nThread holds the state for a single thread of execution.\nFrame holds a number of variable scopes for one of a thread\u0027s stack frame.\nScope is a container for frame variables.\n\nBug: b/145351270\nChange-Id: Ic61e17f32cfd6929dbd7b0fce1ffb716301fc73e\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38897\nReviewed-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nTested-by: Ben Clayton \u003cbclayton@google.com\u003e\nKokoro-Presubmit: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d9606687e9cdb6cfa61baaa56b79dd7c4743acc",
      "new_mode": 33188,
      "new_path": "src/Vulkan/Debug/EventListener.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b61c5d9129f766d37c095d8ea07792403581384e",
      "new_mode": 33188,
      "new_path": "src/Vulkan/Debug/Thread.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8199d676fc8dfa8c34f97af6497fdb57d83cab5d",
      "new_mode": 33188,
      "new_path": "src/Vulkan/Debug/Thread.hpp"
    }
  ]
}
