)]}'
{
  "commit": "ce08265ba5b7b6d3a090137d4e06b7e5af1f7fba",
  "tree": "5c619ae1acccc4406bdca359e2f22aaec7f71075",
  "parents": [
    "5f71fdf34b763048628317f7f910e74ed7fe9b5c"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Tue Sep 08 20:55:53 2020 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Wed Sep 09 06:46:33 2020 +0000"
  },
  "message": "Fix register assignment for constant arrays\n\nConstant arrays are allocated in the same \u0027register file\u0027 as the one\nfor per-program uniforms, to support dynamic indexing. While we had\na special case for that in OutputASM::registerType(), in registerIndex()\nwe were actually allocating them in the temporaries register file. This\nled to assigning the same register index range twice, leading to\noverwriting the per-program uniforms with constant array data in the\nshader.\n\nBug: b/168060171\nChange-Id: If42944d186ed1c1328a8d477edca4662aa1e8e54\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48248\nPresubmit-Ready: Nicolas Capens \u003cnicolascapens@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e9d885f3ee3c474de937ff49688f7f3b27dde7b",
      "old_mode": 33188,
      "old_path": "src/OpenGL/compiler/OutputASM.cpp",
      "new_id": "dffa14836ab79a63e5bc5ef5bfc9207f5788b1d8",
      "new_mode": 33188,
      "new_path": "src/OpenGL/compiler/OutputASM.cpp"
    },
    {
      "type": "modify",
      "old_id": "92987c6e29496331da655a7b1bf100c82caefada",
      "old_mode": 33188,
      "old_path": "tests/GLESUnitTests/unittests.cpp",
      "new_id": "f9bea45ac149359a2ba9f0d477d9708c2faac183",
      "new_mode": 33188,
      "new_path": "tests/GLESUnitTests/unittests.cpp"
    }
  ]
}
