)]}'
{
  "log": [
    {
      "commit": "4cd9cc97f6fd101432276f7078d36a5efdee82cc",
      "tree": "2275cd1c2c0b7686cf820202acf7ae90b82f776f",
      "parents": [
        "44c26300d9dbd478d91cba2aab1861fc4d5f3f41"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Mon Jan 08 17:55:50 2018 -0800"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Jan 11 14:20:47 2018 -0800"
      },
      "message": "Add VK1.1 entries to NDK libvulkan and fix a bug\n\nvkEnumeratePhysicalDeviceGroups would crash when the driver only\nsupports VK1.0 and doesn\u0027t have vkEnumeratePhysicalDeviceGroups. In that\ncase, we synthesize a trivial device group for each physical device.\n\nBug: b/38269556\nBug: b/71713526\nTest: adb shell cmd gpu vkjson\nChange-Id: I66ae53744a3d37134f23f98c8e33769f185e44dd\n"
    },
    {
      "commit": "ebf17f1b90dbe0f1a2f6eb1da521f37eaedc2600",
      "tree": "f9b084c556fc7876241b9fa80006b0a412ab216c",
      "parents": [
        "205e4611654c36dc8d5a496732c4f9681f0065e1"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Nov 08 20:06:24 2017 +0000"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Nov 08 20:06:24 2017 +0000"
      },
      "message": "Revert \"Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\"\n\nThe 1.0.2 Vulkan CTS (dEQP) test case \"dEQP-VK.api.device_init.create_instance_invalid_api_version\" fails because we didn\u0027t return INCOMPATIBLE_DRIVER for 1.0.1023 (or something like that).  That is correct for a Vulkan 1.1 instance, and the new 1.1 CTS code doesn\u0027t fail for that case.  However, master still has 1.0.2 CTS, and so we need to revert this change for now.\n\nThis reverts commit 205e4611654c36dc8d5a496732c4f9681f0065e1.\n\nChange-Id: I1f68cfe6cd5bddef7871929257596f053744c324\n"
    },
    {
      "commit": "205e4611654c36dc8d5a496732c4f9681f0065e1",
      "tree": "49f20defdb9928790d7c6e81419fd1e229857f3f",
      "parents": [
        "c090b0984eb1e7c99c12969a203b1342e3be2f05"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Nov 02 10:15:13 2017 -0600"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Nov 03 17:56:24 2017 +0000"
      },
      "message": "Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\n\nTest: Vulkan CTS 1.1.0\nChange-Id: I73a44799eeb24c949524bcf6efeed8248a59e033\n(cherry picked from commit 7216d79cee3a4b169c910d2cf5a0fa627a80c9a9)\n"
    },
    {
      "commit": "1b3ecaa13a1f5d5e7c2c92d0977e10f9e315ab6e",
      "tree": "eabda5127328200318c131c25bd3cfe9a90c11f5",
      "parents": [
        "d134b22624fc5eb47c426c05019ec4d9c2c82db7"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Nov 02 00:48:15 2017 +0000"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Nov 02 00:48:55 2017 +0000"
      },
      "message": "Revert \"Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\"\n\nThis reverts commit d134b22624fc5eb47c426c05019ec4d9c2c82db7.\n\nThis change is causing a native crash when running CtsGraphicsTestCases\n\nBug: 68779289\n\nChange-Id: I03187a8828d41c0d534cd4238720a277273dc0bd\n"
    },
    {
      "commit": "d134b22624fc5eb47c426c05019ec4d9c2c82db7",
      "tree": "b22bab56cb127ece0ba949f0ecba49534d65f8d2",
      "parents": [
        "0c246c18b80a3e7ef3a2cdee287a6af6994cbc40"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Nov 01 08:58:37 2017 -0600"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Nov 01 19:19:16 2017 +0000"
      },
      "message": "Vulkan1.1: CreateInstance downgrades apiVersion for 1.0 ICDs\n\nTest: Vulkan CTS 1.1.0\nChange-Id: I1393f3ed9fadfb4c46862c243499439f751975aa\n(cherry picked from commit 825a156c660e2ae2892b6fa9bf48c642c80913fc)\n"
    },
    {
      "commit": "cd8ad33289b74243e21a776a5a9170c845d990c4",
      "tree": "0da4717ba14e15f9383c900dd74a43833bef0cea",
      "parents": [
        "f25f5bb3eb1ee3e7a3c33b5e44143ad296245f3f"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Oct 13 09:21:12 2017 -0600"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Oct 26 13:20:30 2017 -0600"
      },
      "message": "Additional changes to Vulkan 1.1 API updates\n\nThis commit includes the following:\n\n- Make new/Vulkan 1.1 core commands be optional in codegen.  Before this\n  change, the loader crashed when starting with a 1.0 app, and using a 1.0 ICD.\n  That\u0027s because the loader couldn\u0027t find \"required\" 1.1 entrypoints.  This\n  change makes those entrypoints \"optional\" with a new annotation in the api\n  file.\n\n- Changes from internal reviews, including a fix for the algorithm of\n  EnumeratePhysicalDeviceGroups.\n\nTest: Run with a 1.0 app with a 1.0 driver and make sure the loader works\nChange-Id: I55914b680a1601cb9f3f2cc0257091a0a34ae7f2\n"
    },
    {
      "commit": "f25f5bb3eb1ee3e7a3c33b5e44143ad296245f3f",
      "tree": "417d2c0aa7f703de6edec51a5be8343268d93c01",
      "parents": [
        "90f669f238cdc750483d0961efc61bbf551ae782"
      ],
      "author": {
        "name": "Daniel Koch",
        "email": "dkoch@nvidia.com",
        "time": "Thu Oct 05 00:26:58 2017 -0400"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Oct 26 13:20:18 2017 -0600"
      },
      "message": "Vulkan api update to 1.1\n\nImport Vulkan 1.1 header from\nkhronos master@5b2d66c0e6906388385ed7adfd015d80ec0d846a\nwith the following modifications:\n- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES 10006300 -\u003e 1000063000\n- remove VK_KHR_get_display_properties2 (which is not ratified)\n- device_group interactions from KHR_surface to KHR_swapchain (per MR 2409)\n\nSummary of changes since 1.0.61:\n* VK_KHR_surface -\u003e v26 (subsumed interactions with VK_KHR_device_group)\n* VK_KHR_swapchain -\u003e v69 (subsumed interactions with VK_KHR_device_group)\n* VK_EXT_debug_report -\u003e v9 (no api changes)\n* VK_KHX_multiview -\u003e VK_KHR_multiview\n* VK_KHX_device_group -\u003e VK_KHR_device_group\n* VK_KHX_device_group_creation -\u003e VK_KHR_device_group_creation\n* VK_KHR_push_descriptor -\u003e v2\n* Added VK_KHR_maintenance3\n* Added 1.1 core enums, structs, and functions (kept KHR suffixed ones too)\n\nImplemented the following in libvulkan:\n* EnumerateInstanceVersion\n* GetDeviceGroupPresentCapabilitiesKHR (minimal support for 1 device)\n* GetDeviceGroupSurfacePresentModesKHR (minimal support for local present modes only)\n* GetPhysicalDevicePresentRectanglesKHR (assumes whole window)\n* AcquireNextImage2KHR (minimal thunk to AcquireNextImageKHR)\n* GetDeviceQueue2\n* added support for VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR\n* support for 1.1 core device_groups functionality (no VK_KHR_device_group_creation)\n  - EnumeratePhysicalDeviceGroups\n* added trampolines for 1.1 core entry points\n* disabled apiVersion \u003e\u003d 1.1 check\n\nImplemented in nulldrv (but largely untested beyond build/link)\n* EnumerateInstanceVersion\n* enough empty thunks for VK 1.1 core functions that it links\n\nTest: Build Android\nChange-Id: I247cd670543867bdf80877156d941cf3bfcf6303\n"
    },
    {
      "commit": "f9b05eeb5f3b3ea92ea196f37a53df06b535690c",
      "tree": "fe9b9689ae2e12338b9ec6a56bd9eacc061ea606",
      "parents": [
        "53e5aa93fa2855616b9691c5e1878f1db1464ace"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Jul 19 20:59:39 2017 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Jul 20 14:57:23 2017 -0700"
      },
      "message": "SurfaceFlinger: Set property in StartPropertySetThread during init\n\nThis is similar to ag/1849505/ (see b/34499826), which by setting\nproperty in a separate thread, that CL aims to avoid slow initialization\nin SurfaceFlinger::init where SurfaceFlinger is waiting on\nproperty_service.\n\nThere is new property_set() call added, and this CL is to move it to the\nStartPropertySetThread.\n\nBug: 63844978\nTest: on taimen with simulated delay ag/2562492/\nChange-Id: I31547cb5e75f44eac635386b3cf345a44931c78f\n"
    },
    {
      "commit": "135fcf3780916246ddbcb182f5d2c689205147e0",
      "tree": "5f00ad4e3281eb526b9df5fa62324f9ecccee4fc",
      "parents": [
        "476ad5a7904ac54d7be94f86c20fa150565971c8",
        "c4edc50adb2cec91e7b1c5c5b4ed2f26a2a83d2e"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Wed May 17 21:49:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 17 21:49:54 2017 +0000"
      },
      "message": "Merge \"libvulkan: Enable GSC2 and SPI extensions\" into oc-dev am: d69b9d0e87\nam: c4edc50adb\n\nChange-Id: I91b510a1b9553ca25853a7a370fddb40f39e4221\n"
    },
    {
      "commit": "d69b9d0e87bad1fa696b086b05f72c53d4e7f38e",
      "tree": "590037a6bfcde55973b5d606d01b9ac7c80758f9",
      "parents": [
        "52402901b33d843e8b0731db92049461884bebfd",
        "1609500cc865f506c4ddcdf193d256944fe24360"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Wed May 17 21:42:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 17 21:43:01 2017 +0000"
      },
      "message": "Merge \"libvulkan: Enable GSC2 and SPI extensions\" into oc-dev"
    },
    {
      "commit": "c0a749efc91d2ff5c550c53f483a18a5b57b3ae3",
      "tree": "7be99c6a3bbf3216df6f1d794c38d7e94410ecbd",
      "parents": [
        "5197ccfa5b802d456f9e92d4587ba3d4ca1cbfa5",
        "27c39e15019ac37029867a12964868d18ae1c109"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 05:16:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 05:16:54 2017 +0000"
      },
      "message": "Merge \"GraphicsEnv is separated from libui\""
    },
    {
      "commit": "b36f4ee53d0ca467d88692ebbe681b7d45c062d2",
      "tree": "e376cc1ef2f3041223c0b88687ffd532a84e6cca",
      "parents": [
        "584bc3cebf3f23d378fc7ed06e71c5d1722373dd"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon May 08 15:59:09 2017 -0600"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon May 08 15:59:09 2017 -0600"
      },
      "message": "Return an error if apiVersion is 1.1+.\n\nThe Vulkan loader is supposed to check the requested apiVersion and return\nVK_ERROR_INCOMPATIBLE_DRIVER if the requested version is not supported.  The\nloader wasn\u0027t performing the check, nor returning the error.  A log message is\nalso issued, explaining why the application failed to create an instance.\n\nBug: 38040828\nTest: Modify cube to use 1.0 or 1.1 and ensure proper return value.\nChange-Id: I8cc792305a346c6e1db40f61d5235c301d8ae848\n"
    },
    {
      "commit": "27c39e15019ac37029867a12964868d18ae1c109",
      "tree": "e11915c44dbc284d3456e6a95e89b13f51503084",
      "parents": [
        "4c82d82a4bc09f959b61fc03440e1c93ef26ead7"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon May 08 13:00:02 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon May 08 15:29:35 2017 +0900"
      },
      "message": "GraphicsEnv is separated from libui\n\nGraphicsEnv class is separated from libui in order to make libui VNDK.\nThe class is then built as a standalone library named\n\u0027libgraphicsenv.so\u0027. Clients that were using the GraphicsEnv class are\nalso updated to reference the new library.\n\nBug: 38097618\nTest: sailfish builds and boots\n\nChange-Id: I4c35fdff0e92453b98ea21136ef0f99fab01b6f8\n"
    },
    {
      "commit": "1609500cc865f506c4ddcdf193d256944fe24360",
      "tree": "8d0f844f1eb8425ab851de97dda52f306bfbe495",
      "parents": [
        "0e04fe47130add878c12ee4db3c8cf1931efdda8"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Fri May 05 15:33:29 2017 -0700"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Fri May 05 16:46:01 2017 -0700"
      },
      "message": "libvulkan: Enable GSC2 and SPI extensions\n\nThese two extensions have now been ratified, so we can expose them.\n\nTest: build, matching CTS change pending\nChange-Id: I8194f31dcddc8b85b184c64135a3966ce1f83aac\nBug: b/38042483\n"
    },
    {
      "commit": "5c34de2c12ab2638fd6b16f1b77dedd0ffa3ab27",
      "tree": "378d2b1ed3e51eba4655e1566e696f06a4f084ac",
      "parents": [
        "e502a9b2e26c671bbb4e48c9ec5d8cb5651e3f36"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon Apr 10 14:42:30 2017 -0600"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Apr 12 22:15:06 2017 +0000"
      },
      "message": "Only enumerate display_timing when present timestamp supported\n\nTest: CTS and cube demo.\nBug: 36887025\n\nVulkan should only enumerate the VK_GOOGLE_display_timing extension if\nthe device supports reliably returning the present timestamp.  Vulkan\nwill determine this by reading a property that SurfaceFlinger will set\n(based on the HWC2::Capability::PresentFenceIsNotReliable capability).\n\nChange-Id: I6025be5f9120a8f02f228b8437b64be4ff8cfb17\n"
    },
    {
      "commit": "00e61ff9bd256e79c613dcd6b62d1f076be59533",
      "tree": "6312ea33991ab0fe1e66aed2702daf9acb2230cd",
      "parents": [
        "cde29667e4f93b266f2250b370a53f6eff8c6cbb"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Apr 07 16:48:02 2017 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Sun Apr 09 15:54:34 2017 -0700"
      },
      "message": "Load Vulkan driver into sphal namespace\n\nTest: bit CtsGraphicsTestCases:.VulkanFeaturesTest\nBug: 37143654\nChange-Id: I4d14b7a7642071648d52d716870a41cfb4e844f1\n"
    },
    {
      "commit": "34a327b710d381a6cb2753ba0584df3a3b6cc831",
      "tree": "fa8a38dc8f7c2caa14ed6ac1cec6546b992f57bd",
      "parents": [
        "91cfa880a3b1076c79a2b1ac0791890bcdd098a1"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Tue Mar 28 13:20:35 2017 -0600"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Wed Mar 29 17:16:24 2017 +1300"
      },
      "message": "Temporarily disable 2 unratified Khronos extensions.\n\nTest: Ran the following CTS test cases, which now say \"NotSupported\":\ndEQP-VK.wsi.android.surface.query_capabilities2\ndEQP-VK.wsi.android.surface.query_formats2\ndEQP-VK.wsi.android.shared_presentable_image.scale_none.demand\ndEQP-VK.wsi.android.shared_presentable_image.scale_none.continuous\ndEQP-VK.wsi.android.shared_presentable_image.scale_up.demand\ndEQP-VK.wsi.android.shared_presentable_image.scale_up.continuous\ndEQP-VK.wsi.android.shared_presentable_image.scale_down.demand\ndEQP-VK.wsi.android.shared_presentable_image.scale_down.continuous\n\nDisable the Khronos/Vulkan VK_KHR_get_surface_capabilities2 and\nVK_KHR_shared_presentable_image extensions until the May 5th\nratification of these two extensions.  A macro/ifdef\u0027s are used to allow\neasy enablement of the extensions for internal testing and bug fixes.\n\nV2: convert preprocessor flag to constant [chrisforbes]\n\nChange-Id: Ic41360e42561a822d51e1d7fc3172c76c12e5bde\n"
    },
    {
      "commit": "2452cf7e653c425191791a4fb546106d6a277654",
      "tree": "2f4179fb3a35dcdb1a7e4366324c8b14cd4a19b1",
      "parents": [
        "e2d3ee180a2521c8db03a9702cb2669735f239ac"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Thu Mar 16 16:30:17 2017 +1300"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Mar 16 10:49:13 2017 -0700"
      },
      "message": "vulkan: Implement KHR_get_surface_capabilities2\n\nImplemented by forwarding to the KHR_surface equivalents. This requires\na bit of rejigging in the case of GetPhysicalDeviceSurfaceFormats2KHR\nto deal with the stride difference.\n\nChange-Id: I0f1cc83cfc885955a39fc02d4a15609e83d36798\nTest: dEQP-VK.wsi.android.surface.*2\n"
    },
    {
      "commit": "cc9a304d511ae862c88a1ce5411766e269654114",
      "tree": "1b789e569218fb030a01fa96c8cc6a8f8c3fa753",
      "parents": [
        "b65dbd5f5955453f12b41c3235456707233da302"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Mon Mar 06 16:37:20 2017 -0700"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Mon Mar 06 18:25:28 2017 -0700"
      },
      "message": "Disable HDR extension for now\n\nTest: adb shell vkinfo\nTest: Should not see VK_EXT_hdr_metadata in extension list.\n\nbug: 36007564\n\nChange-Id: I96a365d75ddec75856af2fda834d3a4f8368ebb0\n"
    },
    {
      "commit": "e278daf850a664a1f15c760c64a74d3649b6f812",
      "tree": "efc3db5b437eccecdfe0d32d1da8fd4144f57bea",
      "parents": [
        "c5b97c5b5610b2fe6186f599798c97250bb01b95"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Thu Feb 02 16:54:57 2017 -0700"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Fri Mar 03 10:22:44 2017 -0700"
      },
      "message": "Use Surface::GetWideColorSupport in VK_EXT_swapchain_colorspace\n\nUse the newly added Surface::GetWideColorSupport to\nadd wide color SurfaceFormats when appropriate.\n\nTest: compile Vulkan CTS test TBD\nChange-Id: I85dbe9617b8eba8b89c3ad788d5ffc9f0d66f935\n"
    },
    {
      "commit": "fa25e630f3d658da685e8e0dc8c3e6b7510145fa",
      "tree": "9b35fa7e842668e45dd4d756f1ec58d42f6918da",
      "parents": [
        "6aa30db7a9bbe06b59fddd554d797c6e466ca891"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Wed Feb 22 12:36:02 2017 +1300"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Mon Feb 27 09:26:29 2017 +1300"
      },
      "message": "vulkan: Conditionally enumerate KHR_shared_presentable_image\n\nThis requires:\n- GPDP2 present and enabled\n- ANDROID_native_buffer V7 implemented\n- Driver supporting at least one shared presentation mode\n\nThis unpicks the weird case of the hal having to expose the\nextension while the api surface was all implemented in the\nloader.\n\nV3: Single flag\n\nChange-Id: I336af1a9d2549b74631c7a93a2c3e0e1469a9622\nTest: build\n"
    },
    {
      "commit": "6aa30db7a9bbe06b59fddd554d797c6e466ca891",
      "tree": "84e9e1b37c216c9cbab58a3e5fa578a4398fb43b",
      "parents": [
        "1d4e5540773b6c1fd0ac735c85c8b83a80891d4f"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Mon Feb 20 17:12:53 2017 +1300"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Mon Feb 27 09:26:29 2017 +1300"
      },
      "message": "vulkan: Split known/intercepted extension lists\n\nWe need to do some work in the loader based on whether gpdp2 is present\nand enabled, and we\u0027d like to /not/ filter gpdp2 out of extension lists.\n\nHowever, we don\u0027t need or want to generate full forwarding stubs.\n\nAll extensions in driver.KnownExtensions will have enums and matching\ninfrastructure generated, but only extensions in\ndriver.InterceptedExtensions will have g_hook_procs populated for their\nentrypoints.\n\nV3: Define driver.KnownExtensions in terms of\ndriver.InterceptedExtensions as always a superset.\n\nChange-Id: If0fdabad99fa4637d7c6fc1e9a7e5e3908b53aca\nTest: build\n"
    },
    {
      "commit": "d634c483bcbd564acd81dcf5d15fc5fa8ab410f4",
      "tree": "dbe43e46804574b4eb220006e179c754ccf24edc",
      "parents": [
        "0814c36bfd223a10a13730841915db34c74c4ec9"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Thu Jan 05 15:55:31 2017 -0700"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Thu Feb 16 18:05:00 2017 -0700"
      },
      "message": "Add HDR Metadata extension\n\nBasic framework to support HDR Metadata extension. Will\nadd system plumbing in separate CL.\n\nTest: CTS dEQP-VK.wsi.android.hdr_metadata.scale_none.fifo.*\nChange-Id: I5de639ef87a988e02d194a2bd91d16ffe6102c6e\n"
    },
    {
      "commit": "fe8543b0b5231e45bd435efcd8184745fe91d021",
      "tree": "81c868a6ccfb75dcc1a3488f6b56cca3f7cae4a1",
      "parents": [
        "15b1cb2e57435514b4810f27e5ee01a2e480b338"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Feb 15 20:12:11 2017 +0000"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Wed Feb 15 20:12:11 2017 +0000"
      },
      "message": "Revert \"Temporarily disable enumeration of VK_KHR_incremental_present\"\n\nThis reverts commit 15b1cb2e57435514b4810f27e5ee01a2e480b338.\n\nChange-Id: Ia4d6a75a6fc71107145e7273e891e1efb0f3eb9a\n"
    },
    {
      "commit": "15b1cb2e57435514b4810f27e5ee01a2e480b338",
      "tree": "08292809830db03abc1db1ff4409a5cad4a78b03",
      "parents": [
        "7bd8adbb2dd02cf07626d27fcd32ae305a35e3ee"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon Feb 13 16:27:02 2017 -0700"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon Feb 13 16:42:28 2017 -0700"
      },
      "message": "Temporarily disable enumeration of VK_KHR_incremental_present\n\nTest: Ran the instrumented cube demo, which showed the extension not\nenumerated.\n\nSince the extension is not yet ratified, we can\u0027t enable it in the\nupcoming DP1 release.\n\nChange-Id: I8234c2d9510a0d31c309fb2c25fe6126fb021a59\n"
    },
    {
      "commit": "85bb0c5a57be2b456079c14448127fa9bb8cff66",
      "tree": "29601a0f446505bd0363df401d45c9a96dfe8504",
      "parents": [
        "d1abd7456e10f46200a90e8a0e5a1a8bef0a388a"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 09 22:13:02 2017 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Feb 10 10:33:09 2017 -0800"
      },
      "message": "vulkan: Temporarily hack around loader/driver mismatch\n\nA driver was built with an older declaration of\nvkGetSwapchainGrallocUsage2KHR, and doesn\u0027t match what libvulkan\nexpects. This is a temporary workaround until the driver can be\nrebuilt against the current header. When a new driver is available,\nthis change should be reverted.\n\nTest: vulkanGears on affected device\nChange-Id: I5a8bb16f0f9563e32314cff2a2a7a45760cfc356\n"
    },
    {
      "commit": "d827791bd6c5847e1ef3344a8c2f158ce3f821b8",
      "tree": "a0047f337ce57406b377aa88c987277307c60eb9",
      "parents": [
        "5c0a87e5a2cba5c1b199e77f3a42e931e706569b"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Fri Feb 10 14:59:59 2017 +1300"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Feb 09 19:25:23 2017 -0800"
      },
      "message": "vulkan: Tolerate missing GetSwapchainGrallocUsageANDROID function\n\nSome drivers implementing ANDROID_native_buffer V6 have /removed/ the\nold function. We shouldn\u0027t really mind if they do that -- we\u0027re never\ngoing to call it anyway if they do expose the new\nGetSwapchainGrallocUsage2ANDROID function.\n\nV2: Fail at CreateDevice-time if neither function is exposed.\n\nChange-Id: Id1e3dd5e2e71a9291dd610e908f9906acaaf0ad0\nRelated bugs: b/34177594\nTest: build\n"
    },
    {
      "commit": "991d2545afb325a3ebb8679519c4b0c13e29fada",
      "tree": "15db8d0c85d7b15cd0579ffadfe0381ff9310279",
      "parents": [
        "39fe1d879cc2e55d4d3c3f7445977c674b97c472"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 06 13:51:32 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 07 02:54:45 2017 +0000"
      },
      "message": "move GraphicEnv from libgui to libui\n\nThis breaks a circular dependency between libEGL\nand libgui.\n\nTest: compiled and booted a device\nChange-Id: I78932bba07fb9ef310d8e1622bd3a47f57e89c45\n"
    },
    {
      "commit": "50e6754563d089678f6baa443760b202d527880f",
      "tree": "ded0cfa02e9d10e1e1f1e668a282c33c69da71af",
      "parents": [
        "26191364e457a50af0c891a2a3a32a0b5594923d",
        "9e85373f51e3c06bdd0011366942862b47636c58"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Feb 03 20:41:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 03 20:41:18 2017 +0000"
      },
      "message": "Merge \"Hook the VK_KHR_incremental_present extension\""
    },
    {
      "commit": "9e85373f51e3c06bdd0011366942862b47636c58",
      "tree": "daa3c6e9241a42b4d00f887ac4b40c99a3e9f118",
      "parents": [
        "87162c12db72de81628f6933e9e0cb7a4ee9eb36"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Feb 03 11:24:07 2017 -0700"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Fri Feb 03 11:24:45 2017 -0700"
      },
      "message": "Hook the VK_KHR_incremental_present extension\n\nTest: Ran the CTS tests\n\nSmall oversight when first implemented.\n\nChange-Id: I9d4804aea3c986c49d69bc1f56b81127553f7863\n"
    },
    {
      "commit": "1d5f68c10560a82fd3278e17e934ee3bff328374",
      "tree": "65896b2de520a1a59fc07e47e1a883e91bcde986",
      "parents": [
        "87162c12db72de81628f6933e9e0cb7a4ee9eb36"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue Jan 31 10:17:01 2017 +1300"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue Jan 31 10:52:35 2017 +1300"
      },
      "message": "vulkan: KHR_swapchain_front_buffered -\u003e KHR_shared_presentable_image\n\nTracking Khronos naming churn\nV2: More churn, no longer shared_image_swapchain.\n\nTest: build\nChange-Id: I88b11b47f2fd2f96e1f27f900a65b599aec470af\n"
    },
    {
      "commit": "4a832c7268938f97deaa8ac6f198d88f69d80005",
      "tree": "658c5626313f90f73af252942ea0d812c497d13f",
      "parents": [
        "e099ff592fd56d1ad84d7b628fb95612aec203b7"
      ],
      "author": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue Jan 24 10:16:48 2017 +1300"
      },
      "committer": {
        "name": "Chris Forbes",
        "email": "chrisforbes@google.com",
        "time": "Tue Jan 24 10:16:48 2017 +1300"
      },
      "message": "vulkan: Allow HAL to expose KHR_swapchain_front_buffered\n\nAll the API surface for this is in libvulkan, but we need the driver to\nhave opted in to the more relaxed rules wrt which image layouts may\nappear where.\n\nTest: build\nChange-Id: I9f1b3cf3df84d928a8b216180a5798bb1bfb046d\n"
    },
    {
      "commit": "84b9bc0e98511fb707edb27ff0c7e885db881a7e",
      "tree": "e327b82c99a86c4899ae683f50f5a50b59add4e0",
      "parents": [
        "65344c8c20faf7544ad8323b3361108bd8d4a9d1",
        "8a977261a012b0b02c062ac4a5a133f79ef74b62"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Jan 19 17:38:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 17:38:09 2017 +0000"
      },
      "message": "Merge \"Enumerate initial version of VK_GOOGLE_display_timing\""
    },
    {
      "commit": "8a977261a012b0b02c062ac4a5a133f79ef74b62",
      "tree": "01b9602e4940c091676c8aca7703c508b9033ab3",
      "parents": [
        "cd89857b19da616e9a98eed755b8218e74df2c1a"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Jan 19 09:05:58 2017 -0700"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Thu Jan 19 09:05:58 2017 -0700"
      },
      "message": "Enumerate initial version of VK_GOOGLE_display_timing\n\nThe implementation seems correct with the exception that it is not obtaining\nthe refresh durations from SurfaceFlinger/HAL.  A maximum of 10 TimingInfo\u0027s\n(containing the timing for previous presents) are stored, and timestamps are\nonly queried from SurfaceFlinger for presents (a.k.a. frames) that occured 5\npresents/frames ago.\n\nTest: Manually tested with a modified cube demo, that changes its timing as a\nresult of the data returned from this extension.\n\nChange-Id: I199614ed58877b64eab2568a76ba517acca3bf87\n"
    },
    {
      "commit": "53457dbae92cb6fb12fac06cf0e874ff3c49528d",
      "tree": "82cd394ce952fa70fe347c99a1755ba6d8c7504b",
      "parents": [
        "90b25ed559f3d04777dbbc195ad5c95287990bf7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Dec 14 16:54:06 2016 -0800"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jan 16 21:11:07 2017 -0800"
      },
      "message": "Load updated drivers using derived loader namespace\n\nBug: 33531483\nTest: Launch vulkan apps w/ and w/o updated driver package\nChange-Id: Ia73e1e33b637d6ffd96ea0480ed6d85b9f68dce3\n"
    },
    {
      "commit": "e0ea99cc4ba89452b9b6b1baa33bddcb11f3351a",
      "tree": "1c90d7dda6cbd815a854cd35432d43064d2e1daa",
      "parents": [
        "ba4d92cc90b5d2a902e898211f04311a0ae2493b",
        "a2c2d11f98b692401be56c8f285c570bae47ddda"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 08:35:35 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jan 12 08:36:11 2017 -0800"
      },
      "message": "resolve merge conflicts of a2c2d11f9 to master\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: I84d0ffa430df3beca0dcc6ed205ce220d7be1f87\n"
    },
    {
      "commit": "7823e124e00576e20e47ec717cbe8bc89f0f2bf2",
      "tree": "b0d7ec03dfc3d58408a9616b7125a77a4ca4439c",
      "parents": [
        "5cfc1c0546d797ebca9bdc3645585e33cc0c1193"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:08:05 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 15:07:17 2017 -0800"
      },
      "message": "Replace cutils/log.h and rationalize log/log.h and android/log.h\n\n- cutils/log.h treat as deprecated and lead by example\n- android/log.h to be used instead of log/log.h if possible\n- add system includes that are assumed as side effects\n- define LOG_TAG first\n\nTest: compile\nBug: 31289077\nBug: 30465923\nChange-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd\n"
    },
    {
      "commit": "d4b50aae0ba481812a6f8d84da7f60893b55504b",
      "tree": "2523e5cde9e32248c0189220e09ebe42fd356dd9",
      "parents": [
        "83756055ff9d897621bf61883c212e3b96b342de"
      ],
      "author": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon Jan 09 16:21:36 2017 -0700"
      },
      "committer": {
        "name": "Ian Elliott",
        "email": "ianelliott@google.com",
        "time": "Mon Jan 09 16:23:09 2017 -0700"
      },
      "message": "Start enumerating support for VK_KHR_incremental_present.\n\nTest: Manually tested with a modified cube demo, that now reports the extension\npresent.\n\nChange-Id: I828abd4351b8106708c7b5e83988347764fd0fa9\n"
    },
    {
      "commit": "dc22507e6fd6659c886aa1218f7681fd43b74598",
      "tree": "06b81076339fd893ed7b314e441437ef1bfe86a8",
      "parents": [
        "a101f6a446722697e0ed6afb128829937b90d60a"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon May 30 22:40:14 2016 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Thu Jun 02 10:47:04 2016 -0700"
      },
      "message": "libvulkan: Slightly better handling of swapchain re-creation\n\nPreviously we would fail vkCreateSwapchainKHR if\nVkSwapchainCreateInfo::oldSwapchain was used, because we were unable\nto dequeue all buffers for the new swapchain from an already-used\nnative window.\n\nNow we disconnect and re-connect to the native window in order to\nfully reset state, and allow us to dequeue all buffers. Additionally,\nwe tag the old swapchain as out-of-date, so future image acquires and\npresents will fail with VK_ERROR_OUT_OF_DATE_KHR on that swapchain.\nThis is less than ideal, but better than what we had, and the best we\nhave time to do for N.\n\nBug: 26927424\nChange-Id: Ifaa5048376f72a63ecb1dca3d1ff85dbee2c24d0\n"
    },
    {
      "commit": "319382517afe913285df5bbf76a8a484e6adfbd0",
      "tree": "9d14ec5b241174a9c513559db26b01c6c1afd1df",
      "parents": [
        "31b2e4f01d31aae107340cbc4221b8d49fb42767"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon May 23 15:31:02 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue May 24 07:53:18 2016 +0800"
      },
      "message": "vulkan: advertise VK_EXT_debug_report\n\nWe use VK_EXT_debug_report to report most messages and we should always\nadvertise the extension.  This is complicated however because the HAL may\nalso advertise the extension.\n\nDo the minimal and cache whether the HAL supports VK_EXT_debug_report in\nclass Hal.  More refactorings will be required if we want to be more\nflexible.\n\nBug: 28753291\nChange-Id: I0298b2c3024e2ed059411128dbbe264c0b289a4b\n"
    },
    {
      "commit": "31b2e4f01d31aae107340cbc4221b8d49fb42767",
      "tree": "f514178d0196f29030b0604b9c434ae0a5612e98",
      "parents": [
        "e6759c3d886491f01dd2295f71d22609b3b9b259"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon May 23 10:47:57 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue May 24 07:53:16 2016 +0800"
      },
      "message": "vulkan: add a wrapper for hwvulkan_device_t\n\nAdd class Hal as a wrapper for hwvulkan_device_t.\n\nBug: 28753291\nChange-Id: I9612ee5515c7f2266cfc1ef0c8583fa98c82dd86\n"
    },
    {
      "commit": "e201c3f782f0d3e2ec508fb8093e506145614c06",
      "tree": "ab914c1d868daebeb2506994c9aa2676c0fbdb9a",
      "parents": [
        "a4a0555a168efd2e93f6d8b63de7cdc7aeb61a11"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue May 03 13:26:08 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri May 06 09:46:47 2016 +0800"
      },
      "message": "vulkan: improve vulkan::driver logcat messages\n\nMake it clear the errors are generated from internal vkGet*ProcAddr calls.\nLog a message whenever stubhal is used.\n\nBug: 28120066\nChange-Id: Iabf88757c3cb20b7ddcbe3c1d201f3d23dd3ed0b\n"
    },
    {
      "commit": "950d6e1102077d6a3905eb77268800002e792fb0",
      "tree": "6fde059d983b1168f38ffce4903926ee2d6ba7f3",
      "parents": [
        "2e6736699471dbe7ec185667240089dcbccdd9bd"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue May 03 09:12:35 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri May 06 09:31:36 2016 +0800"
      },
      "message": "vulkan: make debug report callbacks available in DeviceData\n\nThis allows device commands to send messages to debug report.\n\nBug: 28120066\nChange-Id: I43d217fc23799b06fd3fda73e1876d8773c723fc\n"
    },
    {
      "commit": "109f8985ceaf746fd04b6fe81be238b3865062b7",
      "tree": "2d88eb6c6f9a731a9c9e5abbbbc1c879f84e9da6",
      "parents": [
        "dcad39536dda5fc88aa3ae588f535fb3edee8c62"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Apr 22 06:40:40 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Apr 22 06:44:28 2016 +0800"
      },
      "message": "vulkan: silence a warning when layers are enabled\n\nLayers always do\n\n  vkGetInstanceProcAddr(VK_NULL_HANDLE, \"vkCreateDevice\")\n\nand we should not log an error.\n\nChange-Id: Ifeba21da73d982775edc4e6a91ce0f0f5eab191d\n"
    },
    {
      "commit": "36cc00a1739f7d926cc20671ae9900a5460dd6ae",
      "tree": "ab92d7849bd5bb5b1a21b974c5a9f3b659a0fa15",
      "parents": [
        "8925efd0a87d96885834a00f3bdef220edf6d8ea"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Apr 13 16:52:06 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 14 08:43:04 2016 +0800"
      },
      "message": "vulkan: fix vkGet*ProcAddr for un-enabled extensions\n\nvulkan::api::InitDispatchTable no longer queries for non-enabled WSI\nfunctions.  We could now return NULL instead of ProcHook::disabled_proc.\nThis also matches what the spec says.\n\nBug: 28173232\nChange-Id: I05c45303025d25e49f75c18a912fc4cc2b13979f\n"
    },
    {
      "commit": "cbe07ef239121dc99a31a19b9593d76d76abb08b",
      "tree": "5d029198e2b436fe883d3b441cdec3721f26a410",
      "parents": [
        "a0a4e0ee2c4e4c2b186c180ba0970931e24c1d66"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Apr 13 15:01:00 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 14 08:43:04 2016 +0800"
      },
      "message": "vulkan: pass hal_extensions to InitDriverTable\n\nWe only need hal_extensions to initialize the driver tables.  There is no\nneed to save it in driver::{Instance,Device}Data.\n\nChange-Id: I56ebc0ee9c5bc5e543e7a84412b03b842bd8ced5\n"
    },
    {
      "commit": "1600e269dbf9f2cd818886c55b3e0933dfec7a86",
      "tree": "d9d40214fbe92390c6260f9eacfd548859a2d975",
      "parents": [
        "9ffa1a4da16edc23067070f5605917ddd57739e8"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue Apr 12 09:40:06 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Tue Apr 12 10:07:21 2016 +0800"
      },
      "message": "vulkan: fix support for unknown extensions\n\nNever set the bit ProcHook::EXTENSION_UNKNOWN, otherwise std::out_of_range\nwill be thrown.\n\nChange-Id: I0a1343079647162bf17494acaaa69f1fa26b72f8\n"
    },
    {
      "commit": "b7c4e3b7c97c952ba26f061d74d2038e6c94e689",
      "tree": "fdb4b94bda45b6243580ffec972dbe179e212abc",
      "parents": [
        "2b97c063bae8446f2b539e663590399ff0251de8"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Apr 11 13:51:38 2016 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Apr 11 15:51:57 2016 -0700"
      },
      "message": "libvulkan: Use a stub HAL when no real Vulkan HAL is present\n\nThis stub HAL enumerates zero VkPhysicalDevices. This allows a\nVkInstane to be created and queried for physical devices successfully\neven on devices without a Vulkan driver. Handling this with a stub HAL\navoids the need for NULL HAL and NULL driver function pointer checks\nin many places throughout the loader, which would be more error-prone.\n\nFixes bug: 28100673\nChange-Id: I76bea975929a85eda354730d6c815567b412b160\n"
    },
    {
      "commit": "3e6c2d6889d9c1bc7eb4dbd9774d861c18a21a80",
      "tree": "5b56742eb12a7484aabe47ec9314a84e71e392ae",
      "parents": [
        "eef27fa3a0c7d153603b7fd69849fee73a07af5b"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 13:55:56 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 13:59:38 2016 +0800"
      },
      "message": "vulkan: use CamelCase() for CreateInfoWrapper\n\nChange-Id: I33360e15dd0bfb038235d7600587d39d50cea0a8\n"
    },
    {
      "commit": "4a6a91647c57abb5c06cde57c57afe944f8cefa4",
      "tree": "83a5631087f183cdf732a2f609f3d7fa922bf592",
      "parents": [
        "622622377a1ac71a81a88e335f170c4a08835f06"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Sat Mar 26 07:17:34 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 07:37:20 2016 +0800"
      },
      "message": "vulkan: use driver::GetData everywhere\n\nMove away from the one-liners defined in loader.cpp.\n\nChange-Id: I73c39cbe21aa3b2079f67590bb40f0cd55563f84\n"
    },
    {
      "commit": "ff4a6c772aaf3ff0b71348647330031a059b1f51",
      "tree": "103d1d941d6b7a8141e38a5775d5255263b5dfd6",
      "parents": [
        "01cf305325f3789c573d7eff435e409f04677c66"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 16:05:56 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 07:37:19 2016 +0800"
      },
      "message": "vulkan: rework CreateInstance_Bottom and related ones\n\nThe reworked driver::CreateInstance will\n\n - call HAL\u0027s EnumerateInstanceExtensionProperties and filter out\n   extensions unknown to HAL, if there is any extension enabled.\n\nWe do not expect or enumerate any HAL layer yet as that requires some\nworks to layers_extensions.cpp.\n\nThe reworked driver::EnumerateInstanceExtensionProperties instead will\nreturn all extensions enumerated by HAL, after prepending VK_KHR_surface\nand VK_KHR_android_surface to them.  This allows extensions unknown to the\nloader to be enumerated.\n\nChange-Id: I73b496582a773e06c7b79f0c5c166700737f2953\n"
    },
    {
      "commit": "01cf305325f3789c573d7eff435e409f04677c66",
      "tree": "c7aa635840bffb8096791a2e838cd6cf1e888d42",
      "parents": [
        "4901db70b12801cf1966937a58eb7566bfdeb4ce"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 16:16:21 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 07:37:19 2016 +0800"
      },
      "message": "vulkan: rework EnumerateDeviceExtensionProperties_Bottom\n\nThe reworked driver::EnumerateDeviceExtensionProperties will simply return\nall extensions enumerated by HAL, with VK_ANDROID_native_buffer replaced\nby VK_KHR_swapchain.  This allows extensions unknown to the loader to be\nenumerated.\n\nChange-Id: Iceed8ee3f16a968d005ae3ba42f1bd1839c2ab9f\n"
    },
    {
      "commit": "4901db70b12801cf1966937a58eb7566bfdeb4ce",
      "tree": "e3d9e89722db03ee8a97f5ec536edeac74ff973b",
      "parents": [
        "6a58a8a7813450038cb15575e3333b83f268c972"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 16:38:58 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Apr 11 07:37:19 2016 +0800"
      },
      "message": "vulkan: rework {Create,Destroy}Device_Bottom\n\nThe reworked driver::CreateDevice will\n\n - use the providied pAllocator,\n - call HAL\u0027s EnumerateDeviceExtensionProperties and filter out extensions\n   unknown to HAL, if there is any extension enabled.\n\nWe do not expect or enumerate any HAL layer yet as that requires some\nworks to layers_extensions.cpp.\n\nChange-Id: I3ba4019d18dfed994d7037d95825bf54096f2a5d\n"
    },
    {
      "commit": "6a58a8a7813450038cb15575e3333b83f268c972",
      "tree": "ad6fadd874b389606f387d76e4b845997af2bedc",
      "parents": [
        "ba0be41afe39dcbed0a712a32d1ab6c341797007"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 16:29:51 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:04 2016 +0800"
      },
      "message": "vulkan: move AllocateCommandBuffers_Bottom\n\nMove it from loader.cpp to driver.cpp and rename it to\ndriver::AllocateCommandBuffers.  No functional change.\n\nChange-Id: I0abdca7dea128df0b313b90cfb5d5825566fc790\n"
    },
    {
      "commit": "ba0be41afe39dcbed0a712a32d1ab6c341797007",
      "tree": "d47694e68fda562e143727f811734f95d8c93412",
      "parents": [
        "cc5e2765a9d56b03b69d0c3f25b94721f82d034e"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 16:24:40 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: move GetDeviceQueue_Bottom\n\nMove it from loader.cpp to driver.cpp and rename it to\ndriver::GetDeviceQueue.  No functional change.\n\nChange-Id: Ide8ebe044e62b8ef6fc64ac03dcc1d920f5bf9a6\n"
    },
    {
      "commit": "cc5e2765a9d56b03b69d0c3f25b94721f82d034e",
      "tree": "27a163cd7cb9480ea30872616a9f1044799932e7",
      "parents": [
        "eb7db124e46da9a9210cf868353f5ea79502ffec"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 13:01:16 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: rework DriverDispatchTable\n\nGenerate {Instance,Device}DriverTable from code-generator.tmpl to replace\ndispatch.tmpl entirely.  The new code avoids initializing\nVK_ANDROID_native_buffer entries when the extension is not enabled.  The\nseparation of instance and device driver tables also allows us to\ninitialize the device driver table with vkGetDeviceProcAddr, which is\nexpected to return more efficient function pointers on properly\nimplemented HALs.\n\nCreateInstance_Bottom always has a potential resource leak when the\nHAL-created instance does not contain HWVULKAN_DISPATCH_MAGIC.\nCreateDevice_Bottom now has the same issue.  Both of them will be fixed in\nfollowing commits.\n\nChange-Id: If7800ef23098121f1fff643a2c5224c2c9be0711\n"
    },
    {
      "commit": "eb7db124e46da9a9210cf868353f5ea79502ffec",
      "tree": "58801422f306957db776bcaa000e648ce7b6bd82",
      "parents": [
        "b262ddcfaba592ca153beddb120aeb68b64e6e63"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 09:11:06 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: rework driver::Get*ProcAddr\n\nIntroduce driver::ProcHook which is a struct to describe an intercepted\nfunction.  Given a function name, GetProcHook returns a ProcHook if the\nfunction is intercepted.  NULL otherwise.\n\nA ProcHook has three function pointers.  ProcHook::proc points to the real\nintercepting function.  ProcHook::disabled_proc points to a no-op function\nthat logs an error.  ProcHook::checked_proc points to a trampoline that\ncalls either ProcHook::proc or ProcHook::disabled_proc.\n\nFor core functions, driver::Get*ProcAddr simply return ProcHook::proc.\nFor extension functions, driver::Get*ProcAddr return ProcHook::proc when\nthe extension is known to be enabled.  They return ProcHook::disabled_proc\nwhen the extension is known to be disabled.  Finally, they return\nProcHook::checked_proc when they do not know if the extension is enabled\nor not.\n\nAll ProcHooks as well as their disabled_proc/checked_proc are generated in\ndriver_gen.cpp.  This allows us to get rid of all hand-written \"_Disabled\"\nfunctions, all no-op \"_Bottom\" functions, and special cases for\nVK_ANDROID_native_buffer.  The reworked driver::Get*ProcAddr also detects\nmore applications\u0027 errors and logs them.\n\nChange-Id: I8e6f476f450688b5547fd75243c66cb603c516b5\n"
    },
    {
      "commit": "dbb7e9c8f950ad344eee22cc50acc67253f9f4b1",
      "tree": "250d04c0dae89732161139b83a0f9ba8c07dc389",
      "parents": [
        "136b8eb38e98d96009799eee59d4ea0088544b54"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 15:09:38 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: move driver::GetDefaultAllocator\n\nMove it from loader.cpp to driver.cpp.  No functional change.\n\nChange-Id: I8c9bb5315c29ff69bfd971ac8e1264fb8329a811\n"
    },
    {
      "commit": "136b8eb38e98d96009799eee59d4ea0088544b54",
      "tree": "7fc308d253205213d5df8610a713189274ddc4b6",
      "parents": [
        "9d51816145b008b7b4b091a8c90faf30ba0394e4"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 15:01:52 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: move driver::OpenHAL\n\nMove it from loader.cpp to driver.cpp.  HAL loading is now done in\ndriver.cpp while HAL extension queries are still done in loader.cpp.\n\nChange-Id: I15d7ead98497adacb1bd798522f057ff6bf16909\n"
    },
    {
      "commit": "9d51816145b008b7b4b091a8c90faf30ba0394e4",
      "tree": "070798bd5a6d795c8c9d948e5478be2871c5f0a6",
      "parents": [
        "79632ee48a8cddf31a1ec15c0c5217b3d3608622"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Mar 24 14:55:27 2016 +0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Apr 07 21:15:03 2016 +0800"
      },
      "message": "vulkan: move driver::Debuggable\n\nMove it from loader.cpp to driver.cpp.  No functional change.\n\nChange-Id: I455e798d6001f9719d378ae0295f2b4b181b0c09\n"
    }
  ]
}
