)]}'
{
  "commit": "ef869c2d01d5241ba8d16e6863e8595bc1fac9fd",
  "tree": "7900e088d2cd75d930b15ac9a695132aac632f23",
  "parents": [
    "738aa17493c2e6259b75548cd395c8392d516e01"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Thu Jan 21 11:07:44 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Thu Jan 21 11:07:44 2021 +0000"
  },
  "message": "Use SubresourceStorage to track per-subresource state.\n\nUsing this container is a small performance regression in the simple\ncases where all subresources are the same, or when the texture has few\nsubrsources. However it give better performance in the hard subresource\ntracking cases of textures with many subresources.\n\nUsing SubresourceStorage also makes it easier to work with compressed\nstorage since the compression is mostly transparent. It reduces code\nduplication and prevent bugs from appearing when a developer would\nforget to handle compression.\n\nThis fixes a state tracking issue in ValidatePassResourceUsage where the\nfunction didn\u0027t correctly handle the case where the PassResourceUsage\nwas compressed.\n\nAlso removes the unused vulkan::Texture::TransitionFullUsage.\n\nAlso makes SubresourceStorage\u003cT\u003e only require operator\u003d\u003d on T and not\noperator !\u003d.\n\nAlso fixes the texture format\u0027s aspect being used to create pipeline\nbarriers instead of the range\u0027s aspects.\n\nBug: dawn:441\n\nChange-Id: I234b8191f39a09b541c1c63a60cccd6cee970550\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37706\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nAuto-Submit: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b98708c69dd6d9a038716af0c4999cbadd180957",
      "old_mode": 33188,
      "old_path": "src/dawn_native/BUILD.gn",
      "new_id": "a0b7778b401cff187b578fa6fb84198f0817899c",
      "new_mode": 33188,
      "new_path": "src/dawn_native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "d65ead6b37679141831c51ecba54c7b92b672022",
      "old_mode": 33188,
      "old_path": "src/dawn_native/CMakeLists.txt",
      "new_id": "9a80bf921569848353722489a9bc05c0215cba56",
      "new_mode": 33188,
      "new_path": "src/dawn_native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "9d4124cf5b7fc6bb3721418ae53bb2b00e970907",
      "old_mode": 33188,
      "old_path": "src/dawn_native/CommandValidation.cpp",
      "new_id": "76dadff9d02684e8645bfc3c708be3fa56a32052",
      "new_mode": 33188,
      "new_path": "src/dawn_native/CommandValidation.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e56833afeb61abe8a733cc3fc3bea55f3a5b2e70",
      "new_mode": 33188,
      "new_path": "src/dawn_native/PassResourceUsage.cpp"
    },
    {
      "type": "modify",
      "old_id": "60dcd219a6d95e1709297acdf089d928bd3c2eb9",
      "old_mode": 33188,
      "old_path": "src/dawn_native/PassResourceUsage.h",
      "new_id": "9132f652f218f0337bb3ff74ba12616efa72232c",
      "new_mode": 33188,
      "new_path": "src/dawn_native/PassResourceUsage.h"
    },
    {
      "type": "modify",
      "old_id": "3f5a9159dd8dd9a14b838e8a1211bc4391146ada",
      "old_mode": 33188,
      "old_path": "src/dawn_native/PassResourceUsageTracker.cpp",
      "new_id": "4a53ae73926f2a6f7d2c1ee9494e54360eb82dfb",
      "new_mode": 33188,
      "new_path": "src/dawn_native/PassResourceUsageTracker.cpp"
    },
    {
      "type": "modify",
      "old_id": "4e613a64c72cd5e7f7c2741936f7067daab2bf11",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Subresource.cpp",
      "new_id": "ad9e0eedf78992eece8d21643a0e187448c57445",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Subresource.cpp"
    },
    {
      "type": "modify",
      "old_id": "3090e7b3c79815f06fac37d3043d957b8dc25297",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Subresource.h",
      "new_id": "1cf439ce4c2510ad9ada77297aeaa313ebc18c33",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Subresource.h"
    },
    {
      "type": "modify",
      "old_id": "fb444d74b6d6d7f5c1f5cb0ab695cf8c3059326c",
      "old_mode": 33188,
      "old_path": "src/dawn_native/SubresourceStorage.h",
      "new_id": "2a7e91a6abbc4f4ba50a88faf401d15ca347eb39",
      "new_mode": 33188,
      "new_path": "src/dawn_native/SubresourceStorage.h"
    },
    {
      "type": "modify",
      "old_id": "bf4c87dbd8916cea17c622ba9ae5d82b1550208d",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/TextureD3D12.cpp",
      "new_id": "c4b61ea0196f5335536eb71278d06a9e85b4ba85",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/TextureD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "79539eb0a8c6bd9357fb997bbb0767a3e07dfa08",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/TextureD3D12.h",
      "new_id": "2e2e089e641eda67e7bd480344738ee1d3011f1f",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/TextureD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "942a2ab33280fc8962366dbcb2102f25a98dff54",
      "old_mode": 33188,
      "old_path": "src/dawn_native/opengl/CommandBufferGL.cpp",
      "new_id": "239b10813d31e7c4e73a7bc929280c84e9c4da97",
      "new_mode": 33188,
      "new_path": "src/dawn_native/opengl/CommandBufferGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "d71437afb3253f8138ac2e2ea3f8fa1b2c809590",
      "old_mode": 33188,
      "old_path": "src/dawn_native/vulkan/TextureVk.cpp",
      "new_id": "218e60b8a64ad98898f1f06fd6cf6c2ab3ac2c40",
      "new_mode": 33188,
      "new_path": "src/dawn_native/vulkan/TextureVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "801eebcaee75f1363fd7124a0e0c240d97824627",
      "old_mode": 33188,
      "old_path": "src/dawn_native/vulkan/TextureVk.h",
      "new_id": "2e4f79d0d3c4d182a3272d5eb4a691d94808804d",
      "new_mode": 33188,
      "new_path": "src/dawn_native/vulkan/TextureVk.h"
    },
    {
      "type": "modify",
      "old_id": "a78bfef100ca87043f86521a5c39c3cce4ea09a0",
      "old_mode": 33188,
      "old_path": "src/dawn_native/vulkan/UtilsVulkan.cpp",
      "new_id": "b379e25be1c4ebe39fa26757c22c2a0c77f975ac",
      "new_mode": 33188,
      "new_path": "src/dawn_native/vulkan/UtilsVulkan.cpp"
    }
  ]
}
