)]}'
{
  "commit": "74fc2fcfce0f71ab94cdd05bcb67476ffd50ae82",
  "tree": "1f9b710223fb9eb39991cda03cc87bb17ab489aa",
  "parents": [
    "68be1b2f70bec0e8b5c023ef2baeafc17370a652"
  ],
  "author": {
    "name": "Brandon Jones",
    "email": "bajones@chromium.org",
    "time": "Mon Feb 12 23:12:23 2024 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Feb 12 23:12:23 2024 +0000"
  },
  "message": "Revert \"[toggles] Set labels on backend objects only if toggle is set\"\n\nThis reverts commit 99ccab7256a68fb9a42eb7b239e92f09cd1e6266.\n\nReason for revert: Breaks Vulkan device loss handling and possibly is preventing a roll into Chromium.\n\nUnfortunately the setting of debug labels for the Vulkan backend isn\u0027t purely for developer convenience. We embed a device ID (from GetDebugPrefix()) in the label so that if a device loss is detected (which Vulkan exposes with a generic callback listing the associated objects but not device) we can link it back to the device in question via the ID embedded in the object name.\n\nSee:\n - https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp;l\u003d254?q\u003dGetDeviceDebugPrefixFromDebugName\u0026ss\u003dchromium\n - https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/native/vulkan/UtilsVulkan.cpp;l\u003d261?q\u003dGetDeviceDebugPrefixFromDebugName\u0026ss\u003dchromium\n\nThis isn\u0027t a great system (and it really needs some better comments in the area of the code that was edited to explain it) but it works and I haven\u0027t found a good alternative so far. Suggestions welcome!\n\nAlso, it\u0027s not clear to me how or if it\u0027s related, but Dawn-\u003eChromium rolls have been failing since this landed. \n\nSee:\n - https://chromium-review.googlesource.com/c/chromium/src/+/5285356?tab\u003dchecks\n - https://autoroll.skia.org/r/dawn-chromium-autoroll\n\nThe errors don\u0027t look explicitly WebGPU related, but it also doesn\u0027t appear to be a failure that\u0027s showing up in builds outside of the roll. I wouldn\u0027t want to revert this just on speculation of the roll failure, but given that it also has a known issue with the Vulkan backend I\u0027d prefer to revert in order to fix that and see if it clears up the roll at the same time.\n\nOriginal change\u0027s description:\n\u003e [toggles] Set labels on backend objects only if toggle is set\n\u003e\n\u003e We have found that in Chrome, setting these labels can be a source of\n\u003e non-trivial overhead on performance benchmarks. This CL guards setting\n\u003e of these labels with the `use_user_defined_labels_in_backend` toggle.\n\u003e Note that labels will still be set on frontend objects, and hence will\n\u003e still be available in e.g. Dawn error messages. The labels on the\n\u003e backend objects are relevant only when debugging via platform-specific\n\u003e facilities (e.g., XCode).\n\u003e\n\u003e This CL also changes the `use_user_defined_labels_in_backend` toggle to\n\u003e default to true if validation is enabled. This is necessary as at least\n\u003e on Vulkan Dawn\u0027s debugging facilities assume that these labels are\n\u003e set [1]. It is consistent in any case, as a client enabling validation\n\u003e indicates that they are more concerned about debuggability than\n\u003e performance.\n\u003e\n\u003e [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp;l\u003d263?q\u003dBackendVk.cpp\u0026ss\u003dchromium\n\u003e\n\u003e NOTE: This CL is a reland following the suppression of a pre-existing\n\u003e failure that was tickled by this CL (a Vulkan backend error message was\n\u003e previously swallowed in Dawn backend code, but the lack of a debug label\n\u003e for devices meant that the error was now surfaced). The reland is\n\u003e unchanged save for incorporating\n\u003e https://dawn-review.googlesource.com/c/dawn/+/173820.\n\u003e\n\u003e Bug: dawn:2383\n\u003e Change-Id: I8196c6ec165add0d5e9e73952be77df20e1c2dc3\n\u003e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/174280\n\u003e Kokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n\u003e Commit-Queue: Colin Blundell \u003cblundell@chromium.org\u003e\n\u003e Reviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\n\nTBR\u003dcwallez@chromium.org,blundell@chromium.org,noreply+kokoro@google.com,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com\n\nChange-Id: Ie118cb6aff04635e2e6fe11481f456f980f0560b\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nBug: dawn:2383\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/174740\nReviewed-by: Shrek Shao \u003cshrekshao@google.com\u003e\nCommit-Queue: Brandon Jones \u003cbajones@chromium.org\u003e\nReviewed-by: Brandon Jones \u003cbajones@chromium.org\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b0ba9eb400153469b295a80a184a5ce28bb9034",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Adapter.cpp",
      "new_id": "d28414867d6d24ae58a13fd8e705e63595ac237b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "9447f71858938bf773b9b6bb86d729cf245b5d14",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.cpp",
      "new_id": "eff62eebf517ef9bf077db64f91045d1c1458690",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.cpp"
    },
    {
      "type": "modify",
      "old_id": "ba185b7b88558b01ca8228b47ecc380b0bb702fd",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/UtilsD3D11.cpp",
      "new_id": "a453b2d0b98fd69275d1e3a71ae0aca4657d6e8d",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/UtilsD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "f17def94f4b18ada4f1144dbc792ebed15707243",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp",
      "new_id": "34c0bcc70617513b65b4fbaf153bad275a7125b8",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "ea12054693b8006b6e0c65652ff8b8b16b23c2c1",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/UtilsD3D12.cpp",
      "new_id": "5a294f324510dde670952cb95a68ff5442486983",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/UtilsD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "ee419233be45d531f15f28a3b9992b4352399374",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/UtilsMetal.h",
      "new_id": "1f06b178b860f725abc602e4c8fd080f496d0ed7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/UtilsMetal.h"
    },
    {
      "type": "modify",
      "old_id": "c853e33261d95a9fc6fec37086a46172c95ef6b0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/UtilsVulkan.cpp",
      "new_id": "4cbf88bf046e2f50e13af530f03d1aa4d78913a3",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/UtilsVulkan.cpp"
    }
  ]
}
