)]}'
{
  "commit": "17813930223e62a51d8bd0e7e7a520ab77f5b651",
  "tree": "afb0a7f9ee598ccc037d8dd4c56a7a06865f20ca",
  "parents": [
    "b51f2c17b392055e063102f983755c9200a763fc"
  ],
  "author": {
    "name": "Chris Forbes",
    "email": "chrisforbes@google.com",
    "time": "Thu Apr 18 11:45:54 2019 -0700"
  },
  "committer": {
    "name": "Chris Forbes",
    "email": "chrisforbes@google.com",
    "time": "Fri Apr 19 02:52:29 2019 +0000"
  },
  "message": "Add support atomic instructions as used with storage images\n\n- OpAtomicIAdd\n- OpAtomicSMin\n- OpAtomicSMax\n- OpAtomicUMin\n- OpAtomicUMax\n- OpAtomicAnd\n- OpAtomicOr\n- OpAtomicXor\n- OpAtomicExchange\n\nIncludes required plumbing down through Reactor. Subzero support is just\nstubbed for now.\n\nBug: b/130768731\nBug: b/127472316\nTest: dEQP-VK.image.*\nChange-Id: Iecf9e9ed602c4fde674f54491658048c96fd02c6\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29453\nTested-by: Chris Forbes \u003cchrisforbes@google.com\u003e\nPresubmit-Ready: Chris Forbes \u003cchrisforbes@google.com\u003e\nKokoro-Presubmit: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\nReviewed-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "53974fed1a1a8c66294890300fbbc4a8f2212b37",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.cpp",
      "new_id": "2525911ac10224694c420d8b7a59b9f375724392",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.cpp"
    },
    {
      "type": "modify",
      "old_id": "76474b4822ed992762e54cfa01feb1ed58472814",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.hpp",
      "new_id": "2eb3cd871d741ccadc6f88debcfb17b05d5f5229",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.hpp"
    },
    {
      "type": "modify",
      "old_id": "6c302079de1a406b73dac00de7d1a0570d9fa6a0",
      "old_mode": 33188,
      "old_path": "src/Reactor/LLVMReactor.cpp",
      "new_id": "9bfc9087ff3f3e68a298c584ea797abaf6f8a059",
      "new_mode": 33188,
      "new_path": "src/Reactor/LLVMReactor.cpp"
    },
    {
      "type": "modify",
      "old_id": "1adeaf3a4c85b4683379607e024a0f9715765d1f",
      "old_mode": 33188,
      "old_path": "src/Reactor/Nucleus.hpp",
      "new_id": "593f7f11ba3b5aa23a29134b7695cdf21064895e",
      "new_mode": 33188,
      "new_path": "src/Reactor/Nucleus.hpp"
    },
    {
      "type": "modify",
      "old_id": "96a8d254dbac7301e438a6ee50e9068c152830f8",
      "old_mode": 33188,
      "old_path": "src/Reactor/Reactor.cpp",
      "new_id": "5952254c70056e4d5abcf458da8f94fc73d9793a",
      "new_mode": 33188,
      "new_path": "src/Reactor/Reactor.cpp"
    },
    {
      "type": "modify",
      "old_id": "4e9580666b566d93679547c87811b768c6b4d9ee",
      "old_mode": 33188,
      "old_path": "src/Reactor/Reactor.hpp",
      "new_id": "0b141318d0b5ff6c44af570f6059798d96fa8d69",
      "new_mode": 33188,
      "new_path": "src/Reactor/Reactor.hpp"
    },
    {
      "type": "modify",
      "old_id": "3afed7b95251d34a594bb837f77560005a0382e1",
      "old_mode": 33188,
      "old_path": "src/Reactor/SubzeroReactor.cpp",
      "new_id": "e4ba7969ac09db1afac97adc4346e1ce64646d36",
      "new_mode": 33188,
      "new_path": "src/Reactor/SubzeroReactor.cpp"
    }
  ]
}
