)]}'
{
  "commit": "4b74373aac5107233555ae00b6df2340251b5022",
  "tree": "40bbdcb7da1325600d958c45f2d9a8300631b6ba",
  "parents": [
    "5bff4059d646fbd296818d8d17fb38c8590de8a7"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Mon May 28 13:22:07 2018 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Tue May 29 13:59:43 2018 +0000"
  },
  "message": "Implement dynamic indexing of temporaries.\n\nPreviously only dynamic indexing of uniforms was supported.\n\nSince this is essentially a gather operation within the register file,\nit is slow. We optimize the common case of using the loop index\nvariable as relative address, where the index value would be the same\nfor all shader invocations running in lock-step across SIMD lanes.\n\nBug chromium:845103\nBug skia:7846\n\nChange-Id: Idb36b512dd560d740ac9088691b633ff3a1561c1\nReviewed-on: https://swiftshader-review.googlesource.com/18968\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cbfbf56d33b941110e0cbc44e7ba09659cbf66a8",
      "old_mode": 33188,
      "old_path": "src/OpenGL/compiler/OutputASM.cpp",
      "new_id": "d7213cb47e6132e0f524f7382d9d94d692f1d1bd",
      "new_mode": 33188,
      "new_path": "src/OpenGL/compiler/OutputASM.cpp"
    },
    {
      "type": "modify",
      "old_id": "4480e2a1197dac166d945caadb954b7f56fdd160",
      "old_mode": 33188,
      "old_path": "src/OpenGL/compiler/OutputASM.h",
      "new_id": "1aa791ea6eafda1861db3dfbf5776ee331e0da71",
      "new_mode": 33188,
      "new_path": "src/OpenGL/compiler/OutputASM.h"
    },
    {
      "type": "modify",
      "old_id": "a6d364fc10309cf5ca39e3e6b6e58377cb987f0a",
      "old_mode": 33188,
      "old_path": "src/Reactor/Reactor.hpp",
      "new_id": "f07dfa936db33dfde992a913d31a54da854371bd",
      "new_mode": 33188,
      "new_path": "src/Reactor/Reactor.hpp"
    },
    {
      "type": "modify",
      "old_id": "0f0f6bdd30dc5b86dd14229ca2e8b0894cb5d5b4",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelProgram.cpp",
      "new_id": "3cedbce8debcc7a1f8d22a7e687ea5673f33d01f",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "ef6c2c01ad2313f884ed260853aea151bd41b7fa",
      "old_mode": 33188,
      "old_path": "src/Shader/PixelProgram.hpp",
      "new_id": "240938dd15820601ce2bf5e4ff6eb242ddd196e7",
      "new_mode": 33188,
      "new_path": "src/Shader/PixelProgram.hpp"
    },
    {
      "type": "modify",
      "old_id": "6d431f5ce6f39fcb682ab6a91bdcd4e00277d04f",
      "old_mode": 33188,
      "old_path": "src/Shader/Shader.hpp",
      "new_id": "9e4a810828dd199f4a29133ccea53020aa084f46",
      "new_mode": 33188,
      "new_path": "src/Shader/Shader.hpp"
    },
    {
      "type": "modify",
      "old_id": "8dbd600f69136a1a379467f4be1d9990af1bc703",
      "old_mode": 33188,
      "old_path": "src/Shader/VertexProgram.cpp",
      "new_id": "ad4e37bd4e5c1e93bc6728d5eaba19caf7f95e92",
      "new_mode": 33188,
      "new_path": "src/Shader/VertexProgram.cpp"
    },
    {
      "type": "modify",
      "old_id": "fcd2a93a3fefa9222cc8106ba8480fca16c3e063",
      "old_mode": 33188,
      "old_path": "src/Shader/VertexProgram.hpp",
      "new_id": "3c4199c6611198997326d387f787bcd7467558a3",
      "new_mode": 33188,
      "new_path": "src/Shader/VertexProgram.hpp"
    }
  ]
}
