)]}'
{
  "commit": "ff8d22e5511fe86327231e2f1ad9e1952dd4be35",
  "tree": "cf6402b71ecf25972395919fa1057fab0b605cb7",
  "parents": [
    "839c13c6f2107bb915968a9470de5d25a27b71e7"
  ],
  "author": {
    "name": "Tom Anderson",
    "email": "thomasanderson@chromium.org",
    "time": "Thu Jan 30 03:19:16 2020"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Jan 30 03:19:16 2020"
  },
  "message": "Implement GpuMemoryBuffers for EGL and GLX\n\nAdds GMB support for Linux/X11. ANGLE support will be added in\nfollowup(s). For now, support on EGL/GLX is enabled when\n--enable-native-gpu-memory-buffers is passed.\n\nMain code additions:\n* GbmSupportX11: ui/gfx/linux/gbm_support_x11.*\n  - Uses DRI3 to get an authenticated DRM fd. Creates a GbmDevice\n    with it.\n* GLImageGLXNativePixmap: ui/gl/gl_image_glx_native_pixmap.*\n  - Subclasses GlImageGLX.  Uses DRI3 to get a GLX pixmap from a\n    dma-buf.\n* ui/gl/gl_visual_picker_glx.*\n  - Figures out which GLXFBConfigs should be used for corresponding\n    gfx::BufferFormats.  Only BGR(A) formats are supported by GLX.\n\nGMB support used to be routed through gpu::GpuMemoryBufferSupport,\nwhich is basically just a switch statement over the various\ngfx::BufferFormats and gfx::BufferUsages. With X11, GMB support needs\nto be determined at runtime, and in the GPU process (since it depends\non the singleton GbmDevice and the GL implementation), so GMB support\nis put into gpu::GPUInfo, similar to how we\u0027re already doing with\nvisual IDs.\n\nBUG\u003d1031269\n\nChange-Id: Ie254e6c5646073be0cb76d549c115be274e4ef46\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1984712\nCommit-Queue: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\nReviewed-by: Scott Violet \u003csky@chromium.org\u003e\nReviewed-by: Martin Barbella \u003cmbarbella@chromium.org\u003e\nReviewed-by: Mark Pearson \u003cmpearson@chromium.org\u003e\nReviewed-by: Jonathan Backer \u003cbacker@chromium.org\u003e\nReviewed-by: Kenneth Russell \u003ckbr@chromium.org\u003e\nReviewed-by: kylechar \u003ckylechar@chromium.org\u003e\nReviewed-by: Robert Kroeger \u003crjkroege@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#736698}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fbc995308e2924779be2da4f6785517094f8340e",
      "old_mode": 33188,
      "old_path": "build/config/linux/BUILD.gn",
      "new_id": "983662cb10a802ffd6a77e04c6bfd5b029e54675",
      "new_mode": 33188,
      "new_path": "build/config/linux/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "3912ce1222558ff8b97fb1a46cb30b5d995b2f7f",
      "old_mode": 33188,
      "old_path": "components/viz/host/host_gpu_memory_buffer_manager.cc",
      "new_id": "abfa7e950109f95763a8aca74c295415d608aa42",
      "new_mode": 33188,
      "new_path": "components/viz/host/host_gpu_memory_buffer_manager.cc"
    },
    {
      "type": "modify",
      "old_id": "6d837376890e83faad845d00cf858b293b597fcb",
      "old_mode": 33188,
      "old_path": "components/viz/host/host_gpu_memory_buffer_manager.h",
      "new_id": "22cbf40fc8bd5e7d9a441a8b01a5d52da3ac9872",
      "new_mode": 33188,
      "new_path": "components/viz/host/host_gpu_memory_buffer_manager.h"
    },
    {
      "type": "modify",
      "old_id": "f10028568750f4d9457c40ff1e95e8ca96313c95",
      "old_mode": 33188,
      "old_path": "components/viz/host/host_gpu_memory_buffer_manager_unittest.cc",
      "new_id": "ee27a7f1dac007903fe87845090048e9d2811fe1",
      "new_mode": 33188,
      "new_path": "components/viz/host/host_gpu_memory_buffer_manager_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1f20886c631e3a09626afaa4a0da472770582351",
      "old_mode": 33188,
      "old_path": "content/browser/BUILD.gn",
      "new_id": "901142ab63368649312871796b4a092a47fbf031",
      "new_mode": 33188,
      "new_path": "content/browser/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "89a157897b578fe454ad795da06a935786618937",
      "old_mode": 33188,
      "old_path": "content/browser/browser_main_loop.cc",
      "new_id": "00d50221bbb63070be48e2493e766242b76724c8",
      "new_mode": 33188,
      "new_path": "content/browser/browser_main_loop.cc"
    },
    {
      "type": "modify",
      "old_id": "c88dcd4be6fad3e4cc7fb3835838cac6b7dd2f30",
      "old_mode": 33188,
      "old_path": "content/browser/gpu/browser_gpu_channel_host_factory.cc",
      "new_id": "a0d9980a1620c8c7f08fddd3cb1476c1620c5627",
      "new_mode": 33188,
      "new_path": "content/browser/gpu/browser_gpu_channel_host_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "449687ed77bf23f7b1c93c1a06dc85d65b3d8a39",
      "old_mode": 33188,
      "old_path": "content/browser/gpu/gpu_data_manager_impl_private.cc",
      "new_id": "dd451c0c71ff048a4199a30cc3e53551f4e817e7",
      "new_mode": 33188,
      "new_path": "content/browser/gpu/gpu_data_manager_impl_private.cc"
    },
    {
      "type": "modify",
      "old_id": "fedd377e89a21f29cc7b76fe449387aac6d7c64b",
      "old_mode": 33188,
      "old_path": "content/browser/gpu/gpu_internals_ui.cc",
      "new_id": "c0a0702b81c24944c4ce627bd65054a4394c5096",
      "new_mode": 33188,
      "new_path": "content/browser/gpu/gpu_internals_ui.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a4273295b4aed0400c4f0bf3173f29d8d8e631d2",
      "new_mode": 33188,
      "new_path": "content/browser/gpu/gpu_memory_buffer_manager_singleton_x11.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e859a28bce94df18e0e007a935f8b22904bc7ec3",
      "new_mode": 33188,
      "new_path": "content/browser/gpu/gpu_memory_buffer_manager_singleton_x11.h"
    },
    {
      "type": "modify",
      "old_id": "7917db1da22ddd94b23f96ec935c6f5d91463e43",
      "old_mode": 33188,
      "old_path": "content/gpu/BUILD.gn",
      "new_id": "088c791f054eaed4869a569cafddf055bc4578d3",
      "new_mode": 33188,
      "new_path": "content/gpu/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "0a56e27b49e101f4ac3bd1a0d386c3977666bb6d",
      "old_mode": 33188,
      "old_path": "content/gpu/gpu_main.cc",
      "new_id": "6c446a1506dd1c7728c82f5b11cf7fd3575383d9",
      "new_mode": 33188,
      "new_path": "content/gpu/gpu_main.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f83a07865d876956db6a8b9aaac051a10d82c1eb",
      "new_mode": 33188,
      "new_path": "content/public/browser/OWNERS"
    },
    {
      "type": "modify",
      "old_id": "4163940ac74b388688a3fd37c31235392df82df5",
      "old_mode": 33188,
      "old_path": "content/public/browser/gpu_data_manager_observer.h",
      "new_id": "59610689e0c8b65ec6e6136c273a18f6583f3e89",
      "new_mode": 33188,
      "new_path": "content/public/browser/gpu_data_manager_observer.h"
    },
    {
      "type": "modify",
      "old_id": "059bd1d82e15e42c0cd4d9ae57d522192314eecd",
      "old_mode": 33188,
      "old_path": "content/public/browser/gpu_utils.cc",
      "new_id": "39326b9f764d61b1dd2b518f5d794f8e53fb53ac",
      "new_mode": 33188,
      "new_path": "content/public/browser/gpu_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "056c35e75599d8893482759cd29e14e2e20a7717",
      "old_mode": 33188,
      "old_path": "gpu/command_buffer/common/gpu_memory_buffer_support.cc",
      "new_id": "ad76aea9d2b5a03edb6180e7d64886f33dc7b783",
      "new_mode": 33188,
      "new_path": "gpu/command_buffer/common/gpu_memory_buffer_support.cc"
    },
    {
      "type": "modify",
      "old_id": "b93e78350234ff27aa16df2e98b17cea2302c5bf",
      "old_mode": 33188,
      "old_path": "gpu/config/BUILD.gn",
      "new_id": "ef9c6890c4241b9984667c64afb3d020b8f9d42a",
      "new_mode": 33188,
      "new_path": "gpu/config/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "39bce1eab21ae6e66e2fbf6c03ffbb6663051d2d",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_extra_info.h",
      "new_id": "24d45fdb127d98743e3556e07e2d4e1032771098",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_extra_info.h"
    },
    {
      "type": "modify",
      "old_id": "da699bb06321d724f93c058da86edc07a6503940",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_info.cc",
      "new_id": "5d62fab7ac6a554c37a57f34b72e5cf18dcf5228",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_info.cc"
    },
    {
      "type": "modify",
      "old_id": "cce6a59730c8aab7370183ca5edccd5d9a8a4109",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_info.h",
      "new_id": "4c176c372b4413a71f3a7e4aa9f023dd2dafa4b1",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_info.h"
    },
    {
      "type": "modify",
      "old_id": "cdc50836c756487b9b0d0fd118cb7694580e1920",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_info_collector.cc",
      "new_id": "59d409b52578005b7f998677674465843276ecf2",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_info_collector.cc"
    },
    {
      "type": "modify",
      "old_id": "8edb8801b41531b2063f8ac8e60d9b2bf56d83e3",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_info_collector.h",
      "new_id": "5528682161acab3f147ee0581fa177bce05cdeb4",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_info_collector.h"
    },
    {
      "type": "modify",
      "old_id": "f0de9379775486295633ddc4504c350dc53aa754",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_preferences.h",
      "new_id": "4e470cef9ec1f43a0e07941beb31cac1028e4fee",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_preferences.h"
    },
    {
      "type": "modify",
      "old_id": "99f475b32886d74a8579c6a9dcdf1a690715bc0a",
      "old_mode": 33188,
      "old_path": "gpu/config/gpu_preferences_unittest.cc",
      "new_id": "c13bf6fb1f13c574010e395eeecd0d973dfd649b",
      "new_mode": 33188,
      "new_path": "gpu/config/gpu_preferences_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "b578bae8f228f8ae674a200367a10cc130ed4b6c",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/BUILD.gn",
      "new_id": "cacd7b2ec10b276dce3c8ed9671d1d67bc5b556c",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "f3f45ce281fcbb494e2dfbb6fd17285d5384ef40",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_extra_info.mojom",
      "new_id": "556fa80e4b68c81f16783609eb689f8a5c4ea705",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_extra_info.mojom"
    },
    {
      "type": "modify",
      "old_id": "19d27d8c31313baac0f508eae79e2b5369a55290",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_extra_info_mojom_traits.cc",
      "new_id": "fe765a71caaf527fd224e1310fe753a84e2b3146",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_extra_info_mojom_traits.cc"
    },
    {
      "type": "modify",
      "old_id": "9fd5c226490866f2f1ef0d9b9255d41799fc31e2",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_extra_info_mojom_traits.h",
      "new_id": "cc80a9c35c16bb6f24e079c31335e6b428403642",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_extra_info_mojom_traits.h"
    },
    {
      "type": "modify",
      "old_id": "9942b5eb9da5820dabbcd3765da88e20108b6090",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_info.mojom",
      "new_id": "164fbeeeb381c1419ead0fb958b823a7f004e08e",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_info.mojom"
    },
    {
      "type": "modify",
      "old_id": "248daaf61ce01f90ee2e18dbfdb631ce5d4dc2a7",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_info_mojom_traits.cc",
      "new_id": "c44cfa3efaa136f870fe54513931f24fcaf86ad6",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_info_mojom_traits.cc"
    },
    {
      "type": "modify",
      "old_id": "b8b22696781fdf4f0c8b752111b399f4073d4566",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_info_mojom_traits.h",
      "new_id": "b929c6bc6df3f8b0c93ae81155a3619e4f8c90df",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_info_mojom_traits.h"
    },
    {
      "type": "modify",
      "old_id": "907b55c14dae32f8d0085cd9072b37b8ebd06dd4",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_memory_buffer_impl_test_template.h",
      "new_id": "791cfd768084097105d3fe1f065006d4831a92a0",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_memory_buffer_impl_test_template.h"
    },
    {
      "type": "modify",
      "old_id": "a175860f0234eebf232c5f548194e748b1864a83",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_memory_buffer_support.cc",
      "new_id": "fc49ff2f7168b6aba0bda05d1be5288fd8eb8189",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_memory_buffer_support.cc"
    },
    {
      "type": "modify",
      "old_id": "4963ff8719e6ceaf660e46d23f4cf805a473bed5",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_memory_buffer_support.h",
      "new_id": "2999e942d6680dceb4939b08823fc4135f81823e",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_memory_buffer_support.h"
    },
    {
      "type": "modify",
      "old_id": "27d7d279cc509832667a5ac447f62a133d383ec6",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_preferences.mojom",
      "new_id": "95fef42847c1ef40ec004fd4ca1447887a3b1908",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_preferences.mojom"
    },
    {
      "type": "modify",
      "old_id": "b68ab9b18b26bdebf611f189c8d15990bf67a9b1",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/gpu_preferences_mojom_traits.h",
      "new_id": "18384a4adfaabc088e871469e3e8b47a5b900d89",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/gpu_preferences_mojom_traits.h"
    },
    {
      "type": "modify",
      "old_id": "07f4c8bd26a67e14683a8326072e6541690eff03",
      "old_mode": 33188,
      "old_path": "gpu/ipc/common/mojom_traits_unittest.cc",
      "new_id": "36f1b03b8ae89ee2247c0860afc38b57656d1620",
      "new_mode": 33188,
      "new_path": "gpu/ipc/common/mojom_traits_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "be603009a9615ad0c31da227965c4eb25c1d4d68",
      "old_mode": 33188,
      "old_path": "gpu/ipc/service/BUILD.gn",
      "new_id": "a6cdd1737d62ddf4f9dc15ac94364f2bec397d9c",
      "new_mode": 33188,
      "new_path": "gpu/ipc/service/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "382880faa0bb7ac863f6d33e1d6f2f091f6e894f",
      "old_mode": 33188,
      "old_path": "gpu/ipc/service/gpu_init.cc",
      "new_id": "d9a82ad41cd6f5443ac4fe84846869925dd44f59",
      "new_mode": 33188,
      "new_path": "gpu/ipc/service/gpu_init.cc"
    },
    {
      "type": "modify",
      "old_id": "dd1e489ad49ed0339414b35b275723a3c1e0794d",
      "old_mode": 33188,
      "old_path": "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.cc",
      "new_id": "b9e3a825a1f1079d40534d6491004adb6085c835",
      "new_mode": 33188,
      "new_path": "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.cc"
    },
    {
      "type": "modify",
      "old_id": "900fd2a6209df2a1dfced2fec50526b12cc93411",
      "old_mode": 33188,
      "old_path": "gpu/ipc/service/gpu_memory_buffer_factory_test_template.h",
      "new_id": "9554db39a7da2b29ca14c3d819fb2de405373d72",
      "new_mode": 33188,
      "new_path": "gpu/ipc/service/gpu_memory_buffer_factory_test_template.h"
    },
    {
      "type": "modify",
      "old_id": "4d7f290a2a0112b6f0c199346f5ee974a9145fc7",
      "old_mode": 33188,
      "old_path": "tools/metrics/histograms/histograms.xml",
      "new_id": "09d83ae319b0ccb3c51587d3c9a2322bb6ea764d",
      "new_mode": 33188,
      "new_path": "tools/metrics/histograms/histograms.xml"
    },
    {
      "type": "modify",
      "old_id": "3b0e4dbab1402834d8dc27e589260da97f34d5db",
      "old_mode": 33188,
      "old_path": "ui/gfx/linux/BUILD.gn",
      "new_id": "9d682d592d82826dafbd5589c065da587562bc5d",
      "new_mode": 33188,
      "new_path": "ui/gfx/linux/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "25fa00ff442b5b3f8c6af4dbf8328296177723f0",
      "new_mode": 33188,
      "new_path": "ui/gfx/linux/gpu_memory_buffer_support_x11.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "600354a90076783b93532206fe568de1cf9c2c71",
      "new_mode": 33188,
      "new_path": "ui/gfx/linux/gpu_memory_buffer_support_x11.h"
    },
    {
      "type": "modify",
      "old_id": "342c2e77568a604ad1960ac1c94d00bd21a2a2a4",
      "old_mode": 33188,
      "old_path": "ui/gl/BUILD.gn",
      "new_id": "fec6303375d073c4c6272c65cdb4de914a7e6988",
      "new_mode": 33188,
      "new_path": "ui/gl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "ba3b7808a60bd6e76ecd5cf32923ef38b3515eab",
      "old_mode": 33188,
      "old_path": "ui/gl/gl_image_glx.cc",
      "new_id": "73bc1ce007fe32bffe8164147f78868421f0298e",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_image_glx.cc"
    },
    {
      "type": "modify",
      "old_id": "0347fb009c1fa7f57187271e2ca61bcadfd16361",
      "old_mode": 33188,
      "old_path": "ui/gl/gl_image_glx.h",
      "new_id": "ecb8586764a04e20b64ae2e07273aa6b366d3603",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_image_glx.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08f7aa9f58df8742ca7c6ec8b04e807c1aeeede0",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_image_glx_native_pixmap.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35b7cc5e42b092558fd593c3ef0172120b115bb2",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_image_glx_native_pixmap.h"
    },
    {
      "type": "modify",
      "old_id": "050ced452a278c793377dea5a58b96e77e1c9da1",
      "old_mode": 33188,
      "old_path": "ui/gl/gl_visual_picker_glx.cc",
      "new_id": "f87f27d388f139894b237fb06d2acc145724b276",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_visual_picker_glx.cc"
    },
    {
      "type": "modify",
      "old_id": "ad6a1bfd063e6e176ffe791aad1a22abea83792a",
      "old_mode": 33188,
      "old_path": "ui/gl/gl_visual_picker_glx.h",
      "new_id": "c60740b00aa4be18f7b301cbd430483e50a09e5e",
      "new_mode": 33188,
      "new_path": "ui/gl/gl_visual_picker_glx.h"
    }
  ]
}
