History log of /frameworks/native/vulkan/nulldrv/null_driver_gen.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f25f5bb3eb1ee3e7a3c33b5e44143ad296245f3f 05-Oct-2017 Daniel Koch <dkoch@nvidia.com> Vulkan api update to 1.1

Import Vulkan 1.1 header from
khronos master@5b2d66c0e6906388385ed7adfd015d80ec0d846a
with the following modifications:
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES 10006300 -> 1000063000
- remove VK_KHR_get_display_properties2 (which is not ratified)
- device_group interactions from KHR_surface to KHR_swapchain (per MR 2409)

Summary of changes since 1.0.61:
* VK_KHR_surface -> v26 (subsumed interactions with VK_KHR_device_group)
* VK_KHR_swapchain -> v69 (subsumed interactions with VK_KHR_device_group)
* VK_EXT_debug_report -> v9 (no api changes)
* VK_KHX_multiview -> VK_KHR_multiview
* VK_KHX_device_group -> VK_KHR_device_group
* VK_KHX_device_group_creation -> VK_KHR_device_group_creation
* VK_KHR_push_descriptor -> v2
* Added VK_KHR_maintenance3
* Added 1.1 core enums, structs, and functions (kept KHR suffixed ones too)

Implemented the following in libvulkan:
* EnumerateInstanceVersion
* GetDeviceGroupPresentCapabilitiesKHR (minimal support for 1 device)
* GetDeviceGroupSurfacePresentModesKHR (minimal support for local present modes only)
* GetPhysicalDevicePresentRectanglesKHR (assumes whole window)
* AcquireNextImage2KHR (minimal thunk to AcquireNextImageKHR)
* GetDeviceQueue2
* added support for VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR
* support for 1.1 core device_groups functionality (no VK_KHR_device_group_creation)
- EnumeratePhysicalDeviceGroups
* added trampolines for 1.1 core entry points
* disabled apiVersion >= 1.1 check

Implemented in nulldrv (but largely untested beyond build/link)
* EnumerateInstanceVersion
* enough empty thunks for VK 1.1 core functions that it links

Test: Build Android
Change-Id: I247cd670543867bdf80877156d941cf3bfcf6303
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
ad250840766ea76def08c0d9f0b04a09c32dab79 11-Mar-2017 Jesse Hall <jessehall@google.com> vulkan: update Vulkan headers to 1.0.42

Test: mmm frameworks/native/vulkan
Change-Id: I9c41b483fbf48a7404b54bfe405c40b58422ea74
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
d1abd7456e10f46200a90e8a0e5a1a8bef0a388a 10-Feb-2017 Jesse Hall <jessehall@google.com> vulkan: Add gralloc1 usage to VK_ANDROID_native_buffer

Replaces the gralloc0-style 'int' usage in
vkGetSwapchainGrallocUsage2ANDROID and VkNativeBufferANDROID with a
gralloc1-style pair of uint64_t usages. A later change will plumb this
to and from ANativeWindow; for now we just collapse and expand from
32-bit usage.

Test: vulkanGears
Change-Id: I4555ba9d6ca1d15ed0791dc0bda01a1443890d02
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
86bdfbe19ecb9c95236c401225631fe17c8ea04f 25-Jan-2017 Chris Forbes <chrisforbes@google.com> vulkan: Stub/forwarding implementation of gpdp2 in nulldrv

Implements gpdp2 in terms of the core 1.0 functions. This is just
enough to be able to demonstrate CTS against gpdp2, and shake out
any bad loader interactions.

Where we hadn't bothered to implement the core function in nulldrv,
don't do it for gpdp2 equivalent either.

Test: dEQP-VK.api.info.get_physical_device_properties2 etc
Change-Id: I04ac05a01a67c6e03bd1a569701b046cf86877e9
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
8e4438b9cd82e911ed8de6aca15f11816187df3f 07-Dec-2016 Chris Forbes <chrisforbes@google.com> frontbuffer enhancements to ANDROID_vulkan_native_buffer

Since VK_KHR_swapchain is implemented entirely in libvulkan, we need an
image-level mechanism to inform the driver that a swapchain image will
be used for front-buffered rendering. This is implemented by chaining
another structure off of the VkImageCreateInfo passed to the driver when
creating swapchain images.

V2: Don't foul up api file. Rerun code generators.
V3: Rename VkNativeBuffer2ANDROID structure to
VkSwapchainImageCreateInfoANDROID
V4: Provide nulldrv stub for new function
V5: rebase.

Change-Id: I4447400cb1782440638e4c8816b081dd8923ddb9
Test: compile
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
56d386a7a46c8ac36df8820c3ccf3da048ef1970 27-Jul-2016 Jesse Hall <jessehall@google.com> vulkan: Update Vulkan headers to 1.0.22

