)]}'
{
  "commit": "9e4bc1babfeef7abe7fa288a36eedca18fd3db20",
  "tree": "d7c1c1274375bbd59206e305e00a3f84e3aa1c23",
  "parents": [
    "4d1f8d05a85a4e8a77034edaa074f7e89ac65bf5"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Tue Apr 16 16:52:02 2019 -0400"
  },
  "committer": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Wed Apr 24 16:22:22 2019 +0000"
  },
  "message": "SpirvShader: Refactor loads and stores. Consider limits.\n\nThis change moves all calls to rr::Load() and rr::Store() to two\nnew functions: SIMD::Load() and SIMD::Store(). This attempts to\nconsolodate the SIMD memory ops into reusable functions, while\nalso adding bounds checking on the accesses.\n\nThe additional branches hurts the JIT codegen performance.\nThis will be resolved with a future change.\n\nTests: dEQP-VK.robustness.*\nBug: b/131224163\nChange-Id: I3a392a1f4f5366fa5134c081e0a2479575f92d80\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29334\nReviewed-by: Chris Forbes \u003cchrisforbes@google.com\u003e\nTested-by: Ben Clayton \u003cbclayton@google.com\u003e\nPresubmit-Ready: Ben Clayton \u003cbclayton@google.com\u003e\nKokoro-Presubmit: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "be8de930bd4c68920d359173589ff3cef72b323b",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.cpp",
      "new_id": "bd51839dd5cabf58dae211b8b76b83237eb6b732",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.cpp"
    },
    {
      "type": "modify",
      "old_id": "ec0d44885f664b1cd5239548d064742432b0739a",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.hpp",
      "new_id": "81b698b1aeaf630fbba47b4d09e4920caded465e",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.hpp"
    },
    {
      "type": "modify",
      "old_id": "8331b3f97d826c9e05a6bc9b57b8aa487892cd87",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkBuffer.cpp",
      "new_id": "a83889b01880c6a53cc9d8017c8dd2154889442e",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "fe29f8cc42b5106f6d0f6d8de64658c93cdb1f8a",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkBuffer.hpp",
      "new_id": "2b868904c77b140c38d374a8d1538f3c736b3692",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkBuffer.hpp"
    },
    {
      "type": "modify",
      "old_id": "168f2ac3a13e74748ee44e9c52b15b83bff99be4",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkBufferView.cpp",
      "new_id": "e268ffbf4babad3d04e9d6008a09e2fa7fa57a63",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkBufferView.cpp"
    },
    {
      "type": "modify",
      "old_id": "db68bb6cd8cfb25be3e5147744bffcd595b25b9b",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkBufferView.hpp",
      "new_id": "6ca8ee785e4936b135061db1bd01373f37b48c7c",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkBufferView.hpp"
    },
    {
      "type": "modify",
      "old_id": "2e25012c861d443166f5ee02dc31a0b3ab102e0b",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkDescriptorSetLayout.cpp",
      "new_id": "8f6f6026d0be689eef61304e90fa8e3088fa539f",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkDescriptorSetLayout.cpp"
    },
    {
      "type": "modify",
      "old_id": "1cffddc097e5c663cdc7573de1c2797bdbe4e49e",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkDescriptorSetLayout.hpp",
      "new_id": "3a3d31a8de41bcc527a837dd761664957c4c5983",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkDescriptorSetLayout.hpp"
    },
    {
      "type": "modify",
      "old_id": "70311a5af71be67e38432b52f27658819a9ef5e5",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkImageView.hpp",
      "new_id": "b7ef0349559354d8559373bc5e3e13e110cc3d4c",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkImageView.hpp"
    }
  ]
}
