)]}'
{
  "commit": "c7d5ec39591dc0f699bdedc9b129f1693beaccb4",
  "tree": "b6a8015a38159f054ac3c43af6e15284d2997722",
  "parents": [
    "ca9de96433418c522b011cae7c35d855e6417bf8"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Wed Apr 22 01:11:37 2020 -0400"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "nicolascapens@google.com",
    "time": "Mon Apr 27 20:59:36 2020 +0000"
  },
  "message": "Don\u0027t expose individual descriptor set layouts to SPIR-V compilation\n\nShader compilation requires access to the pipeline layout, but not to\neach of its descriptor set layout interfaces. This change ensures that\nall information is queried only through the pipeline layout interface.\nThis facilitates refactoring the pipeline layout object to contain all\nthis information, instead of depending on the descriptor set layout\nobjects to remain alive after pipeline layout creation.\n\nThe Vulkan spec states that \"a VkDescriptorSetLayout object passed as\na parameter to create another object is not further accessed by that\nobject after the duration of the command it is passed into.\"\n\nAlso consistently use \"index\" for values that index into an array, and\n\"offset\" for byte offsets. \"descriptor\" signifies an individual resource\ndescriptor, while \"binding\" refers to the descriptor set binding which\nis an array (often of just one descriptor). Use \"setNumber\" and\n\"bindingNumber\" for the 32-bit identifiers used by SPIR-V, to\ndistinguish them from the actual objects.\n\nBug: b/154522740\nChange-Id: If3f6e56b6769aae6ebbd49109e7dc1e78cf6558c\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/44188\nPresubmit-Ready: Nicolas Capens \u003cnicolascapens@google.com\u003e\nTested-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\nKokoro-Result: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "927bb897a4acb680985602d7ef02b85cbd1e1e8b",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShader.cpp",
      "new_id": "6f2a9b0e72b40b1329d43030311cb775c6306172",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShader.cpp"
    },
    {
      "type": "modify",
      "old_id": "b803b406a6a49bafa9361f05128184d381f09ad5",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShaderImage.cpp",
      "new_id": "6da2de92b871cd23222a1ecbde22e1c1ad8420de",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShaderImage.cpp"
    },
    {
      "type": "modify",
      "old_id": "5d65e6d8f0491196bca1819718462939690d15dd",
      "old_mode": 33188,
      "old_path": "src/Pipeline/SpirvShaderMemory.cpp",
      "new_id": "5eab8c93030bb911f42953f757dee9338e44fd4e",
      "new_mode": 33188,
      "new_path": "src/Pipeline/SpirvShaderMemory.cpp"
    },
    {
      "type": "modify",
      "old_id": "2bf532487a87dd9bce35708a9178a1936a81029b",
      "old_mode": 33188,
      "old_path": "src/Reactor/Reactor.cpp",
      "new_id": "0ffa010ccc35832af37c8fc4ce60ce4cfe43b7f6",
      "new_mode": 33188,
      "new_path": "src/Reactor/Reactor.cpp"
    },
    {
      "type": "modify",
      "old_id": "ec1131aaefeec6b4a0f58d54a87d761e4d3fe2a0",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkCommandBuffer.cpp",
      "new_id": "4acabffa7f11c55df671775bff6c82b626107d17",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkCommandBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "05c929782f2c69d0b3074fa92af286652f177995",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkDescriptorSetLayout.cpp",
      "new_id": "102a024609b9225154c85c98ec1f913eefeb57bf",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkDescriptorSetLayout.cpp"
    },
    {
      "type": "modify",
      "old_id": "84a14432ffd7283ee56afcc7576ea5b7f4fe9612",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkDescriptorSetLayout.hpp",
      "new_id": "5fd4d7961cdf06fa7201adbcdac396342baa3b91",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkDescriptorSetLayout.hpp"
    },
    {
      "type": "modify",
      "old_id": "76afb0ec74a252847b9f72aea3466c34ef2864f8",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkMemory.cpp",
      "new_id": "753040ec57870eb91ef8f704827bb108b929e426",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkMemory.cpp"
    },
    {
      "type": "modify",
      "old_id": "ba9a777480cec81d1623aa8e37fc7c9a2893b83a",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkPipelineLayout.cpp",
      "new_id": "9288a9264180da4b2b375e5399b1326792e7e014",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkPipelineLayout.cpp"
    },
    {
      "type": "modify",
      "old_id": "59a42839a1acadf977da31f94396148447c5944d",
      "old_mode": 33188,
      "old_path": "src/Vulkan/VkPipelineLayout.hpp",
      "new_id": "3d7ae29d16392cf97d1a3d0ec523830c57400103",
      "new_mode": 33188,
      "new_path": "src/Vulkan/VkPipelineLayout.hpp"
    }
  ]
}
