)]}'
{
  "commit": "b9ca57d0dc027069000a9c816d38bad9bdb43736",
  "tree": "7e316ac9b5f4318d7ab478b73e7d9a75627dd0fe",
  "parents": [
    "5b2a43b678246d6bc8b81c904cef3a34e10364cf"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Wed Oct 25 21:00:31 2023 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Oct 25 21:00:31 2023 +0000"
  },
  "message": "Support separate depth-stencil readonlyness\n\nImplements support for having separate values for depth/stencilReadOnly\nin beginRenderPass. This works without any changes in all backends but\nthe Vulkan backend.\n\nOn the Vulkan backend, new internal wgpu::TextureUsages are introduced\nthat represent mixed readonly/not depth-stencil attachment. They can\nalso be combined with wgpu::TextureUsage::TextureBinding to signify that\nthe readonly aspect will be used for sampling.\n\nThe ReadOnlyDepthStencil end2end and validation tests are refactored for\neasier extensibility, and extended to test the newly allowed mixed\nreadonlyness render attachments.\n\nChanges are:\n - Fix a typo in IndirectDrawValidationEncoder.\n - Make TextureD3D11 not rely on CombinedDepthStencil as that aspect is\n   supposed to be internal to the Vulkan backend.\n - Introduce a kReservedTextureUsage bit and use it for\n   kAgainAsRenderAttachment that\u0027s not just intneral to\n   PassResourceUsageTracker.\n - Change the validation in CommandEncoder to allow mixed readonlyness\n   and correctly track such mixed usages.\n - Make the Vulkan backend require VK_KHR_maintenance2 so that we can\n   use the new VK_IMAGE_LAYOUTs it introduces.\n - Change the VulkanImageLayout function to take a Format() instead of a\n   whole vulkan::Texture object.\n - Make the vulkan::RenderPassCache handle separate readonlyness of\n   depth-stencil.\n - Updated the vulkan::Texture logic for barriers to handle separate\n   readonlyness (that\u0027s the most complicated part of this CL).\n - Rewrite/expand readonly attachment tests.\n - Enable these tests on OpenGL.\n - Add suppressions for the CTS testing the previous behavior.\n\nBug: dawn:2146\n\nChange-Id: Ic4151efd28f8735bc8a7e5119a72c85c29f7d124\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/155441\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a25ef7ca6e7342ce2b98b3857f5a96a3eb310822",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CommandEncoder.cpp",
      "new_id": "bf638d21c6227c8bf56c5a7a51ade552e1a03244",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CommandEncoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "05da03cd02425ff410da48917b2869bfc11041c5",
      "old_mode": 33188,
      "old_path": "src/dawn/native/IndirectDrawValidationEncoder.cpp",
      "new_id": "73914612aaa151870ae3a22c17a3ebaa7854f1df",
      "new_mode": 33188,
      "new_path": "src/dawn/native/IndirectDrawValidationEncoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "4944b67841b25cc5b8a7901ac942d1f335d4fa2e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/PassResourceUsageTracker.cpp",
      "new_id": "15d2a7f6bc77e320b21ccc9cf1f39b07eab281c1",
      "new_mode": 33188,
      "new_path": "src/dawn/native/PassResourceUsageTracker.cpp"
    },
    {
      "type": "modify",
      "old_id": "3487599f6c7aac5a9105db0de6b448b4ac0fc77e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/PassResourceUsageTracker.h",
      "new_id": "9dd9416627831a8abd96707cd4585ea2fd82a534",
      "new_mode": 33188,
      "new_path": "src/dawn/native/PassResourceUsageTracker.h"
    },
    {
      "type": "modify",
      "old_id": "5cd65d7524781ab324ab1062fbef60c3faa02470",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/TextureD3D11.cpp",
      "new_id": "2b114da351efae1510099603f30a396fcc543727",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/TextureD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "15f101f9cf8534fa59ddde8f87c61e33f52f7682",
      "old_mode": 33188,
      "old_path": "src/dawn/native/dawn_platform.h",
      "new_id": "5aff6f5f3c6fcd96d5a5a04e32c545a82b7468f0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/dawn_platform.h"
    },
    {
      "type": "modify",
      "old_id": "3d3e0300293acca568aeed86deb4e5ea24a5a629",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/BindGroupVk.cpp",
      "new_id": "c619e88df0989e6607592319ad587cbd69668a1f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/BindGroupVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "e73eed399e9ff1aedecec89599eba9fda661fa20",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/CommandBufferVk.cpp",
      "new_id": "8dc675e071895f93ebd8583dae662c4d9ba06a13",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/CommandBufferVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "0b9704859f71b151dee1e251cdc0dadf22ebc427",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp",
      "new_id": "51dbb18c4196f3774649800e19ab115b94a7e269",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "81dc5af3cd542c777c5085d79e0c05265fa3ff92",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/RenderPassCache.cpp",
      "new_id": "872b0a1bb34961432047ecee20fa29cba4f6f931",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/RenderPassCache.cpp"
    },
    {
      "type": "modify",
      "old_id": "3858199fbaa756a8a0aea21de35963977716e6ca",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/RenderPassCache.h",
      "new_id": "22a2bc8c57c07d89ce90383406455c7e42fff6fb",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/RenderPassCache.h"
    },
    {
      "type": "modify",
      "old_id": "474b29ce82007102edd9f270d859beaa4e4789f3",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/RenderPipelineVk.cpp",
      "new_id": "d05cfb68d3a2b9b1e00fdab4397e1b96638ee28a",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/RenderPipelineVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "03fd671c68f6a03f7ef666be94065a84149a85b3",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/StreamImplVk.cpp",
      "new_id": "428e822fe5647fd168ab1c5c2984c8df9eda5750",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/StreamImplVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "f5ccaa9d4801ae6fa085619ff724abcd17b13c52",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/TextureVk.cpp",
      "new_id": "be0ea9e3bb4ae9b8afcfbe7bfc44b976af79a4de",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/TextureVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "b19e2280e20c9939792806898108a2014dfd0089",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/TextureVk.h",
      "new_id": "4b838971de62d86f32559e49675cf91839648760",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/TextureVk.h"
    },
    {
      "type": "modify",
      "old_id": "f726934198bdc5150f71d008715ca271da909843",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/ReadOnlyDepthStencilAttachmentTests.cpp",
      "new_id": "3d9d21fedf69ce209d30bc924821422a4693edf4",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/ReadOnlyDepthStencilAttachmentTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "18442ae8bf4b6a182e5bcd8226648ab2b5886004",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp",
      "new_id": "cf5812ef5243555b91423a8229a326b953377f77",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "70c6b06b60d27954d5f04372a49a4a423c507929",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/validation/ResourceUsageTrackingTests.cpp",
      "new_id": "915655c74aaeef1c4e8ce5290098c7d54a08e2aa",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/validation/ResourceUsageTrackingTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "88b6b79fadd70c052a78c83f457030783f44018b",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/validation/UnsafeAPIValidationTests.cpp",
      "new_id": "bb0e74290cb537ed351fef6785e25ef51018589e",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/validation/UnsafeAPIValidationTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "c66c0fc5388e5385fb65a827acc605899fed9b43",
      "old_mode": 33188,
      "old_path": "webgpu-cts/expectations.txt",
      "new_id": "0f1e7f109fe90795ce0815e23692a7d31d147d35",
      "new_mode": 33188,
      "new_path": "webgpu-cts/expectations.txt"
    }
  ]
}
