)]}'
{
  "log": [
    {
      "commit": "247dda20cbb8198774fe5122413f37b066b75dd5",
      "tree": "e573ed5ddffa6b398660e5698d056ebe2bb00e97",
      "parents": [
        "9ddc39d87e94828c3b2106eb19514f9325e12590"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Fri Jun 07 21:06:40 2024 +0000"
      },
      "committer": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Fri Jun 07 21:06:40 2024 +0000"
      },
      "message": "switch over to use new storage read api instead of\nserver_configurable_flags, this new read api lib will be needed for new\ncodegened aconfig flag lib.\n\nBug: 321077378\nTest m and avd\n\nChange-Id: Ia345d4a798c1d7f1861512a3e9aa0ab5e72d407f\n"
    },
    {
      "commit": "c497a09eb5d2eea5999915a7163e6e44d5185dfd",
      "tree": "299b3d13567f1aa090d782b52b1973652e20c11f",
      "parents": [
        "e32f5f0113958b29846021f0b9fdc993771c6209",
        "488101bf891623780e2f4d0eaacadc6d02e268f9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jun 05 18:34:42 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 05 18:34:42 2024 +0000"
      },
      "message": "Merge \"[RenderEngine] Only compile Graphite if either Graphite flag is enabled\" into main"
    },
    {
      "commit": "925b0c1880d16541fc22b7f5ded4a4266ab1ed3a",
      "tree": "3c227c7fa369d42b5fcfbefb4a1128ee0fe6837e",
      "parents": [
        "3cb24e3defd8ed6d0cad928a1c140ef95d43d657"
      ],
      "author": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Jun 03 13:59:04 2024 +0000"
      },
      "committer": {
        "name": "Kaylee Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Jun 03 14:01:36 2024 +0000"
      },
      "message": "Update deprecated GrVk type references\n\nThese are just type aliases and Skia is aligning the Vulkan types\nto be shared between Ganesh and Graphite.\n\nChange-Id: I6ab6c6c977310c6c9d40526f5e6761c70e346952\n"
    },
    {
      "commit": "488101bf891623780e2f4d0eaacadc6d02e268f9",
      "tree": "8835a7bfa86cecd9018dd4cae4e115750252746a",
      "parents": [
        "4a466641791cb573f2d029f283ce8a2b25974bd5"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon May 20 13:32:13 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri May 31 12:05:38 2024 -0400"
      },
      "message": "[RenderEngine] Only compile Graphite if either Graphite flag is enabled\n\nRE-Graphite will be *compiled* if either the graphite_renderengine\nor force_compile_graphite_renderengine ready-only flag is enabled at\ncompile time (inclusive OR).\n\nRE-Graphite can be compiled and *enabled* by:\n1. setting just graphite_renderengine\u003dtrue, or\n2. setting both force_compile_graphite_renderengine\u003dtrue and the\ndebug.renderengine.graphite system property to true.\n\nWhy RenderEngine needs a dep on libsurfaceflingerflags now:\nlibsurfaceflinger_common pulls in SF\u0027s FlagManager, which is layered on\ntop of the API that\u0027s autogenerated for SF\u0027s aconfig module,\nlibsurfaceflingerflags.\nThe COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(...) macro is defined by\ncom_android_graphics_surfaceflinger_flags.h in that latter aconfig\nmodule, and that header is not exported by the higher-level FlagManager\ncode.\n\nBug: b/293371537\nBug: b/331678326\nBug: b/341728634\nTest: boot and bloaty (see b/331678326)\nFlag: com.android.graphics.surfaceflinger.flags.graphite_renderengine\nChange-Id: I9d0b15bda08430552716a9a1f7cd59d91ee7b9a6\n"
    },
    {
      "commit": "fe0aa3b5a1750e0bc82103538c6208a6be35a4dd",
      "tree": "84c45275d5aa7be7c44fda94c17f555ba52273f2",
      "parents": [
        "9ad203c81affad864c55d73452cb78b722409206",
        "f2ea10cb55b7578b7600ae2becb2d2d7070bef3c"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 28 23:03:28 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 28 23:03:28 2024 +0000"
      },
      "message": "Merge \"Introduce MouriMap\" into main"
    },
    {
      "commit": "229c5228fbe7bf6343c36a4d64ddffce73b421c2",
      "tree": "c9112bec855985974d30900921197bd55ed75283",
      "parents": [
        "5697ad6f5466d02680da789d7110cd11c179f55d",
        "a7e752e25f54296c907ddbf5a682990bf9e85f6d"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 28 16:21:08 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 28 16:21:08 2024 +0000"
      },
      "message": "Merge \"Plumb in local tonemapping flag into renderengine\" into main"
    },
    {
      "commit": "5697ad6f5466d02680da789d7110cd11c179f55d",
      "tree": "94a3a7855d892341afd721deb73f2a8fb719d66a",
      "parents": [
        "616c3939ef3044905e0ae13876dc9fce6d577d36"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 24 20:00:52 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 28 16:13:42 2024 +0000"
      },
      "message": "Remove extra check for brightening layers\n\nI8de3a05ec245788a5aa0b99d28aa36a678d12cbc missed this.\n\nBug: 329464641\nTest: adb screencap\nChange-Id: I83d2898ce7578d3de4ca4a6c682e04ca4daaf8b4\n"
    },
    {
      "commit": "f2ea10cb55b7578b7600ae2becb2d2d7070bef3c",
      "tree": "6455cb558cad222449d02d001e99990a0c2f2d94",
      "parents": [
        "a7e752e25f54296c907ddbf5a682990bf9e85f6d"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 24 19:13:21 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Sat May 25 04:41:48 2024 +0000"
      },
      "message": "Introduce MouriMap\n\nMouriMap is a local-tonemapping algorithm optimized for near-exact\npreservation of SDR/LDR regions, while trying to do a good job of\nrendering HDR. MouriMap was designed to run well on mobile hardware.\n\nOn a Pixel 8 Pro, MouriMap is able to tonemap screen-sized images\nbetween 20 and 25 milliseconds. This is not fast enough for real-time\nrendering at the panel refresh rate. But, this is sufficient for\nscreenshots, which is the use-case that MouriMap is intended to be\ndeployed for.\n\nTests will follow after this patch.\n\nBug: 329464641\nTest: builds, boots\nTest: Swipe apps into Recents\nTest: adb screenshot\nChange-Id: I0ded29b65ccf41940de74cff26d36275bfa46e78\n"
    },
    {
      "commit": "a7e752e25f54296c907ddbf5a682990bf9e85f6d",
      "tree": "87c569600f79d3a9721589bf6d65baf8f53bbd49",
      "parents": [
        "ef7f5d11c09ff046e4cf5420aaf07c8baa01aded"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 24 18:21:21 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 24 18:27:32 2024 +0000"
      },
      "message": "Plumb in local tonemapping flag into renderengine\n\nThe detailed local tonemapping implementation will come in a later CL.\n\nAlso allow the flag to configure luminance spaces in SF, to prevent\nSDR-only regions from dimming.\n\nBug: 329464641\nTest: builds\nChange-Id: Ia2bbf12b2cdfb5597137a6028911ff71b3d866d3\n"
    },
    {
      "commit": "158510edc2fd5880c01cb8dc0f01df250e2b92e0",
      "tree": "c543504c9f1ee8032470e9fb98a39c848ff889d3",
      "parents": [
        "6b5310e5124e55d7f3c987e45e438904df6a7267",
        "3348c74c8e5cf51ea48a6f86e891c003cc2e3d5a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 22 18:25:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 22 18:25:37 2024 +0000"
      },
      "message": "Merge \"Create more expressive shader cache config.\" into main"
    },
    {
      "commit": "3348c74c8e5cf51ea48a6f86e891c003cc2e3d5a",
      "tree": "4d9b4feed5e1530a5f1ba9ce572abc6cee752ab1",
      "parents": [
        "4994e61d4378f7bba1e60a680aae872a6b651ce1"
      ],
      "author": {
        "name": "Russell Myers",
        "email": "rwmyers@google.com",
        "time": "Mon Apr 29 20:22:42 2024 +0000"
      },
      "committer": {
        "name": "Russell Myers",
        "email": "rwmyers@google.com",
        "time": "Wed May 22 15:14:33 2024 +0000"
      },
      "message": "Create more expressive shader cache config.\n\nDevices such as Wear and others may not need one of the many portions of\nthe cache that are available by default. Rather than simply configuring\njust HDR and / or the entire cache, we offer a more nuanced\nconfiguration that can be turned off via system properties.\n\nBug: 325045840\nTest: Local wear builds with different configuration settings.\nChange-Id: I0aded11eeab45d3684979f24c12f3676deb6d27b\n"
    },
    {
      "commit": "da9ba7b2325e53435cbc0feb8470b0c3e3affaf8",
      "tree": "350124c710d55b5f91f08c91a643cf7f44e73515",
      "parents": [
        "2088c4f9d090f03eab24be49d022c0c5cba19638"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Mon May 13 20:13:06 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 17 15:44:08 2024 +0000"
      },
      "message": "Cleanup old boolean constexprs.\n\nWe used these as flags before we had flags, and these have been true for\nabout a year now.\n\nBug: 329464641\nTest: builds\nChange-Id: I8de3a05ec245788a5aa0b99d28aa36a678d12cbc\n"
    },
    {
      "commit": "fdec757034fec765ece157103536067f8e5a3d12",
      "tree": "1308e839831f3ff53696d09ae246bd01b337a5b6",
      "parents": [
        "75ed01b267d6ec0b5693a9e4c6655593b3453df9",
        "2eba151e2c1f9416fbaca81be04f345d59f93261"
      ],
      "author": {
        "name": "Liana Kazanova",
        "email": "lkazanova@google.com",
        "time": "Wed May 15 18:58:31 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 15 18:58:31 2024 +0000"
      },
      "message": "Merge \"Revert \"Fix ping pong progress in the Kawase implementation.\"\" into main am: 0893c1c3c5 am: 2eba151e2c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3088985\n\nChange-Id: Id5ba97bd15e57a919a8d09d1f5898102bde509e5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0893c1c3c5b7b926022ad7d4d02bfac00a904b52",
      "tree": "b8c67a2ca0844b1358dd1de35f49892152a1998c",
      "parents": [
        "922151488d2b316d6400bd1029aa96ad7ebb29bd",
        "2db35e7cd3b7e1e7c467c184e6fca297c84bac6b"
      ],
      "author": {
        "name": "Liana Kazanova",
        "email": "lkazanova@google.com",
        "time": "Wed May 15 18:16:38 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 15 18:16:38 2024 +0000"
      },
      "message": "Merge \"Revert \"Fix ping pong progress in the Kawase implementation.\"\" into main"
    },
    {
      "commit": "2db35e7cd3b7e1e7c467c184e6fca297c84bac6b",
      "tree": "df58352644f038900ad2267c31177cb05048b9fc",
      "parents": [
        "a3e4bf46323f6f019f398354008bc17c0aa36a6f"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed May 15 14:03:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 15 14:03:56 2024 +0000"
      },
      "message": "Revert \"Fix ping pong progress in the Kawase implementation.\"\n\nThis reverts commit a3e4bf46323f6f019f398354008bc17c0aa36a6f.\n\nReason for revert: b/340625902\n\nChange-Id: I537c5d88fa5368b37713618239603ce8e28463d9\n"
    },
    {
      "commit": "bebdf4e5796581f6a5fb39e0c8a0705c55ea08f2",
      "tree": "375222ec3bde52a5a81cb67602c171de9ae1a522",
      "parents": [
        "cfbee5304f8fa7210e6f0816ca2ef2b6ab22c689",
        "1e923712af839cf6b4deb08bbc7713aaedb74ec3"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue May 14 17:56:03 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 14 17:56:03 2024 +0000"
      },
      "message": "Merge \"Fix ping pong progress in the Kawase implementation.\" into main am: 922151488d am: 1e923712af\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3019150\n\nChange-Id: I3940dc1ecdfc01fbd199656491677968990ecc44\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "922151488d2b316d6400bd1029aa96ad7ebb29bd",
      "tree": "81a9a24f341b3f1ba578688e95d31801506c7cd2",
      "parents": [
        "61d93fc23f1d3d7a34b7b94ada7e77c9133cfba8",
        "a3e4bf46323f6f019f398354008bc17c0aa36a6f"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue May 14 16:41:31 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 14 16:41:31 2024 +0000"
      },
      "message": "Merge \"Fix ping pong progress in the Kawase implementation.\" into main"
    },
    {
      "commit": "3f9eb6d90e46f55efedd769a53c6104d1671971b",
      "tree": "ab2ee107fa91bd98635784ccc601ac1a4680262a",
      "parents": [
        "d50d517fb36c05ee2a877a3684fb1d3ff6e273c2"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Apr 30 13:43:34 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Apr 30 14:32:03 2024 -0400"
      },
      "message": "Log insufficient VK API versions in VulkanInterface::init\n\nBug: b/293371537\nTest: N/A\nFlag: EXEMPT error message improvement\nChange-Id: I1fdf425c7dd0121a437ad7109e40391b08671838\n"
    },
    {
      "commit": "921965fac7a42dbb8d620e9f7c9d5f98d84c6f33",
      "tree": "141451bba8a9ad09fa8bb78fe4ad20bacd506919",
      "parents": [
        "85c66bb0e5cee05ec27873b12493c149362767de",
        "137e839bbca2fe74407f9df41862777eccd968c4"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Apr 25 15:43:55 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 25 15:43:55 2024 +0000"
      },
      "message": "Merge \"Remove bail on VK_PHYSICAL_DEVICE_TYPE_CPU from VulkanInterface::init\" into main"
    },
    {
      "commit": "ad2db94d9f6591acc2c31bc9189dc59d6cc24654",
      "tree": "5c53a117af6872f1c54019c3381670785aa5fffa",
      "parents": [
        "f269a1deec7eb04ee2ed052173576338e0397ff2",
        "ea4582866d03446b209f52be543bc756440d5bd2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Apr 24 15:43:57 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 24 15:43:57 2024 +0000"
      },
      "message": "Merge \"Remove some comments regarding caching protected buffers\" into main"
    },
    {
      "commit": "e9f113509854ebc61ae02bc86fe3e023bc1ea4c7",
      "tree": "c859bc75c2e838d7aa293a4ec02152fab953b6e0",
      "parents": [
        "44b6216a2d41c0b40bf39e60cf9fcae8b7e94393"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Apr 22 20:37:17 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Apr 22 20:54:57 2024 +0000"
      },
      "message": "Update description for debug.renderengine.backend\n\nBug: N/A\nTest: N/A\nFlag: EXEMPT comment-only change\nChange-Id: Ia192c9c5d3562a5e51b4f17433b6b2f337ae8ebb\nMerged-In: Ib9b8abb25f4894f1b50b6286720c2abf89ca74e2\n"
    },
    {
      "commit": "137e839bbca2fe74407f9df41862777eccd968c4",
      "tree": "af41ceb6535a6aa4b9299b85cd3e2fc64358b4c4",
      "parents": [
        "d10195fcfe1119bc57362049c86935cea72fba4b"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Apr 22 19:22:34 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Apr 22 19:26:21 2024 +0000"
      },
      "message": "Remove bail on VK_PHYSICAL_DEVICE_TYPE_CPU from VulkanInterface::init\n\nThis was added as a temporary measure to prevent one type of emulator\nwhere RE-GaneshVk lead to a black screen on boot from being affected by\nflag-based rollouts of RE\u0027s Vulkan backends. That emulator now\nexplicitly sets debug.renderengine.backend\u003dskiaglthreaded, so removing\nthis check will allow tests to be run against RE\u0027s VK backends on other\nemulators.\n\nTest: manual + librenderengine_test\nFlag: EXEMPT actually gated by sysprop and 2 flags\nBug: b/327230380\nChange-Id: I2bb31b0ff76344082c6f5b6396a52b093edb99a1\n"
    },
    {
      "commit": "2526b2f2b413792f6cfe29a58080dc62a651277a",
      "tree": "724b21928c8939f4982626b43e6fe72ac5339367",
      "parents": [
        "70da543d25dc06573ed536b283ef913d01055127"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Apr 16 15:12:22 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Apr 19 13:25:42 2024 -0400"
      },
      "message": "Fix RE\u0027s VulkanInterface destruction \u0026 unnecessary initialization\n\nSurfaceFlinger\u0027s initialization of RE now:\n- Only attempts to check for VK support if either the GaneshVk or\n  GraphiteVk flag is set.\n- Caches the VulkanInterface created to check for VK support until a VK\n  instance of RE is created.\n- Tears down a partially initialized VulkanInterface if some required\n  feature is unsupported.\n\nAdditionally, SkiaVkRenderEngine\u0027s destructor now tears down the static\nVulkanInterfaces it uses, which necessitates:\n- Caching whether VK is supported.\n- Ensuring all Skia resources are destroyed *before* the VK resources\n  managed by VulkanInterface that they rely on are torn down. This\n  involves ensuring all textures are destroyed, and all Skia\n  context-like objects are destroyed.\n\nThis latter change means that tests in librenderengine_test that are\nparameterized by Skia backend must now recreate RE\u0027s VulkanInterfaces\ntwice for each test case (once for GaneshVk, and again for GraphiteVk),\nwhich results in a minor regression in test duration. However, this is\nnecessary because holding on to a VulkanInterface while attempting to\nset up a test for GaneshGL will cause contention over the real-time\nGPU context priority, which can only be held exclusively by either a GL\ncontext OR a VK context on some hardware.\n\nMany thanks to joseph.cheng@imgtec.com for raising the issue of SF\u0027s\ninit of RE not tearing down the VulkanInterface used to check for\nsupport, and for proposing an initial patch (b/333477752) which this\nchange builds upon. And thanks to scroggo@google.com for proposing the\nreordering of SF\u0027s flag vs. VK support checks.\n\nBug: b/293371537\nBug: b/333477752\nTest: librenderengine_test \u0026\u0026 manual boot validation across 3 backends\nFlag: com.android.graphics.surfaceflinger.flags.graphite_renderengine-READ-ONLY\nChange-Id: I289c3f7699d16707d1462179f4d5e8c54e4bb049\n"
    },
    {
      "commit": "24a6910fe26ca3efba636d8943a1c160cfb69786",
      "tree": "dbeed1d558ccb197ff3e0bc19c0ab1583d7dd8bd",
      "parents": [
        "904ea27bf352e41d02cb1f877e9cce1f3fa4a960"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Apr 16 18:57:35 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Apr 16 18:57:35 2024 +0000"
      },
      "message": "Convert RenderEngineTest\u0027s setup/teardown logging from DEBUG to INFO\n\nSome test execution configurations (including the default\n`atest librenderengine`) don\u0027t include DEBUG in their logcat\ncollection. This can make it difficult to confirm which test execution\ngenerated a given log message.\n\nBug: N/A\nChange-Id: I21fc83cf474230b3f860162e80ee737ce02b4023\nTest: N/A\nFlag: TEST_ONLY\n"
    },
    {
      "commit": "904ea27bf352e41d02cb1f877e9cce1f3fa4a960",
      "tree": "f8a04a833baf9daf5c226fd2c8861546b7539052",
      "parents": [
        "4f16b050544a6e5ec23c311e5c873cea67e697fd",
        "566d4a9c5344f9133710adf43cf4cda2e958bcd6"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Tue Apr 16 18:24:18 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 18:24:18 2024 +0000"
      },
      "message": "Merge \"Switch from setSupports... to setBlurAlgorithm\" into main"
    },
    {
      "commit": "4f16b050544a6e5ec23c311e5c873cea67e697fd",
      "tree": "80af5a0974ee5fa82a7cf3f95aa406d5d39cef6b",
      "parents": [
        "2b18d629556c0a1ef9feef5a3febd3a7dd31481e",
        "7338bd98daeabcf88fc8524641ba1e9099d7085c"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Tue Apr 16 18:24:18 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 18:24:18 2024 +0000"
      },
      "message": "Merge \"Add a sysprop to switch between blur algorithms\" into main"
    },
    {
      "commit": "566d4a9c5344f9133710adf43cf4cda2e958bcd6",
      "tree": "0f4fac5ef57c30cbceb812186aadf63fdf69c636",
      "parents": [
        "c3ce8a6bd21174f34300272435d074bb3a5be023"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Sat Apr 13 00:41:34 2024 +0000"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Sat Apr 13 00:41:37 2024 +0000"
      },
      "message": "Switch from setSupports... to setBlurAlgorithm\n\nBug: 185365391\nChange-Id: I4648c2a0c9c5bb39146b99f5a42851025b01c7bc\nTest: atest RenderEngineBench\n"
    },
    {
      "commit": "93c8a61aacb39d95a8ef904817b584acc885b75c",
      "tree": "a40b57639844de50d2fb514f21c3c95787407ae9",
      "parents": [
        "6521bddec1b00c6b0834db184f00e1a98ebbd33d"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Apr 12 17:37:05 2024 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Apr 12 17:41:01 2024 +0000"
      },
      "message": "[native] Use public version of SkMultiPictureDocument.h\n\nThis was moved in https://skia-review.googlesource.com/c/skia/+/764971\n\nChange-Id: Ib8d94a6aa190466305368658f2aea9d88a0f6331\n"
    },
    {
      "commit": "9bb855d3c6a15154c056ab8b3466ca46c06073c3",
      "tree": "424808af549e1b7fa803da98c29d7645ad82bc54",
      "parents": [
        "ab2daeca28b23a164a8bb5100e3e39a4092a7689"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Apr 11 23:17:27 2024 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu Apr 11 23:17:27 2024 +0000"
      },
      "message": "Fix -Wfortify-source warning (2nd)\n\nFollow up change to http://ag/25556127. The previous CL did not cover\nall instances.\n\nTest: presubmit\nBug: 315245071\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:cf05d7acff6e5e3e9926c59c680afd39cabb8337)\nMerged-In: If3ed05126c355e8790a666e62325fa1825a86b7b\nChange-Id: If3ed05126c355e8790a666e62325fa1825a86b7b\n"
    },
    {
      "commit": "7338bd98daeabcf88fc8524641ba1e9099d7085c",
      "tree": "ffba1b543746b7c656e2737a6eee381f2c1065ba",
      "parents": [
        "599efb3e39ab3a3d0dc383d3cd97c67a90d5f11a"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Apr 04 14:05:07 2024 +0000"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Apr 11 14:21:10 2024 +0000"
      },
      "message": "Add a sysprop to switch between blur algorithms\n\nBug: 185365391\nTest: adb root \u0026\u0026 adb shell \u0027setprop debug.renderengine.blur_algorithm kawase\u0027   \u0026\u0026 adb shell \u0027stop; start\u0027 \u0026\u0026 sleep 30 \u0026\u0026 atest BlurTests\nTest: adb root \u0026\u0026 adb shell \u0027setprop debug.renderengine.blur_algorithm gaussian\u0027 \u0026\u0026 adb shell \u0027stop  start\u0027 \u0026\u0026 sleep 30 \u0026\u0026 atest BlurTests\nTest: adb root \u0026\u0026 adb shell \u0027setprop debug.renderengine.blur_algorithm \"\"\u0027       \u0026\u0026 adb shell \u0027stop; start\u0027 \u0026\u0026 sleep 30 \u0026\u0026 atest BlurTests\nMerged-In: Ib977e1d54eb08946449d447101a0c65273aa3b40\nChange-Id: Ib977e1d54eb08946449d447101a0c65273aa3b40\n"
    },
    {
      "commit": "a3e4bf46323f6f019f398354008bc17c0aa36a6f",
      "tree": "e45a4b2415bcb2128a84d3fbb10b766330ee9dd7",
      "parents": [
        "9ecd5a2566ba9b2aaec7678e26f80fd38706122e"
      ],
      "author": {
        "name": "linkai",
        "email": "linkai@xiaomi.com",
        "time": "Wed Apr 10 10:42:17 2024 +0800"
      },
      "committer": {
        "name": "linkai",
        "email": "linkai@xiaomi.com",
        "time": "Wed Apr 10 10:42:17 2024 +0800"
      },
      "message": "Fix ping pong progress in the Kawase implementation.\n\nBug: 333002945\nTest: atest librenderengine_test\n\nChange-Id: I7fe78f36766e30de45d2254b726dfc3bf7896764\nSigned-off-by: linkai \u003clinkai@xiaomi.com\u003e\n"
    },
    {
      "commit": "ea4582866d03446b209f52be543bc756440d5bd2",
      "tree": "7346465dfa861cb3ecfe7167fc809b8cb87e521c",
      "parents": [
        "d1dfe2905bd9f90549f32c3df3a6831a7579beae"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Sep 05 16:17:04 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Apr 04 13:37:36 2024 -0400"
      },
      "message": "Remove some comments regarding caching protected buffers\n\nWe thought we\u0027d be able to share buffers across contexts but by trial\nand error (i.e. the bugs listed below) we\u0027ve found that we cannot.\n\nBug: 242266174\nBug: 294357792\nBug: 271907068\nBug: 264475961\nBug: 267295152\nTest: These are just comment changes.\nChange-Id: I52e1d831f2d195cddb21c2e7a1e820059fe2a137\n"
    },
    {
      "commit": "d1dfe2905bd9f90549f32c3df3a6831a7579beae",
      "tree": "5ad7fb21e7972d1416330a697fb5ceedd2145c09",
      "parents": [
        "6d32fea781e0f322f79f1a51a621903fa2ae6350",
        "7c88bdd914188e8948da9f44a8f1d7b7ef770159"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Apr 04 14:36:14 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 14:36:14 2024 +0000"
      },
      "message": "Merge \"Re-enable 3 output dataspace RE tests on Graphite\" into main"
    },
    {
      "commit": "01b93b1317b880e4a205e9d4903b6e9f1d277d7f",
      "tree": "55d477dbf2a36501b8751358938b77081da331b9",
      "parents": [
        "efd55b1a397b8a87cbed4d87cda878640f3e29eb"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Apr 03 21:27:34 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Apr 03 21:27:34 2024 +0000"
      },
      "message": "Re-enable RE test ..._premultipliesAlpha on Graphite w/ tolerance 1\n\nGanesh rounds this more consistently than Graphite, but Graphite\u0027s\napproach is technically more correct. See egdaniel@\u0027s description at\nb/331446496#comment5\n\nBug: b/331446496\nChange-Id: Ib1fd7975f36ccc114cef3b0cdd60ac173df62a69\nTest: librenderengine_test\n"
    },
    {
      "commit": "7c88bdd914188e8948da9f44a8f1d7b7ef770159",
      "tree": "6f2aec4911ce643792c09948515deca48998f3b7",
      "parents": [
        "efd55b1a397b8a87cbed4d87cda878640f3e29eb"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Apr 03 21:10:38 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Apr 03 21:10:38 2024 +0000"
      },
      "message": "Re-enable 3 output dataspace RE tests on Graphite\n\nThese were all fixed with Skia change\nI455b95ad3150a28ec92c9a9d236890f15782ba3d (\"[graphite] Implement\nRuntimeEffect toLinearSrgb/fromLinearSrgb handling\")\n\nBug: b/331445583\nBug: b/331447131\nBug: b/331446495\nChange-Id: If5d9a119ec18eb4e744543e37b89f3c69489cdd8\nTest: librenderengine_test\n"
    },
    {
      "commit": "195631aa81c5c897ffa2030eb91e33e2a0c4746c",
      "tree": "e7617c88cf71d238cc99caf0b2d7741cfe81d917",
      "parents": [
        "76244a84cf8344f3aa6bb0aed7acab06f17bf3fb"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Mar 26 12:22:23 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 27 22:07:06 2024 +0000"
      },
      "message": "Add GraphiteVkRenderEngine to librenderengine_test\n\nFive test cases are currently failing, and have been temporarily\ndisabled for GraphiteVkRenderEngine.\n\nTest: librenderengine_test\nBug: b/293371537\nChange-Id: I28e0d2a4478dbc003d9491988db77ef33f5d7ca2\n"
    },
    {
      "commit": "576e77f943462388f2ed64a702c94504d4fe9b9b",
      "tree": "898f130101af1d126ed9ae6f247b9eb51f7edd4b",
      "parents": [
        "4b292195dfdd5506ad810eb5073c77b29cea3cd5"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Mar 26 10:59:59 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 27 19:04:09 2024 +0000"
      },
      "message": "Add support for enabling GraphiteVkRenderEngine in SurfaceFlinger\n\nPredicated on just the graphite_renderengine flag (overridable with\nthe debug.renderengine.graphite sysprops), which inherently implies\nGraphicsApi::VK.\n\nAs currently implemented, setting the old debug.renderengine.backend\nsysprop (e.g. \"skiavkthreaded\") will fully override this logic,\npreventing Graphite from being enabled. This approach is simpler, but\nalso maintains backwards compatibility, and distances the new approach\nfrom that restrictive terminology.\n\nNote that the approach for actually instantiating a RenderEngine\ninstance extends the existing RenderEngine::create(args) model, forcing\nthe caller to know exactly which concrete subclass they wish to\ninstantiate. This could be reworked in the future.\n\nTest: local validation (sysprops + logs)\nBug: b/293371537\nChange-Id: Iff0a8894725fc45e679074ddc2e4af56cca318c6\n"
    },
    {
      "commit": "609e59737e74e418641efe7d776c474d8a9e471d",
      "tree": "abde0f959000db37957be582001abef6cd5b0f91",
      "parents": [
        "ae9b557b8580fa5a50bf0d66ac2a141b977edc40"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 20 14:47:34 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Mar 26 13:50:47 2024 -0400"
      },
      "message": "Add Graphite variants of *VkRenderEngine, *GpuContext, \u0026 *BackendTexture\n\nGraphiteVkRenderEngine is currently unused, but I\u0027ve tested it locally\nby modifying SkiaVkRenderEngine::create\n\nTest: manual validation (unused, will add to tests soon)\nBug: b/293371537\nChange-Id: I961a40e5073bd5452886c486e2ce19b62a7b12a7\n"
    },
    {
      "commit": "c98ec4165438e68e67aaf217f7f57c4f90f98518",
      "tree": "14feb9f23c6ad60750200d74468aac7ea82a1a14",
      "parents": [
        "22efabaa8700b50797b6ab28a9d95f4183e48746",
        "17ffe90247788b47f366393af809906752e9055d"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Mar 25 16:58:09 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 16:58:09 2024 +0000"
      },
      "message": "Merge \"Rename SkiaGpuContext::isAbandoned to isAbandonedOrDeviceLost\" into main"
    },
    {
      "commit": "17ffe90247788b47f366393af809906752e9055d",
      "tree": "3402b665661a61dd97614778fc8b1f22faced104",
      "parents": [
        "342d394cbe442160c2a7edfad50442ee312578cb"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Mar 25 11:07:30 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Mar 25 11:07:30 2024 -0400"
      },
      "message": "Rename SkiaGpuContext::isAbandoned to isAbandonedOrDeviceLost\n\nIn Ganesh, \"abandoned\" means either the context was explicitly\nabandoned, or the underlying GPU API\u0027s \"device\" was lost.\n\nIn Graphite, there\u0027s only the concept of losing the device.\n\nTest: compiles\nBug: b/293371537\nChange-Id: I1bc69b799e9d7bdb3bde037f79b3736fc2023d70\n"
    },
    {
      "commit": "ff9f64a56b1d9e6b704076270052bffcfa133244",
      "tree": "d19f81d725d7d863301e934a274319400094e9b4",
      "parents": [
        "92ea2dac16d251b4056b89a4bcbbb8a0de3b5abf",
        "342d394cbe442160c2a7edfad50442ee312578cb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Mar 25 14:01:01 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 25 14:01:01 2024 +0000"
      },
      "message": "Merge changes I5685cb9d,Ia78cd845 into main\n\n* changes:\n  Move SkiaGpuContext creation in SkiaVkRenderEngine to virtual function\n  Move Ganesh flush calls from drawLayersInternal to flushAndSubmit\n"
    },
    {
      "commit": "342d394cbe442160c2a7edfad50442ee312578cb",
      "tree": "fbd4d0ee08b317b312da7c62854ea9f97a274acc",
      "parents": [
        "1e06f2dad6c16456972227e5a94395916099a5df"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Mar 21 16:41:39 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Mar 22 14:21:33 2024 -0400"
      },
      "message": "Move SkiaGpuContext creation in SkiaVkRenderEngine to virtual function\n\nMaking GaneshVkRenderEngine / GraphiteVkRenderEngine handle this reduces\nthe need for higher-level branching.\n\nTest: boots successfully with skiavkthreaded\nBug: b/293371537\nChange-Id: I5685cb9dd7b0dc1ce3a2d538a729c255fbd6c52b\n"
    },
    {
      "commit": "1e06f2dad6c16456972227e5a94395916099a5df",
      "tree": "46bebaaea81741b232cf74a9e7812537825ce924",
      "parents": [
        "02c160c83ce5ee7d3c736536d5b481742fba83f0"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Mar 21 14:56:38 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Mar 22 14:13:51 2024 -0400"
      },
      "message": "Move Ganesh flush calls from drawLayersInternal to flushAndSubmit\n\nWhile calling skgpu::ganesh::Flush won\u0027t cause any harm in Graphite, it\ndoesn\u0027t make sense to call it from the shared SkiaRenderEngine.\nAdditionally, making flushAndSubmit accept a destination SkSurface to\nsupport this move will also be required for GraphiteVkRenderEngine.\n\nGaneshVkRenderEngine could probably get away with just one flush call,\nbut this approach keeps functional parity (and keeps traces equivalent\nFWIW).\n\nUnfortunately, drawLayersInternal still needs to call\nskgpu::ganesh::Flush when kGaneshFlushAfterEveryLayer is locally\nenabled. This could be moved to some abstraction on either\nSkiaGpuContext, or the child implementation of SkiaRenderEngine.\nHowever, I\u0027d like to minimize the number of abstracted functions that\n*look* load bearing, but actually no-op in Graphite. Since I believe\nthis is only used for locally investigating shader priming stuff, I\nwould rather just leave it in a weird (but documented) state until it\u0027s\nremoved.\n\nWhile moving the call to flushAndSubmit, I also changed it to the\nequivalent non-static variant that is called directly on a context,\ninstead of finding the context from the surface. I feel this might help\ndifferentiate the intent of \"maybe flush\" in drawLayersInternal vs.\n\"definitely flush on this context\" in flushAndSubmit.\n\nTest: manual validation (GL+VK) \u0026 existing tests (refactor)\nBug: b/293371537\nChange-Id: Ia78cd8457aa47d6bb80ad5e81eb9d79b7eed5e79\n"
    },
    {
      "commit": "bbf362d24642ed22fd7d19f428125c8bd9e3f170",
      "tree": "c249896f7b04f1d099c30c56f1d084a450b8cd3f",
      "parents": [
        "00853e597203520f2dc92d5991d8bbb15a21f0c0"
      ],
      "author": {
        "name": "Melody Hsu",
        "email": "melodymhsu@google.com",
        "time": "Wed Mar 20 21:59:06 2024 +0000"
      },
      "committer": {
        "name": "Melody Hsu",
        "email": "melodymhsu@google.com",
        "time": "Wed Mar 20 22:03:49 2024 +0000"
      },
      "message": "Delete border rendering code from SurfaceFlinger.\n\nRemoved code is never used and drawing borders is done instead\nby Window Manager Service. Changes revert ag/16980603 and\nag/17496275.\n\nBug: b/227656283\nTest: presubmit\nTest: SurfaceFlinger_test\nChange-Id: Ib5c8bf74ad6764d65536dc60cc3c458edde86b3f\n"
    },
    {
      "commit": "02c160c83ce5ee7d3c736536d5b481742fba83f0",
      "tree": "8da4c73a945086f5762ab40ff3e17fcdb06672f1",
      "parents": [
        "ca05028642a0190e2343a8b9597e90f396ae04c5"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Mar 18 10:40:23 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 20 12:40:19 2024 -0400"
      },
      "message": "Split Ganesh-specific parts of SkiaVkRenderEngine into subclass\n\nSimilarly to Ia65306cc825b71fe0b89c7f8545ce1c71a81d86b, this will allow\nfor a Graphite-specific variant of SkiaVkRenderEngine.\n\nwaitFence and flushAndSubmit are kept on the *RenderEngine classes (as\nopposed to the recently added SkiaGpuContext abstraction) because they\nare specific to the intersection of both \u003cSkia backend\u003e x \u003cGPU API\u003e,\nwith 3 variants. Their logic is also RE-specific, and not suitable for\na Skia abstraction.\n\nMisc. cleanup:\n- Remove SkiaVkRenderEngine\u0027s flush() and mBackendContext declarations\n  as they were undefined and unnecessary.\n- Mark some local variables as const.\n- Pass named constant to GrDirectContext::wait in\n  GaneshVkRenderEngine::waitFence\n\nTest: manual validation \u0026 existing tests (refactor)\nBug: b/293371537\nChange-Id: I695a0554b20ca14cf475aeff1b92c4445c1af55b\n"
    },
    {
      "commit": "ca05028642a0190e2343a8b9597e90f396ae04c5",
      "tree": "e2a5b64d6d6c58bca487142e9ae9b5031a3cf80c",
      "parents": [
        "acb53f928fc2d1838873114cbff66fdbdb97d28a"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Mar 15 13:27:06 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Mar 19 14:00:24 2024 -0400"
      },
      "message": "Create and plumb SkiaBackendTexture abstraction layer over GrBackendTexture\n\nThis means AutoBackendTexture is not aware of backend-specific texture\ntype and API details, and will be able to accept either a Ganesh or\nGraphite variant of SkiaBackendTexture.\n\nAlso delegated SkiaBackendTexture creation to SkiaGpuContext, so that\nbackend-specific contexts handle creating backend-specifc textures.\n\nTest: manual validation (GL+VK) \u0026 existing tests (refactor)\nBug: b/293371537\nChange-Id: Ia65306cc825b71fe0b89c7f8545ce1c71a81d86b\n"
    },
    {
      "commit": "fc125ece97c0cc3025c7ca0ce08ffc00c24301cb",
      "tree": "d90c742a2d8a2382082927092caa60becc4dd2a2",
      "parents": [
        "17e255148c36a0ee8b3dc28e40e96c491074ddf9"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Mar 11 20:08:27 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Mar 14 19:02:00 2024 +0000"
      },
      "message": "Add and plumb abstraction layer over GrDirectContext\n\nAlso changed GaussianBlurFilter\u0027s surface origin from\nkBottomLeft_GrSurfaceOrigin to kTopLeft_GrSurfaceOrigin. This doesn\u0027t\nseem to have an effect in practice, but aligns it with KawaseBlurFilter.\n\nAdditionally, both blur filters now set the protected bit on the\nsurfaces they create to reflect the protection status of the active\ncontext, as opposed to either the protection status of the input SkImage\nthat is being blurred (Kawase) or always false (Gaussian). This should\nbe equivalent behavior in the case of Kawase (and aligns with Graphite),\nand is likely a bug fix for Gaussian.\n\nTest: manual validation (GL+VK) \u0026 existing tests (refactor)\nBug: b/293371537\nChange-Id: I19b0258035ea5f319d04207ceb266f2cd1e87674\n"
    },
    {
      "commit": "17e255148c36a0ee8b3dc28e40e96c491074ddf9",
      "tree": "ec0b63f3f7e8680a90074f39e2ef34427ec726aa",
      "parents": [
        "48d4be6d40c8a60641a9fbb3cdd27a693922f78b"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 13 18:02:48 2024 -0400"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 13 18:39:21 2024 -0400"
      },
      "message": "Make AutoBackendTexture remember which context it was created with\n\n... and use that stored context when creating an SkImage or SkSurface.\n\nAs per I52e1d831f2d195cddb21c2e7a1e820059fe2a137 we no longer share\nbuffers between contexts, and this aligns with Graphite\u0027s need to know\nthe context that a backend texture was created with to clean it up in\nABT\u0027s destructor.\n\nTest: manually validated core CUJs + existing tests (refactor)\nBug: b/293371537\nBug: others listed in I52e1d831f2d195cddb21c2e7a1e820059fe2a137\nChange-Id: I7d4b0b95216b0529be72cfb7c2788c592a77ed0e\n"
    },
    {
      "commit": "7fcacac5f8f955e47f7d21604069343aa33f4d1a",
      "tree": "584338b90a0e389d732131bb8fbae83c16bdfc2f",
      "parents": [
        "4cf469c2f407483498103dc1474b953df3310d8d",
        "f52ad20144219b5ef808d195545c60268317ba80"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 08 21:29:44 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 08 21:29:44 2024 +0000"
      },
      "message": "Merge \"Refactor SkiaVkRenderEngine\u0027s VulkanInterface and DestroySemaphoreInfo\" into main"
    },
    {
      "commit": "f52ad20144219b5ef808d195545c60268317ba80",
      "tree": "d6e81748e04e46acfca858f72b51b2e864f02bd2",
      "parents": [
        "7eb8cb825ed4435ff527cc606a09f4c9e466caf0"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Mar 06 18:18:28 2024 -0500"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Mar 08 14:29:30 2024 -0500"
      },
      "message": "Refactor SkiaVkRenderEngine\u0027s VulkanInterface and DestroySemaphoreInfo\n\n... to be shareable (and more defensive).\n\nVulkanInterface is mostly unmodified, other than being converted from a\nstruct to a class. Part of that entails adding getters for a few fields.\n\nDestroySemaphoreInfo now handles its own destruction, and supports\nowning N VkSemaphores (required for Graphite). It also now stores which\nVulkanInterface it needs to be destroyed with, so that the callback path\nno longer needs to reference a static VulkanInterface (one tiny step\ntowards b/300533018.)\n\nAlso incidentally fixed a bug where realtime priority status may have\nbeen left uninitialized.\n\nBug: b/293371537\nTest: manual testing + existing tests transitively exercise these classes\nChange-Id: I3a7782d76c72b9ad61f3a1d6968c352a86a2af9f\n"
    },
    {
      "commit": "9f20708f66db424a1a7246be38d1da4ba72a11b7",
      "tree": "391ec6f1f581f4c38ed0c9874817997a0047deb5",
      "parents": [
        "9ba1cc574a452978919008c09a2ee62afa11cf34"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Mar 06 13:33:17 2024 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Mar 06 15:59:14 2024 +0000"
      },
      "message": "[native] Migrate deprecated GrBackendSemaphore methods\n\nSee https://skia-review.googlesource.com/c/skia/+/781236 and https://skia-review.googlesource.com/c/skia/+/821978\n\nChange-Id: I15ce6998c9766fc133baed3f153f691c875f0a70\nBug: b/293490566\n"
    },
    {
      "commit": "415c59e4430e8aa34295cf09d6c0eb7ee5658705",
      "tree": "6510cb4561df63f1d6805319d079d1fcdc65d2ed",
      "parents": [
        "e37267dbc1592af274518294432ece92ba448b45"
      ],
      "author": {
        "name": "Serdar Kocdemir",
        "email": "kocdemir@google.com",
        "time": "Tue Feb 27 12:36:09 2024 +0000"
      },
      "committer": {
        "name": "Serdar Kocdemir",
        "email": "kocdemir@google.com",
        "time": "Tue Feb 27 15:57:35 2024 +0000"
      },
      "message": "Disable SkiaVK support on CPU implementations\n\nSwiftshader is not ready for SkiaVK and causing black\nscreen problems when enabled. We temporarily disable\nthe support for CPU device types as a workaround until\nthe actual problems are fixed.\n\nBug: 326633110\nTest: emulator -gpu swiftshader\nChange-Id: I76c4347c3f9ffd9ddb4f85dae0e05eba191c0069\n"
    },
    {
      "commit": "08fb80bd04fa86de15a25ad10e4519934acbab31",
      "tree": "eb211c5bd4c17f5cbe1b858c0369ce8b92e6b58e",
      "parents": [
        "20b7ccbd72f8ff8fba254115e4c54fb00c0fd440",
        "38bc8a87a8f40362b3681ec2dab2616e37c39264"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Feb 22 16:19:32 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 16:19:32 2024 +0000"
      },
      "message": "Merge \"Add default_teams\" into main"
    },
    {
      "commit": "38bc8a87a8f40362b3681ec2dab2616e37c39264",
      "tree": "92a6ef8e503c00deb8228339c45581621dfb09a9",
      "parents": [
        "814bc8bf0b7877ed0c20d77f83822784336b9c0a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 21 17:08:27 2024 -0500"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 21 17:22:11 2024 -0500"
      },
      "message": "Add default_teams\n\nTest: n/a\nChange-Id: I6c2426303194df4b94f6181f4b5c71970bc5f7fd\n"
    },
    {
      "commit": "f3369eda0af91df158d66f1e4d906a0f0b1496e7",
      "tree": "10c4f43d526b75618a68bd22aa3d01d6e92fca1c",
      "parents": [
        "43cacc5820060c97e8d1c6192f5912a39932bf61"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 16 17:52:42 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Feb 20 17:56:45 2024 -0500"
      },
      "message": "vulkan_renderengine: Check for support first\n\nThe vulkan_renderengine flag allows us to switch some users to using\nVulkan as part of the trunk stable process. But not all devices support\nVulkan.\n\nMove canSupportSkiaVkRenderEngine into the RenderEngine header, so it\ncan be used by SurfaceFlinger. When the vulkan_renderengine flag is set,\ncheck for support before choosing Vulkan. Do *not* log an error, since\nthis is specified broadly, so it is expected that the flag will be set\nfor devices that do not have support.\n\nThis introduces an extra call to initVulkanInterface, so log the amount\nof time it takes. On my device, the first call is only ~17ms, so this\nseems fine. The next call is much faster, ~4ms. The next call is not\ninterestingly different, possibly because the first call was already\nmade.\n\nBug: 293371537\nBug: 325619183\nTest: atest librenderengine_test\nTest: manual\nChange-Id: Iba66e67347c69b95dc9c05ca838fa1391ef4ab81\n"
    },
    {
      "commit": "0e14b5061658ce240a428df5a0b4af16b63ac09b",
      "tree": "e2e5f9a28a542c447e4cb33c9eeff1b30ab80369",
      "parents": [
        "f8680e6d01b64ea8745b8c0aa335e6a4b54d8958"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Feb 14 16:30:23 2024 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Feb 14 16:34:04 2024 +0000"
      },
      "message": "[RE] Change KawaseBlurFilter\u0027s temp SkSurface to be unbudgeted\n\nThis means it won\u0027t count against Skia\u0027s internal caching budget.\n\nSince this is so short lived I doubt it will affect anything in practice,\nbut it\u0027s important to change for clarity for two reasons:\n1. The equivalent Graphite function doesn\u0027t allow the SkSurface to\nbe budgeted.\n2. When `surfaceTwo` is created from `surface`, the result is always\nunbudgeted. See TODO in `SkSurface_Ganesh::onNewSurface` of\nexternal/skia/src/gpu/ganesh/surface/SkSurface_Ganesh.cpp\n\nBug: 293371537\nChange-Id: Icd91aaa5b6385458eb92d385241d27c19dd6cce4\n"
    },
    {
      "commit": "48a60cc3d9d6bd4f0872f87240a5c89740582d96",
      "tree": "52007fe45e42a8cf32b53562e0ada0d765499c9e",
      "parents": [
        "df8166e6e49c5ea7285e85e0cd1343ff9274775d"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 31 12:41:33 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 02 13:31:51 2024 -0500"
      },
      "message": "Revert \"Skip a step when blurring\"\n\nModified revert of I4caa7ef3b5357c723fdc81c8e18b159c87366b60.\n\nThe thinking behind that CL was that we could skip drawing the non-\nblurred image, because we would draw over it anyway with the blurred\nimage.\n\nBut during rotation and other animations, we don\u0027t always cover up\nthe old drawing, leading to old images showing up. This is particularly\njarring on a tablet.\n\nPut the change behind a flag.\n\nBug: 236231351\nFixes: 255921628\nTest: manual\nTest: librenderengine_test\nChange-Id: Ie9969b17b49964395f2d055bbb610c516e5df10c\n"
    },
    {
      "commit": "df8166e6e49c5ea7285e85e0cd1343ff9274775d",
      "tree": "faf2c34e2062eaab834f4206ad3ec9f8b9423113",
      "parents": [
        "10c6293422809235b7f01f17ddda457cf9345c53"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 15:50:56 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 02 13:31:44 2024 -0500"
      },
      "message": "Use a flag to determine isRenderable\n\nRely on whether the GraphicBuffer has GRALLOC_USAGE_HW_RENDER to\ndetermine whether to treat it as a potential output buffer, rather than\nwhether the client intends to write to it.\n\nThis speculatively fixes a crash where a GraphicBuffer is stored in\nSkiaRenderEngine\u0027s cache without being considered writable, and then\na later call attempts to pull it out of the cache to use as output.\n\nIn practice, this means that when importing the GraphicBuffer as a\nbackend texture in Skia, Skia will treat it as though it might be an\noutput buffer, even if we are only going to sample from it. This should\nnot have an effect on sampling performance.\n\nLike I859c6b9ecabfb27151c6a45157ffd7c92cb54275 but basing the behavior\nchange on a flag. A rebased version of that CL will later remove the\nextra parameter.\n\nBug: 305445199\nTest: librenderengine_test\nChange-Id: I6c436b6b80b27930d82aabf22107216172773b56\n"
    },
    {
      "commit": "10c6293422809235b7f01f17ddda457cf9345c53",
      "tree": "f4c5c0261921ecef456096cb6bfc5b2d7c9acc3f",
      "parents": [
        "79e5f98dc006a77c412f877e3284619066304057"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Feb 01 15:35:19 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Feb 01 16:50:37 2024 -0500"
      },
      "message": "Remove FlagManager\u0027s dependence on librenderengine\n\nlibsurfaceflinger_common_defaults previously depended on\nlibrenderengine, but only for a #define in a header file. This prevents\nlibrenderengine from using the FlagManager.\n\nAdd a new library for renderengine includes, so FlagManager can access\nthe define without depending on the entire library.\n\nBug: 305445199\nBug: 255921628\nTest: make\nChange-Id: Ibee8581cfc0ac8c4817725bbf1fb12efc744c4c1\n"
    },
    {
      "commit": "dd8bd19fb14abff12eda822ba8269fca02aa8c3e",
      "tree": "75323bec2d121f6d58b922ef84189137baf5c3ef",
      "parents": [
        "6c71b757896bacd90ed489af7259a255bc55613d",
        "9e9ebf831e5816d6118aa60b5296338154825091"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jan 31 21:41:27 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 21:41:27 2024 +0000"
      },
      "message": "Merge \"[RE-SkiaVk] Update VK_ERROR_DEVICE_LOST logging to use stringstream\" into main"
    },
    {
      "commit": "9e9ebf831e5816d6118aa60b5296338154825091",
      "tree": "cf7107199851dee66a4dec2daaab46ff945999bc",
      "parents": [
        "0f539a7c4483f68a404d9ab4ef77a879ba16f737"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Jan 31 14:16:16 2024 -0500"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Wed Jan 31 14:20:54 2024 -0500"
      },
      "message": "[RE-SkiaVk] Update VK_ERROR_DEVICE_LOST logging to use stringstream\n\nFollow-up to Ibda00573a1db9d8aaa83057207f0f699cc756e33 from feedback\non If6a6d04ea99cf6f270c8b481e325d9e0ee548385, this aligns RE with HWUI.\n\nBug: 313369997\nTest: crash message is still formatted correctly in local testing\nChange-Id: I33b8395ef46c63905fd7aa4f00e0e061326ed0a2\n"
    },
    {
      "commit": "c4f178e301f6c4e6dccfe2beb093c4617becf686",
      "tree": "67ef5c3cfb318987472e43e42006d4643867fb29",
      "parents": [
        "1eea7c62aac7b836e34203341f372b6f9844b3b8",
        "0f539a7c4483f68a404d9ab4ef77a879ba16f737"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Jan 30 17:35:39 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 17:35:39 2024 +0000"
      },
      "message": "Merge \"[RE-SkiaVk] Utilize Skia\u0027s new VK_ERROR_DEVICE_LOST callback to log\" into main"
    },
    {
      "commit": "0f539a7c4483f68a404d9ab4ef77a879ba16f737",
      "tree": "c0f58957cd7d257cd1a48f2da0db182b532d7c83",
      "parents": [
        "1b685dd3b6373ba55be1c57c672a22533e16664d"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Mon Jan 29 10:49:10 2024 -0500"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Jan 30 10:11:52 2024 -0500"
      },
      "message": "[RE-SkiaVk] Utilize Skia\u0027s new VK_ERROR_DEVICE_LOST callback to log\n\nSkia will invoke this callback when it encounters VK_ERROR_DEVICE_LOST.\nSince RE is enabling the VK_EXT_device_fault extension (when available),\nadditional data should be provided from the driver. If the extension is\nnot available, Skia will provide a generic `description` indicating\nthat no info is available.\n\nThe goal of this logging is to provide as much verbose information as\npossible in the logs, while condensing any differentiating info into a\nmore succinct crash message to aid clustering.\n\nBug: 313369997\nTest: manually forced crash\nChange-Id: Ibda00573a1db9d8aaa83057207f0f699cc756e33\n"
    },
    {
      "commit": "2d701e14093b2e699d7dca00db3d7d66d0c96e29",
      "tree": "c1b5916d12ac356ec1732e50293b335475ea83d0",
      "parents": [
        "c6e22d8533cee1d044b88f2eb4a94a8b6c041761",
        "b507b71cc52f9203657f221808eef04d58dd6398"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Jan 29 12:47:18 2024 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Jan 29 12:47:18 2024 -0800"
      },
      "message": "Merge Android 24Q1 Release (ab/11220357)\n\nBug: 319669529\nMerged-In: I264e728c49f0500f2f868c3a25b0910d0d527340\nChange-Id: I0de5ae0000a29e4b9735e6c4f381f680eb0723cd\n"
    },
    {
      "commit": "56cc41418054a02468babf04e2ebddbb4568a5f4",
      "tree": "34fbf3fd3d96026024343d6fb407b0483ff2bf38",
      "parents": [
        "1b685dd3b6373ba55be1c57c672a22533e16664d",
        "c6e22d8533cee1d044b88f2eb4a94a8b6c041761"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jan 29 18:57:45 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 29 18:57:45 2024 +0000"
      },
      "message": "Merge \"Modify dimming threshold from 0.2 to 0.9.\" into main am: a1283449a9 am: c6e22d8533\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2921266\n\nChange-Id: I38d4f07b640c0087d7252a2892e7c50ea9c6a30a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9ba31e38c59fe32a9f4c351625c7964f20633887",
      "tree": "ee820870d63d61637f508e70ce4e1318e5c9e1b5",
      "parents": [
        "696bf9334787b34445a09be620d543b1d8bb03e9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 11:40:26 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 13:26:36 2024 -0500"
      },
      "message": "Reenable some tests for VK RenderEngine\n\nThese tests were restricted to SKIA_GL back before we had a SKIA_VK\noption. The intent was to avoid testing on GLESRenderEngine, which\npreceded SkiaRenderEngine. These tests should be supported on all\nSkiaRenderEngines.\n\nBug: 293371537\nTest: atest librenderengine_test\nChange-Id: I3444896b5c2d0aa62ff6d1b1a6f16e9897173361\n"
    },
    {
      "commit": "696bf9334787b34445a09be620d543b1d8bb03e9",
      "tree": "916dda95adf99e02d28758757f345661b0e9f20c",
      "parents": [
        "5ef5500b16a0f2fcc5884025acddbf60f743c518"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 24 15:21:05 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 10:56:43 2024 -0500"
      },
      "message": "Split RenderEngineType into two enums\n\nPrimary motivation is to prepare for making switching RenderEngine to\nuse Graphite. This is orthogonal to whether or not we\u0027re using\nRenderEngineThreaded. The enum already encodes orthogonal types, so\nsplit them up in the natural way, rather than adding more combos.\n\nReplace RenderEngine::getRenderEngineType() with isThreaded(), as the\nonly caller really wants to know whether it\u0027s threaded. This allows\nfixing a bug where the SKIA_VK_THREADED backend didn\u0027t offload\nrenderScreenImpl for no good reason. (This is not a behavior change\nfor users or dogfooders, since no one is currently using\nSKIA_VK_THREADED.)\n\nAdd a vulkan_renderengine option to FlagManager, which will switch\nRenderEngine to use Skia\u0027s *Ganesh* Vulkan backend. Though this is not\nwhat we intend to ship, this will allow us to get more soak time on\nVulkan before making the switch to Graphite.\n\nUpdate the comments for PROPERTY_DEBUG_RENDERENGINE_BACKEND, which were\nalready out of date. Specify that it will *override* the default\nsettings, which will now be determined by flags.\n\nBug: 293371537\nTest: manual (sysprops)\nTest: atest librenderengine_test\nTest: atest librenderengine_bench\nChange-Id: Ib9b8abb25f4894f1b50b6286720c2abf89ca74e2\n"
    },
    {
      "commit": "5ef5500b16a0f2fcc5884025acddbf60f743c518",
      "tree": "fa39a86fd7ed959a57f42b5c62bb60a17170c722",
      "parents": [
        "9e14fec232dcea20ed67081653b694dbe5cf525e"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 10:51:45 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 25 10:51:45 2024 -0500"
      },
      "message": "Clean up RenderEngineTest\n\nSplit out from Ib9b8abb25f4894f1b50b6286720c2abf89ca74e2, since they\u0027re\northogonal.\n\nRemove `skip()`, which I believe stopped being called in\nI69119623b194885bcc4cf2ddc8e592576b713b19.\n\nRemove SkiaGLESCMRenderEngineFactory, which hasn\u0027t been used since\nI761cbd3967d1800cc74538f93f1b9c3ffe11ee6a.\n\nConsolidate createRenderEngine (and the trivial\ncreateSkiaVkRenderEngine) into the base class, since all versions were\ndoing essentially the same thing.\n\nBug: NA\nTest: atest librenderengine_test\nChange-Id: Iad446bfa39e371f34db76e2aecfd1fbfb706fc02\n"
    },
    {
      "commit": "296566ec8eee6c4c448776ec0285f927b77447f9",
      "tree": "169e6d855339763dbe23a12ff792cef73967ac9b",
      "parents": [
        "ffdc5e45730fd184a1ffbbe9b1b987bac1115bce"
      ],
      "author": {
        "name": "linkai",
        "email": "linkai@xiaomi.com",
        "time": "Mon Jan 22 20:58:15 2024 +0800"
      },
      "committer": {
        "name": "kai lin",
        "email": "linkai@xiaomi.com",
        "time": "Thu Jan 25 13:06:56 2024 +0000"
      },
      "message": "Modify dimming threshold from 0.2 to 0.9.\n\nWe found that the original dimming threshold was relatively\nsmall. When the dimming threshold exceeded 0.2, there were jitter\nissues when exiting HDR videos or Ultra HDR photos to the recent\ntask. For better optimization, we raised the dimming threshold\nfrom 0.2 to 0.9.\n\nBug: 321864707\nTest: Manual\n\nChange-Id: I3dfb987b149b05d4a3c15e14779c9caab4783d75\nSigned-off-by: linkai \u003clinkai@xiaomi.com\u003e\n"
    },
    {
      "commit": "cf05d7acff6e5e3e9926c59c680afd39cabb8337",
      "tree": "8e63cf15388cb9577940ad17ca8e1142454a52bb",
      "parents": [
        "4bdf1a14c14ab76f4fb078c1469f075a2481194d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Dec 07 14:56:33 2023 +0900"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jan 10 16:44:04 2024 +0900"
      },
      "message": "Fix -Wfortify-source warning (2nd)\n\nFollow up change to http://ag/25556127. The previous CL did not cover\nall instances.\n\nTest: presubmit\nBug: 315245071\nChange-Id: If3ed05126c355e8790a666e62325fa1825a86b7b\n"
    },
    {
      "commit": "308393e6a28a220e0d29d0ba6ad83c2437b2fdc0",
      "tree": "e7603a2fe2b4e02ad75df070f9ebb2baf4197f17",
      "parents": [
        "456225118d71ad39dda23b1aed984e6452a83580",
        "36135d0e0f880d28a77792bd1b7519e3a2110a8d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 27 20:54:17 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 27 20:54:17 2023 +0000"
      },
      "message": "Merge \"SF: make RenderEngineThreaded::waitUntilInitialized more efficient\" into main"
    },
    {
      "commit": "36135d0e0f880d28a77792bd1b7519e3a2110a8d",
      "tree": "8114ae23df6063c74929fb4282f13975d78c37b1",
      "parents": [
        "4335afd8a48a43927c118ce53b40391269e9c57c"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Dec 20 13:33:56 2023 -0800"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Dec 27 18:04:34 2023 +0000"
      },
      "message": "SF: make RenderEngineThreaded::waitUntilInitialized more efficient\n\nRenderEngineThreaded::waitUntilInitialized is called from multiple\nthreads. Use atomic to avoid contending on a mutex.\n\nBug: 313924033\nTest: presubmit\nChange-Id: I4d61240a76f3ca814c28ccba62626f8b43a125cd\n"
    },
    {
      "commit": "efa4f045e655593be0488b288d3d43902260c53d",
      "tree": "64210db53fb129e48f51f8fd9f2b740e62466178",
      "parents": [
        "b2e3bea5b54631b2af44baf1eec6d37c46fa9123"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Dec 14 13:24:57 2023 -0500"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Thu Dec 14 13:28:30 2023 -0500"
      },
      "message": "Add debug info to crash in SkiaGLRenderEngine::chooseEglConfig\n\nBug: 316228037\nTest: N/A\nChange-Id: I94ef5118bda7a71498160c3bd1e89519670641c5\n"
    },
    {
      "commit": "38f6a09c7fe6a077365ed02a453ab074cf5e91e5",
      "tree": "a7b0245fc35c66aa66029d3cfb1463ac9951e200",
      "parents": [
        "5e8ef8a93aea20c440b90372bd928a4110479fb6"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 05 16:59:10 2023 +0900"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Tue Dec 05 10:12:35 2023 +0000"
      },
      "message": "Fix -Wformat compiler warning\n\nerror: format specifies type \u0027int\u0027 but the argument has type \u0027ui::Dataspace\u0027 [-Werror,-Wformat]\n   91 |     LOG_ALWAYS_FATAL(\"%s isTextureValid:%d dataspace:%d\"\n      |                                                      ~~\n   92 |                      \"\\n\\tGrBackendTexture: (%i x %i) hasMipmaps: %i isProtected: %i texType: %i\"\n   93 |                      \"\\n\\t\\tGrGLTextureInfo: success: %i fTarget: %u fFormat: %u colorType %i\",\n   94 |                      msg, tex.isValid(), dataspace, tex.width(), tex.height(), tex.hasMipmaps(),\n      |                                          ^~~~~~~~~\n      |                                          static_cast\u003cint32_t\u003e( )\n\nTest: build with upstream Clang\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d90ebf37bac881823a701190afd871dbc7495624)\nMerged-In: I81868618064fbb189affb0f55c4e3ab94e78430b\nChange-Id: I81868618064fbb189affb0f55c4e3ab94e78430b\n"
    },
    {
      "commit": "d90ebf37bac881823a701190afd871dbc7495624",
      "tree": "66bfee75fbf8cca7ddd5c82ad6c45039e625a598",
      "parents": [
        "b51a073a2968fb60624f4e000d2f8729d85cf0b9"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 05 16:59:10 2023 +0900"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Dec 05 08:08:18 2023 +0000"
      },
      "message": "Fix -Wformat compiler warning\n\nerror: format specifies type \u0027int\u0027 but the argument has type \u0027ui::Dataspace\u0027 [-Werror,-Wformat]\n   91 |     LOG_ALWAYS_FATAL(\"%s isTextureValid:%d dataspace:%d\"\n      |                                                      ~~\n   92 |                      \"\\n\\tGrBackendTexture: (%i x %i) hasMipmaps: %i isProtected: %i texType: %i\"\n   93 |                      \"\\n\\t\\tGrGLTextureInfo: success: %i fTarget: %u fFormat: %u colorType %i\",\n   94 |                      msg, tex.isValid(), dataspace, tex.width(), tex.height(), tex.hasMipmaps(),\n      |                                          ^~~~~~~~~\n      |                                          static_cast\u003cint32_t\u003e( )\n\nTest: build with upstream Clang\nChange-Id: I81868618064fbb189affb0f55c4e3ab94e78430b\n"
    },
    {
      "commit": "1aab9922ce7b02c50cf43e7945d031d5c1fbcf74",
      "tree": "811314c207777d29768c4a8e7f2380817c3a7bdd",
      "parents": [
        "ecc2be942162dca5e192ab2d7a7ec16c577c266f"
      ],
      "author": {
        "name": "John Bauman",
        "email": "jbauman@google.com",
        "time": "Tue Oct 24 17:23:47 2023 +0000"
      },
      "committer": {
        "name": "John Bauman",
        "email": "jbauman@google.com",
        "time": "Tue Nov 21 19:22:47 2023 +0000"
      },
      "message": "Require protected memory support when creating protected queue\n\nAccording to VUID-VkDeviceQueueCreateInfo-flags-02861, the\nprotectedMemory feature must be enabled if the\nVK_DEVICE_QUEUE_CREATE_PROTECTED_BIT flag is specified. When using debug\nbuilds of the ARM Mali Vulkan ICD that don\u0027t support protected memory,\nspecifying that flag anyway was causing an assert in the ICD, so don\u0027t\nattempt to create a protected device if the physical device doesn\u0027t\nsupport protected memory.\n\nBug: b/312107548\nChange-Id: I74c162ba90ea582b403a44d362932eac9b6fa66f\n"
    },
    {
      "commit": "ab03f28b93f02d171502a6b5ea147f9bb2b04b7d",
      "tree": "dee97e94e273534f8fa13ff579a89c4b2b9e57a2",
      "parents": [
        "3496937c9c85800bd8796368965ea9a28665334f",
        "6718881cfd79139d4a75b21e30a20cb7c2c32db3"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Oct 19 20:38:15 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 19 20:38:15 2023 +0000"
      },
      "message": "Merge \"[frameworks/native] Make MemoryReporter::TraceValue own its string\" into main"
    },
    {
      "commit": "6718881cfd79139d4a75b21e30a20cb7c2c32db3",
      "tree": "0df01f6bf8e03fe74d0abee21e8afccd66cd9d56",
      "parents": [
        "64edb6c4b8e5491de46bf7b58643c0d91ee4e652"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Oct 19 10:19:44 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Oct 19 10:23:44 2023 -0400"
      },
      "message": "[frameworks/native] Make MemoryReporter::TraceValue own its string\n\nTraceValue had an unowned pointer to a const char (string). But there\nwas no guarantee that the string lived long enough for TraceValue\u0027s use.\nSwitch to an owned string type.\n\nBug: 305919946\nTest: adb shell dumpsys SurfaceFlinger\nChange-Id: I30b990771cc7f3ccf2769efc5aafb68c957eca9f\n"
    },
    {
      "commit": "777ba90948d5af8f7cf46353f75a2e21dcf1f4b5",
      "tree": "5c697564e0af24496699368c4bfa0ec7d0dbf600",
      "parents": [
        "947407b03280aebf514d5f149b2b3f6b6e4570de",
        "b9b5b706d449212094fd020dfd30509234a8c0b4"
      ],
      "author": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Wed Oct 18 12:44:06 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 18 12:44:06 2023 +0000"
      },
      "message": "Merge \"RenderEngine, SF: gate HDR priming behind property\" into main"
    },
    {
      "commit": "b9b5b706d449212094fd020dfd30509234a8c0b4",
      "tree": "32d0f4c85ede8394f6a7c285cb382f7f81c2a4d0",
      "parents": [
        "fd028785dbe4e2281b798ae9a93e93b8c9ea4104"
      ],
      "author": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Fri Oct 13 13:25:11 2023 +0000"
      },
      "committer": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Mon Oct 16 16:32:13 2023 +0000"
      },
      "message": "RenderEngine, SF: gate HDR priming behind property\n\nThis should make it so that devices which do not see any benefit from\npriming those shaders can avoid computing them at boot time.\n\nBug: b/295257834\nTest: manual - delta of -37 shaders generated before/after this patch\nTest: atest librenderengine_test\nChange-Id: I01962b690d636def86c1ebed40187eaf74ab0246\n"
    },
    {
      "commit": "3e69a659a17262949576eb20661abb3c3163a9ca",
      "tree": "92a2ce2e10f6d5782155d70e2ffea9c21b66db5f",
      "parents": [
        "7dc729eb43ece1c19b20f371e1b8daf51a6753ec",
        "2fc491182c7b866838fbf1eceac55898867ee068"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Oct 13 14:55:46 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 13 14:55:46 2023 +0000"
      },
      "message": "Merge \"[native] Use newer GrDirectContexts::MakeVulkan\" into main"
    },
    {
      "commit": "2fc491182c7b866838fbf1eceac55898867ee068",
      "tree": "6097668645b44cc86daf208b144abc560cfa69ae",
      "parents": [
        "a387c08f70fb33897a521876149af67fb76ca2e8"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Oct 13 13:10:48 2023 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Fri Oct 13 13:12:35 2023 +0000"
      },
      "message": "[native] Use newer GrDirectContexts::MakeVulkan\n\nThis was added in http://review.skia.org/764516 and the old versions were deprecated.\n\nThis should not change any functionality as the deprecated APIs call the new APIs.\n\nChange-Id: I78c0f3b1a14995d9ba6122ea5e93032bcd4f9573\nBug: b:293490566\n"
    },
    {
      "commit": "5860d9286aeb1df020431536ba779952044ce6b4",
      "tree": "7ce60dc1ae56ccd5d1ca3f2d65c44e80ee7ccb08",
      "parents": [
        "458adf1b94b1b299f9dbfad60be577dbddab1ec2"
      ],
      "author": {
        "name": "Mattias Simonsson",
        "email": "mattiass@google.com",
        "time": "Wed Aug 16 13:47:41 2023 +0000"
      },
      "committer": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Fri Oct 13 12:11:55 2023 +0000"
      },
      "message": "RenderEngine: Pre-warm P3 and ExtendedHDR layers\n\nBug: b/295257834\nTest: BootPerformanceTest\nChange-Id: I8cedce2c78089e183b33e2aa2eba4d95b8fe03b7\n"
    },
    {
      "commit": "458adf1b94b1b299f9dbfad60be577dbddab1ec2",
      "tree": "f8de04c484128ac8624f75fa91964f9c268b6121",
      "parents": [
        "6574613a530a3a94006992f227f92aaec4eda5ed"
      ],
      "author": {
        "name": "Mattias Simonsson",
        "email": "mattiass@google.com",
        "time": "Wed Aug 16 10:49:30 2023 +0000"
      },
      "committer": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Fri Oct 13 12:11:55 2023 +0000"
      },
      "message": "RenderEngine: Pre-warm layers with BT2020_ITU_PQ dataspace\n\nBug: b/295257834\nTest: BootPerformanceTest\nChange-Id: Iff94575be7cfdc8050796633bf03cf154e716ad9\n"
    },
    {
      "commit": "6574613a530a3a94006992f227f92aaec4eda5ed",
      "tree": "17a75927a1752b090e695e46cf6548c8fbe3b8eb",
      "parents": [
        "bfca23a004913444a9df8e5c3b258258d8ec8067"
      ],
      "author": {
        "name": "Mattias Simonsson",
        "email": "mattiass@google.com",
        "time": "Tue Aug 15 13:26:16 2023 +0000"
      },
      "committer": {
        "name": "Bruno BELANYI",
        "email": "ambroisie@google.com",
        "time": "Fri Oct 13 12:11:54 2023 +0000"
      },
      "message": "RenderEngine: Pre-warm shaders for dimmed layers\n\nBug: b/295257834\nTest: BootPerformanceTest\nChange-Id: Ia374bb88ccd7a2e0ee4a76c71b5fca6971d7e74d\n"
    },
    {
      "commit": "d9e4f46cc957205d9a583f0dbccbcefeb66cf9bf",
      "tree": "6909c6ef8718fa53e85afada2886e9b2ea904250",
      "parents": [
        "6c0e32c07ecd09cdba722da4c94256cade0b42d7"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Oct 06 04:05:45 2023 +0000"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Oct 06 20:11:44 2023 +0000"
      },
      "message": "Clean up duplicate shadow lengths in layer snapshot\n\nThe shadow length is currently tracked in both the LayerFE\nCompositionState and the shadow settings, which are used by the\nRenderEngine. We can consolidate these fields and track shadow\nsettings in the LayerFE CompositionState. This makes sense because\nwe want the LayerFE CompositionState to contain all relevant\ninformation that it can pass to the RenderEngine without calling\nback into the frontend.\n\nBug: 302551905\nTest: presubmit\n\nChange-Id: I583c43993cf73784c6fec9ec2d40f2c76d21adeb\n"
    },
    {
      "commit": "6a710e1bbe1a8fc2cad943e96f0e6e207ef89f88",
      "tree": "a8f26ef9efeb50f0442f31d3318d2667f3c81290",
      "parents": [
        "9e8407669e0b419379c60341c604e36cd4be5f9e",
        "5b7855f224cc048fe8c765ad760bca6fd77ae89f"
      ],
      "author": {
        "name": "Alex Careja",
        "email": "alexcareja@google.com",
        "time": "Mon Oct 02 09:41:55 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 02 09:41:55 2023 +0000"
      },
      "message": "Merge \"Remove contention from Render Engine early return\" into main"
    },
    {
      "commit": "5b7855f224cc048fe8c765ad760bca6fd77ae89f",
      "tree": "c70ec59697455ce6aae14e6717a7a88ac9b107f1",
      "parents": [
        "102d39dbad6c568fc4daa17493b53380dcb8f0a0"
      ],
      "author": {
        "name": "Alex Careja",
        "email": "alexcareja@google.com",
        "time": "Wed Sep 27 11:11:22 2023 +0000"
      },
      "committer": {
        "name": "Alex Careja",
        "email": "alexcareja@google.com",
        "time": "Fri Sep 29 14:28:07 2023 +0000"
      },
      "message": "Remove contention from Render Engine early return\n\nAn early return optimization path to skip post render cleanup in some\ncases was resulting in lock contention so remove it and replace it with\nan atomic boolean.\n\nBug: 273708680\nTest: boot device, observe boot animation is smooth\nChange-Id: Idd989a2e91a8ef1b71aef4e1c439eb0576511c79\n"
    },
    {
      "commit": "d19875ff379935a2ac1f93c2b2e0ce675195f257",
      "tree": "a16455f03d3923a5a48d432a9a4c44dd7135bf66",
      "parents": [
        "a22dbac767b580ecb55a0adc93b0296b0f7cd432"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Sep 27 15:02:47 2023 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Sep 27 16:51:40 2023 +0000"
      },
      "message": "[native] Use newer GrDirectContexts::MakeGL\n\nThis was added in https://skia-review.googlesource.com/c/skia/+/760017 and the old versions were deprecated.\n\nChange-Id: I41ec95164e623e53451bcf050c55a136a2630ee8\nBug: b/293490566\n"
    },
    {
      "commit": "a0efc3414dc24752338ae8f2076ed2b4499e405b",
      "tree": "ec32574fcb6c34dc4b6de164358b0bab5656ab3d",
      "parents": [
        "dbf439564813047b611b544254f996634e5a9b03"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Sep 20 13:11:52 2023 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Wed Sep 20 13:11:55 2023 +0000"
      },
      "message": "[native] Migrate to safer GrDirectContext::submit() API\n\nFollow-up to http://ag/24734421 and http://ag/24790088\n\nChange-Id: Ic31ec19d3eaaef6986481f3c69f896bd83d181d1\n"
    },
    {
      "commit": "e9a6d8d4d0cc559e5e337a274545fb4b7e71245e",
      "tree": "aac6ce325d60d04a5d625d96a825516b5a1c3101",
      "parents": [
        "1d6ad144e78575dad790d8b87568ad2fb5ad9735"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Sep 18 13:36:12 2023 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Mon Sep 18 13:36:58 2023 +0000"
      },
      "message": "[native] Migrate to safer GrDirectContext::submit() API\n\nFollow-up to http://ag/24734421\n\nChange-Id: Ie2f6a3e33c50f709eda9c837d890adff0c4bc7a9\n"
    },
    {
      "commit": "20836a57b4e70a37ff9619a580e3c26a716b2327",
      "tree": "9d04ddde498e1dcd62e7970f64a075922d5f7fdf",
      "parents": [
        "c79a756a21be45c13d5578f3c14e7b021cc9927e",
        "07196db274aef919aa69dbed5f054b25856969aa"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed Sep 13 22:15:57 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 13 22:15:57 2023 +0000"
      },
      "message": "Merge \"Don\u0027t import GPU inaccessible buffers in RenderEngine\" into main"
    },
    {
      "commit": "07196db274aef919aa69dbed5f054b25856969aa",
      "tree": "57a548c4945c34bcd99fbb20ce7ba436a9410613",
      "parents": [
        "ce9c53fe99d19acb7d3e1251c42eb7c5329e8ac2"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Sep 12 23:33:49 2023 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Sep 12 23:44:51 2023 +0000"
      },
      "message": "Don\u0027t import GPU inaccessible buffers in RenderEngine\n\nSurfaceFlinger already rejects those buffers from being added to\ndrawLayers, but mapExternalTextureBuffer() is still called for all\nbuffers arriving into SurfaceFlinger. Let\u0027s not trigger undefined\nbehavior.\n\nBug: 300155347\nTest: builds, boots\nChange-Id: I3ced5f11f47af6fdcd2c1575cbbbac99075588b8\n"
    },
    {
      "commit": "4011eb920226dda781ee93061be049ca44bdf7c6",
      "tree": "49c80bba5e07eae830cb666f9111d37dbc99a141",
      "parents": [
        "6476275510e26872c6bddfb821eefded85ad4223"
      ],
      "author": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Tue Sep 12 14:18:19 2023 +0000"
      },
      "committer": {
        "name": "Kevin Lubick",
        "email": "kjlubick@google.com",
        "time": "Tue Sep 12 14:25:08 2023 +0000"
      },
      "message": "[native] Update GrDirectContext calls to use safer API\n\nIn http://review.skia.org/751523, Skia modified some GrDirectContext\nAPIs to make them less error-prone in response to https://crbug.com/1475906.\n\nThis updates part of Android to call those modified APIs.\n\nChange-Id: Ib19a39cf937ba359b55c600a68a8f1c2266fd35a\n"
    },
    {
      "commit": "9ce85681cda102ebc4c10050810e34cbe147a0cc",
      "tree": "ff12755077e2190e0001293a2261527176014000",
      "parents": [
        "19b1c65ca598cb661b2aeb06b73774c2de4b4790"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Aug 25 15:28:46 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Sep 08 15:31:40 2023 -0400"
      },
      "message": "MSKP capture: write to a different directory\n\nWriting to /data/user is no longer allowed, even with\n`adb shell setenforce 0`. Write to /data/misc/mskps instead. Remove a\nreference to the old location.\n\nAttempt to create the file on device.\n\nBug: 296282988\nTest: manual\nChange-Id: I4565a1c7fd8b4e75cf2207c59bf76b45fd761ce1\n"
    },
    {
      "commit": "961f916b41c1e70defdd1a3327ecc6d66195700a",
      "tree": "3e00825df645a4cd8ba0f9104579101d6b4f32f1",
      "parents": [
        "5f0bf742186a5817881364760c9daf31aa44ad31",
        "e8799f6b1d907e5ad963c31e33dce3276e1af166"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Wed Sep 06 21:58:19 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 21:58:19 2023 +0000"
      },
      "message": "Don\u0027t look through the buffer cache in protected contexts am: a0c7cca576 am: 6fd105f0b6 am: e8799f6b1d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/24666066\n\nChange-Id: Icce494adb6428025769c8ffd16b74e08a1e144a2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e8799f6b1d907e5ad963c31e33dce3276e1af166",
      "tree": "57713e29864a6f7e64b91c1e3cd8cb98e9dab87f",
      "parents": [
        "286c6911e5760a59eceded64678685e1d2c90a77",
        "6fd105f0b6504d19242bfe503920ed1f139197bf"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Wed Sep 06 21:18:28 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 21:18:28 2023 +0000"
      },
      "message": "Don\u0027t look through the buffer cache in protected contexts am: a0c7cca576 am: 6fd105f0b6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/24666066\n\nChange-Id: I3eccf58dceb2b81ebded3ef1b459abab07949022\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6fd105f0b6504d19242bfe503920ed1f139197bf",
      "tree": "4b5047e0e0dd02383a0a3817dca750132d033037",
      "parents": [
        "2915fde06d010b0cd8e9b4bc5b294ce5be1a2a02",
        "a0c7cca5769008d02e0ce227feb3efd7471813a4"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Wed Sep 06 20:28:45 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 20:28:45 2023 +0000"
      },
      "message": "Don\u0027t look through the buffer cache in protected contexts am: a0c7cca576\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/24666066\n\nChange-Id: Ic9374172e6eb7c76a0c032583ae75d5bdc765263\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a0c7cca5769008d02e0ce227feb3efd7471813a4",
      "tree": "b5bfc159444241b5bf88717cb760b5c979120244",
      "parents": [
        "d80fdc48244e1769a84c46448477754a4cd3b883"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Wed Aug 23 15:18:27 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Sep 05 20:21:34 2023 +0000"
      },
      "message": "Don\u0027t look through the buffer cache in protected contexts\n\nTest: manual - protected content in Netflix apk, even without blurring\n\nWithout this change getOrCreateBackendTexture can return an\nun-Protected backend texture when a Protected one is required.\nThis causes the Protected content draw to be dropped.\n\nNote: This CL originally landed in main as part of a broader fix for\nblurring protected content, but it has been discovered to fix other\nissues with protected content that were otherwise still visible in\nthis branch.\n\nBug: 242266174\nBug: 294357792\nChange-Id: I9d7bab890ae8d88656e77dede962b40e926580c8\n(cherry picked from commit 59f71734258e3959d2d3d8937d689b1bb88941db)\nMerged-In: I9d7bab890ae8d88656e77dede962b40e926580c8\n"
    },
    {
      "commit": "22ba0b2b373627abb30847615b8696d0d411711e",
      "tree": "5a58747d73ac05e228d3890ddafa8698ee051b2f",
      "parents": [
        "0376c639e13c96ca171bc53ebfdbae14ed83bddf",
        "f31b4bc65b73ed5a4bd88a55c3d248841f1db442"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 05 14:56:51 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 05 14:56:51 2023 +0000"
      },
      "message": "Merge \"Revert \"RenderEngine: don\u0027t blur when using protected content\"\" into main"
    }
  ],
  "next": "c75487eab9a77f63d55f290dc742a0d5d41d49a7"
}
