)]}'
{
  "commit": "6e3a387c01598240a7a8722ab8cbd1015ec1cd0a",
  "tree": "64fc23e27212a0f0d65b3fb6f849de3258222f87",
  "parents": [
    "ab210f92a84f1806e0a6af7e5c88d8cd46705ec3"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Wed Dec 18 10:48:09 2019 -0500"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Fri Dec 20 20:10:37 2019 +0000"
  },
  "message": "Exclude padding bytes from image size limit\n\nSurface::size() adds 4 padding bytes due to reading byte4 as 8 bytes for\nefficient unpacking to short4 (less efficient prior to SSE 4.1 pmovzxbw\ninstruction). This padding is never addressed separately so the offset\ncan\u0027t overflow a signed 32-bit integer if we keep the total size minus\nthe padding below 2 GiB.\n\nOn the OpenGL side we currently impose a further limit of 1 GiB, but\nthis should also take the padding into account to allow for effective\nimage data up to this limit (e.g.  8192 * 8192 of four samples of 32-bit\nelements). Note that our scanline limit is also 8192 so allowing more\nthan 1 GiB would run into that limit instead.\n\nBug: chromium:835299\nBug: b/145229887\nChange-Id: I4280fca88584235c0da6282ca622ee15b31bc34b\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39690\nPresubmit-Ready: Nicolas Capens \u003cnicolascapens@google.com\u003e\nKokoro-Presubmit: 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": "138f37187fec28f7a1cebcc4e1dcc230bb943ce5",
      "old_mode": 33188,
      "old_path": "src/OpenGL/common/Image.cpp",
      "new_id": "2052041c64b10003637371465819174df2c69325",
      "new_mode": 33188,
      "new_path": "src/OpenGL/common/Image.cpp"
    },
    {
      "type": "modify",
      "old_id": "3de3cfe49b45c7b838a52e2d3aac612768ec7ccc",
      "old_mode": 33188,
      "old_path": "src/Renderer/Surface.cpp",
      "new_id": "529cf09946375fcd1ca3ac2bf69d7e449d8e0358",
      "new_mode": 33188,
      "new_path": "src/Renderer/Surface.cpp"
    },
    {
      "type": "modify",
      "old_id": "2b01528d3aef19b96460d3364eeb85b3693bf04e",
      "old_mode": 33188,
      "old_path": "tests/GLESUnitTests/unittests.cpp",
      "new_id": "6edcb0e55e9affe38a8839a4010d3f35209ed5c4",
      "new_mode": 33188,
      "new_path": "tests/GLESUnitTests/unittests.cpp"
    }
  ]
}
