2452cf7e653c425191791a4fb546106d6a277654 |
|
16-Mar-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: Implement KHR_get_surface_capabilities2 Implemented by forwarding to the KHR_surface equivalents. This requires a bit of rejigging in the case of GetPhysicalDeviceSurfaceFormats2KHR to deal with the stride difference. Change-Id: I0f1cc83cfc885955a39fc02d4a15609e83d36798 Test: dEQP-VK.wsi.android.surface.*2
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
e2d3ee180a2521c8db03a9702cb2669735f239ac |
|
16-Mar-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: Update header for KHR_get_surface_capabilities2 .. and new struct added to latest version of KHR_shared_presentable_image. Test: build Change-Id: I653d0d8ad384c256e9a5c4cb79554360a5b2606e
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
e278daf850a664a1f15c760c64a74d3649b6f812 |
|
03-Feb-2017 |
Courtney Goeltzenleuchter <courtneygo@google.com> |
Use Surface::GetWideColorSupport in VK_EXT_swapchain_colorspace Use the newly added Surface::GetWideColorSupport to add wide color SurfaceFormats when appropriate. Test: compile Vulkan CTS test TBD Change-Id: I85dbe9617b8eba8b89c3ad788d5ffc9f0d66f935
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
6aa30db7a9bbe06b59fddd554d797c6e466ca891 |
|
20-Feb-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: Split known/intercepted extension lists We need to do some work in the loader based on whether gpdp2 is present and enabled, and we'd like to /not/ filter gpdp2 out of extension lists. However, we don't need or want to generate full forwarding stubs. All extensions in driver.KnownExtensions will have enums and matching infrastructure generated, but only extensions in driver.InterceptedExtensions will have g_hook_procs populated for their entrypoints. V3: Define driver.KnownExtensions in terms of driver.InterceptedExtensions as always a superset. Change-Id: If0fdabad99fa4637d7c6fc1e9a7e5e3908b53aca Test: build
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
d634c483bcbd564acd81dcf5d15fc5fa8ab410f4 |
|
05-Jan-2017 |
Courtney Goeltzenleuchter <courtneygo@google.com> |
Add HDR Metadata extension Basic framework to support HDR Metadata extension. Will add system plumbing in separate CL. Test: CTS dEQP-VK.wsi.android.hdr_metadata.scale_none.fifo.* Change-Id: I5de639ef87a988e02d194a2bd91d16ffe6102c6e
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
85bb0c5a57be2b456079c14448127fa9bb8cff66 |
|
10-Feb-2017 |
Jesse Hall <jessehall@google.com> |
vulkan: Temporarily hack around loader/driver mismatch A driver was built with an older declaration of vkGetSwapchainGrallocUsage2KHR, and doesn't match what libvulkan expects. This is a temporary workaround until the driver can be rebuilt against the current header. When a new driver is available, this change should be reverted. Test: vulkanGears on affected device Change-Id: I5a8bb16f0f9563e32314cff2a2a7a45760cfc356
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
1d5f68c10560a82fd3278e17e934ee3bff328374 |
|
30-Jan-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: KHR_swapchain_front_buffered -> KHR_shared_presentable_image Tracking Khronos naming churn V2: More churn, no longer shared_image_swapchain. Test: build Change-Id: I88b11b47f2fd2f96e1f27f900a65b599aec470af
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
0f2ac2e52d06ed171f7b888870c1c3c42b167d1a |
|
18-Jan-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: Add function stub & plumbing for KHR_swapchain_front_buffered Test: build Change-Id: I6ea2e33e708067f11069bda19c4b5ea167158913
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
48853713e328ee23884d2127ca763352e0681944 |
|
12-Jan-2017 |
Chris Forbes <chrisforbes@google.com> |
vulkan: Fix vulkan.api for Ian's changes & regen Various problems: uint32_t vs u32, a dropped }, function body with semantics that crash the generator, etc ... V2: don't export Ian's extensions from libvulkan. Change-Id: I1dceb4d4fc21ad5d38255c4979d9ef372ea2a28b Test: build
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
4c8bb2a95d7849c79dea889f1be59281f4e374bf |
|
29-Dec-2016 |
Ian Elliott <ianelliott@google.com> |
Stubbed implementation of VK_GOOGLE_display_timing extension. This provides the header changes and most of the "boilerplate" changes to add the VK_GOOGLE_display_timing extension to Vulkan. Future changes will modify and integrate with the Surface, FrameEvents, and SurfaceFlinger code. Test: Manually tested that existing apps won't tickle the new-extension paths. Change-Id: Iec46b1cab4b2561702ebac9a4ae7587584793192
/frameworks/native/vulkan/libvulkan/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/libvulkan/driver_gen.h
|
dbd33bcca26a38d24a1ae25d894175ea9ad1033a |
|
02-Jun-2016 |
Chia-I Wu <olv@google.com> |
vulkan: remove EnumerateDeviceLayerProperties internally We never use it. Since it is also deprecated, we will never need it. Bug: 27910383 Change-Id: If4e556bb69890153be2987b165482e43ab06a890
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
36cc00a1739f7d926cc20671ae9900a5460dd6ae |
|
13-Apr-2016 |
Chia-I Wu <olv@google.com> |
vulkan: fix vkGet*ProcAddr for un-enabled extensions vulkan::api::InitDispatchTable no longer queries for non-enabled WSI functions. We could now return NULL instead of ProcHook::disabled_proc. This also matches what the spec says. Bug: 28173232 Change-Id: I05c45303025d25e49f75c18a912fc4cc2b13979f
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
cbe07ef239121dc99a31a19b9593d76d76abb08b |
|
13-Apr-2016 |
Chia-I Wu <olv@google.com> |
vulkan: pass hal_extensions to InitDriverTable We only need hal_extensions to initialize the driver tables. There is no need to save it in driver::{Instance,Device}Data. Change-Id: I56ebc0ee9c5bc5e543e7a84412b03b842bd8ced5
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
4901db70b12801cf1966937a58eb7566bfdeb4ce |
|
24-Mar-2016 |
Chia-I Wu <olv@google.com> |
vulkan: rework {Create,Destroy}Device_Bottom The reworked driver::CreateDevice will - use the providied pAllocator, - call HAL's EnumerateDeviceExtensionProperties and filter out extensions unknown to HAL, if there is any extension enabled. We do not expect or enumerate any HAL layer yet as that requires some works to layers_extensions.cpp. Change-Id: I3ba4019d18dfed994d7037d95825bf54096f2a5d
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
cc5e2765a9d56b03b69d0c3f25b94721f82d034e |
|
24-Mar-2016 |
Chia-I Wu <olv@google.com> |
vulkan: rework DriverDispatchTable Generate {Instance,Device}DriverTable from code-generator.tmpl to replace dispatch.tmpl entirely. The new code avoids initializing VK_ANDROID_native_buffer entries when the extension is not enabled. The separation of instance and device driver tables also allows us to initialize the device driver table with vkGetDeviceProcAddr, which is expected to return more efficient function pointers on properly implemented HALs. CreateInstance_Bottom always has a potential resource leak when the HAL-created instance does not contain HWVULKAN_DISPATCH_MAGIC. CreateDevice_Bottom now has the same issue. Both of them will be fixed in following commits. Change-Id: If7800ef23098121f1fff643a2c5224c2c9be0711
/frameworks/native/vulkan/libvulkan/driver_gen.h
|
eb7db124e46da9a9210cf868353f5ea79502ffec |
|
24-Mar-2016 |
Chia-I Wu <olv@google.com> |
vulkan: rework driver::Get*ProcAddr Introduce driver::ProcHook which is a struct to describe an intercepted function. Given a function name, GetProcHook returns a ProcHook if the function is intercepted. NULL otherwise. A ProcHook has three function pointers. ProcHook::proc points to the real intercepting function. ProcHook::disabled_proc points to a no-op function that logs an error. ProcHook::checked_proc points to a trampoline that calls either ProcHook::proc or ProcHook::disabled_proc. For core functions, driver::Get*ProcAddr simply return ProcHook::proc. For extension functions, driver::Get*ProcAddr return ProcHook::proc when the extension is known to be enabled. They return ProcHook::disabled_proc when the extension is known to be disabled. Finally, they return ProcHook::checked_proc when they do not know if the extension is enabled or not. All ProcHooks as well as their disabled_proc/checked_proc are generated in driver_gen.cpp. This allows us to get rid of all hand-written "_Disabled" functions, all no-op "_Bottom" functions, and special cases for VK_ANDROID_native_buffer. The reworked driver::Get*ProcAddr also detects more applications' errors and logs them. Change-Id: I8e6f476f450688b5547fd75243c66cb603c516b5
/frameworks/native/vulkan/libvulkan/driver_gen.h
|