Meaningful changes to platform code:
* VKAPI_ATTR is now defined properly when building for 32-bit ARMv8a.
* The pData parameter to vkCmdUpdateBuffer changed from uint32_t* to
void*. Alignment is still required to be four bytes (by spec), and
the size parameter was always supposed to be bytes, not words.

Bug: 29460769
Change-Id: I224c53cb08427bea1b0e8ac74802c2f1eed10496
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
e2948d83f352b9a093252a06757f76a88f5355d3 25-Feb-2016 Jesse Hall <jessehall@google.com> vulkan: Update to vulkan.h 1.0.3

Change-Id: Ic607533768989aa65e41b9b0e459d7af170ab180
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
0a402094986739a2ce1942363370f8e097305933 01-Feb-2016 Jesse Hall <jessehall@google.com> vulkan: Document codegen instructions and code style

Change-Id: I7565506a866b72f4ce31ac6bdd3d97e357497ab0
(cherry picked from commit e0d27bb1f3671401c2f6d84a60111f5c695c97d3)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
715b86ac7d0853131b375ff786c87d8d87a762a1 17-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Support VK_EXT_debug_report in loader and nulldrv

* Add extension to vulkan.api.
* Fix a few errors in upstream vk_ext_debug_report.h; bugs filed.
* Loader enumerates extension iff the driver supports it.
- TODO: Also enumerate if any layers that support it are implicitly
enabled.
- Note extension may still be enabled if any layer supports it.
* Add loader bottom procs for the extension functions. These will call
through to the driver version if the driver supports the extension.
* Add no-op support to nulldrv, mostly for testing the loader.

Change-Id: I092d2da56ee4c64498f8edae75e0d995478bb6f2
(cherry picked from commit a5ef7c27bc85e3628814532a32ffb9a5c33c4b73)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
563380d389732337a84e7455caa01ec955ebee30 16-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Update to version 1.0.1

Change-Id: Ib5d538bbcdf61f96bcfc0270b0e461927dd0b15b
(cherry picked from commit bfdbddcaf74d05966cde0f260a3d7da5a5b2d591)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
275d76c8158c90ec5317b82cb10b094bca2b43cf 09-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Pass vkQueuePresentKHR wait semaphores to vkQueueSignalReleaseImageANDROID

Change-Id: I4073ced5e0e155d424699f636654ec226cd9d91c
(cherry picked from commit 69ce2beade5386111ef85382cc659a439a5a3b44)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
3dd678a6a30e2d94bfd570ec43ffd379e9c5d409 09-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.221.0 to 1.0!

Change-Id: I9453454cc47046ad9f64a72a812a4e5da694c223
(cherry picked from commit 3fc8ed14c5d6890348400bf3e6dab2870b3fbbc5)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
f9fa9a50d5e87dacce36ef2a56b392fc053cf8ce 09-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.210.1 to 0.213.0

Change-Id: I441a2ddf872298a5415b40299fc1143c879c5e86
(cherry picked from commit 842515ca8d8705627e3ce7c196405cac60707629)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h
1f91d390ac013ea2514a67e12ddb083119d636d7 12-Dec-2015 Jesse Hall <jessehall@google.com> vulkan: Implement new vkGet*ProcAddrBehavior

The primary goal of this change is to switch to the revised GPA
behavior:
- GIPA(NULL, ..) only works for non-dispatched (global) commands
- GIPA(instance, ..) returns functions for commands that dispatch on any
object type, and the function works for any object of the appropriate
type if it is a child of the instance.
- GDPA(NULL, ..) returns NULL.
- GDPA(device, ..) returns a device-specific function for the command.

This change refactors/tidies many of the things it modified. Some
notable changes:
- All the loader generated code is now in dispatch.tmpl ->
dispatch_gen.{h,cpp}, instead of two separate templates.
- Reorganization allowed generating the dispatch table structures,
eliminating one source of frequent bugs.
- Removes some error-prone macro duplication.
- Handling of extensions and special loader functions is now much
more uniform and hopefully clearer.
- Loader top- and bottom-level functions are now consistently named with
_Top and _Bottom suffixes, and are grouped by level in loader.cpp.
- The VkInstance and VkDevice implementations are no longer derived from
::VkInstance_T and ::VkDevice_T. Was more trouble than it was worth.
- Renamed 'vtbl' to 'dispatch' in most places.
- Renamed nulldrv template and generated files to match the loader
naming pattern: null_driver.tmpl -> null_driver_gen.{h,cpp}
- Now all the entry point prototypes are generated, instead of having
to be updated by hand (another source of several bugs).

Change-Id: Ic263f802d0d523b18a0f00420b3a722aa04ce299
(cherry picked from commit 3cffb8e837222f413a1fe53522e2cc33366b8eeb)
/frameworks/native/vulkan/nulldrv/null_driver_gen.h