)]}'
{
  "commit": "51b03d58fb17b09120c886d5df36fb191d12fa8e",
  "tree": "a0d73745a45d9c81c17ae64071368f60bb2a9cff",
  "parents": [
    "196127140d6c1a85984efd6960fb14118d1c22cc"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Thu Oct 08 14:38:17 2020 +0100"
  },
  "committer": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Fri Oct 09 06:33:56 2020 +0000"
  },
  "message": "SpirvShaderDebugger: Fix store() of arrays\n\n```\ntemplate\u003ctypename T, std::size_t N\u003e\nvoid store(const rr::RValue\u003crr::Pointer\u003crr::Byte\u003e\u003e \u0026ptr, const std::array\u003cT, N\u003e \u0026val)\n```\n\nwas completely broken as it was using `sizeof(T)` for element offsets.\nAll uses of this overload use Reactor values for T, and so `sizeof(T)` evaluates to the size of the compiler type, not the runtime data type.\n\nAlso remove the useless `for(int i \u003d 0; i \u003c N; i++)` in `buildGlobal()`.\nThis iterator isn\u0027t used, so we\u0027re just doing the same calls to `put()` `N` times.\n\nBug: b/170383642\nChange-Id: I9ba9efce07e886087124118122de56a4d31c5503\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49129\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nTested-by: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "25331f6d6d196c7c8f0e49935b19ebc0b6d6dedd",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShaderDebugger.cpp",
      "new_id": "45c01ba972ea46a082cf5a126c5f6e217f84c4c2",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShaderDebugger.cpp"
    }
  ]
}
