)]}'
{
  "commit": "b3af5d64d3e6e2110b07d71909fc432537339659",
  "tree": "134add02e8c5c0e68ffa0c461b68dbf8bb72ebc0",
  "parents": [
    "21f055f7d8d07f723621ff76fb973cb772ea4f1b"
  ],
  "author": {
    "name": "Jason Simmons",
    "email": "jason-simmons@users.noreply.github.com",
    "time": "Wed Nov 08 12:36:31 2023 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Nov 08 12:36:31 2023 -0800"
  },
  "message": "[Impeller] Create a global Vulkan instance in PlaygroundImplVK to prevent SwiftShader from being unloaded after a test completes (#47781)\n\nLibcxx is leaking a thread-local storage key each time SwiftShader is\r\nloaded and unloaded. If a test\u0027s Vulkan instance is the only one in the\r\nprocess, then SwiftShader will be unloaded after the test ends. If many\r\nVulkan playground tests run in a suite, then eventually the leak will\r\ncause the process to exceed its limit of TLS keys and the suite will\r\nfail.\r\n\r\nThe process can ensure that SwiftShader remains loaded by holding\r\nanother Vulkan instance that persists across all tests in the suite.\r\n\r\nFixes https://github.com/flutter/flutter/issues/138028",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82d8d0e25ffbc5589dd2d9463009510edb55464d",
      "old_mode": 33188,
      "old_path": "impeller/playground/backend/vulkan/playground_impl_vk.cc",
      "new_id": "675558f6e53d89497bd35cbddf0802309ea298ea",
      "new_mode": 33188,
      "new_path": "impeller/playground/backend/vulkan/playground_impl_vk.cc"
    },
    {
      "type": "modify",
      "old_id": "7c72326f82ea6e28747d5ff8f1f2ec92bb3dd7e8",
      "old_mode": 33188,
      "old_path": "impeller/playground/backend/vulkan/playground_impl_vk.h",
      "new_id": "0fa614224a42e2863398bc4ad4805bb45a480f61",
      "new_mode": 33188,
      "new_path": "impeller/playground/backend/vulkan/playground_impl_vk.h"
    }
  ]
}
