)]}'
{
  "commit": "657af19f979879b2a171e5f3f62beee1d09e1048",
  "tree": "51b8ab55edce0243123d4f8b889c0b821d859987",
  "parents": [
    "702f366b1c5dc450735d40f353ff539a54df5e1c"
  ],
  "author": {
    "name": "Jonah Williams",
    "email": "jonahwilliams@google.com",
    "time": "Tue Oct 10 12:10:11 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 10 19:10:11 2023 +0000"
  },
  "message": "[Impeller] Implement framebuffer fetch support for OpenGLES. (#46585)\n\nhttps://github.com/flutter/flutter/issues/120223 for OpenGLES. Checks for support of the framebuffer fetch extension: https://registry.khronos.org/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch.txt . This is supported on a Pixel 6 at least, we should double check the distribution of the extension.\r\n\r\n![d3c](https://github.com/flutter/engine/assets/8975114/d2392dc8-e1b1-4084-ac5d-c5744c651a39)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a5a2afb6d6ed0cc3f51ece36f639bff308fdfc6d",
      "old_mode": 33188,
      "old_path": "impeller/compiler/compiler.cc",
      "new_id": "fa8cbc865d658c956fe7c09fb4462eb7e31ec59f",
      "new_mode": 33188,
      "new_path": "impeller/compiler/compiler.cc"
    },
    {
      "type": "modify",
      "old_id": "14a78f6429a26db7d2a98d11c0e36ab4e37d7c3c",
      "old_mode": 33188,
      "old_path": "impeller/compiler/impellerc_main.cc",
      "new_id": "f09f323fae4f7169388f4c60ec58bc7eb2dcd448",
      "new_mode": 33188,
      "new_path": "impeller/compiler/impellerc_main.cc"
    },
    {
      "type": "modify",
      "old_id": "797cb70a026f181425d5219295ff219138da100e",
      "old_mode": 33188,
      "old_path": "impeller/compiler/source_options.h",
      "new_id": "6c30194b58c24e06f407d37157c43fb92c487239",
      "new_mode": 33188,
      "new_path": "impeller/compiler/source_options.h"
    },
    {
      "type": "modify",
      "old_id": "8be5b2b6ee974b206b2c2b8bca77e868eabbd3c6",
      "old_mode": 33188,
      "old_path": "impeller/compiler/switches.cc",
      "new_id": "c539ed423228fbb2b6e57c1f37a8c6b07adc1338",
      "new_mode": 33188,
      "new_path": "impeller/compiler/switches.cc"
    },
    {
      "type": "modify",
      "old_id": "66884370b091d6982156a55c4c3cde62393f32a4",
      "old_mode": 33188,
      "old_path": "impeller/compiler/switches.h",
      "new_id": "e82bab6a07dac0e98d66a7a96f8b2929e7194295",
      "new_mode": 33188,
      "new_path": "impeller/compiler/switches.h"
    },
    {
      "type": "modify",
      "old_id": "cf26434a97fb275d70dc8a31310971bf5d2a54a7",
      "old_mode": 33188,
      "old_path": "impeller/entity/BUILD.gn",
      "new_id": "b82162b305b10749865a3fd0ca1a98292f3fc299",
      "new_mode": 33188,
      "new_path": "impeller/entity/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "6ff44cbe2c20b080fcd4458ba9b71fee1e4b37d8",
      "old_mode": 33188,
      "old_path": "impeller/entity/contents/framebuffer_blend_contents.cc",
      "new_id": "1930497da2196ba8363e7b6f876124263c056c42",
      "new_mode": 33188,
      "new_path": "impeller/entity/contents/framebuffer_blend_contents.cc"
    },
    {
      "type": "modify",
      "old_id": "f67506b5603e2dea03ac36f77eb879fdd809af10",
      "old_mode": 33188,
      "old_path": "impeller/entity/shaders/blending/ios/framebuffer_blend.glsl",
      "new_id": "67bd9cad8370eca221d15c071ef89956717cdf71",
      "new_mode": 33188,
      "new_path": "impeller/entity/shaders/blending/ios/framebuffer_blend.glsl"
    },
    {
      "type": "modify",
      "old_id": "45ad42e5ba447028915c0c5a92689a54508bf951",
      "old_mode": 33188,
      "old_path": "impeller/renderer/backend/gles/capabilities_gles.cc",
      "new_id": "37bd3e665d90d5affc8cfe5c6c0ab751909b0030",
      "new_mode": 33188,
      "new_path": "impeller/renderer/backend/gles/capabilities_gles.cc"
    },
    {
      "type": "modify",
      "old_id": "20685f15654225b4b3da76a306ed78da06f199a2",
      "old_mode": 33188,
      "old_path": "impeller/renderer/backend/gles/capabilities_gles.h",
      "new_id": "3bcd0cfd85d27c338e27e7a0ccfe1c84a85327da",
      "new_mode": 33188,
      "new_path": "impeller/renderer/backend/gles/capabilities_gles.h"
    },
    {
      "type": "modify",
      "old_id": "aca495418eabb14b62d471c2beb0d4622f1e48c0",
      "old_mode": 33188,
      "old_path": "impeller/renderer/backend/gles/pipeline_library_gles.h",
      "new_id": "75f5d0e4fe8f56c7124437d80c2d50593ddbdda3",
      "new_mode": 33188,
      "new_path": "impeller/renderer/backend/gles/pipeline_library_gles.h"
    },
    {
      "type": "modify",
      "old_id": "189f54caf69f8c452757c5b26c9c0bba4c224a23",
      "old_mode": 33188,
      "old_path": "impeller/renderer/backend/gles/test/capabilities_unittests.cc",
      "new_id": "5a82cf5b4c9b65ffb0dffdc8f813650295dd9ebe",
      "new_mode": 33188,
      "new_path": "impeller/renderer/backend/gles/test/capabilities_unittests.cc"
    },
    {
      "type": "modify",
      "old_id": "4ec7119240273c0bab2e8099cff51a36995e2c1d",
      "old_mode": 33188,
      "old_path": "impeller/tools/impeller.gni",
      "new_id": "35758f3013b46de43ac543b8de74ed74de1578c0",
      "new_mode": 33188,
      "new_path": "impeller/tools/impeller.gni"
    },
    {
      "type": "modify",
      "old_id": "3f20eb41b8865a9b435c2f852ce287e3119e3c5f",
      "old_mode": 33188,
      "old_path": "impeller/tools/malioc.json",
      "new_id": "17828b671dec7cf615d4c68a30045dd4791e8dfe",
      "new_mode": 33188,
      "new_path": "impeller/tools/malioc.json"
    },
    {
      "type": "modify",
      "old_id": "a2a555000ae090ff9a6c8af54c1c8648e355528a",
      "old_mode": 33188,
      "old_path": "shell/platform/android/android_context_gl_impeller.cc",
      "new_id": "83c1bb4fedd915ac78e6bffb8b38ff5920510207",
      "new_mode": 33188,
      "new_path": "shell/platform/android/android_context_gl_impeller.cc"
    }
  ]
}
