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
|