History log of /frameworks/native/vulkan/libvulkan/api.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
61b25fdffc360ab70e1f33be0bb43c911150277b 27-May-2016 Chia-I Wu <olv@google.com> vulkan: fix crash when only non-global layers are enabled

We fail to set up get_instance_proc_addr_ and get_device_proc_addr_ when
there are layers but only non-global ones.

Bug: 28990561
Change-Id: I82704f946deb5a76640f9dfb792e6fd118c78aa7
/frameworks/native/vulkan/libvulkan/api.cpp
a4a0555a168efd2e93f6d8b63de7cdc7aeb61a11 05-May-2016 Chia-I Wu <olv@google.com> vulkan: use Logger in vulkan::api

Use debug report logger for actionable application errors (but not other
errors).

Bug: 28120066
Change-Id: Ia9a3b568e415555bf42c8a76d1df6279835a710c
/frameworks/native/vulkan/libvulkan/api.cpp
c3a28913b6a95d2faee0db537c48557e04267511 14-Apr-2016 Chia-I Wu <olv@google.com> vulkan: deprecate device layers

Allow instance layers to intercept all commands and enumerate device
extensions. Ignore application device layers. Enumerate all enabled
instance layers in vkEnumerateDeviceLayerProperties.

Bug: 27911856
Change-Id: I6e89439ab10835dd1a43732c2333a92201e52550
/frameworks/native/vulkan/libvulkan/api.cpp
6184b20d8e2301ecc21f815e1f9c2676c43878d1 27-Apr-2016 Chia-I Wu <olv@google.com> vulkan: detect errors in VkEnumerate*ExtensionProperties

Return VK_ERROR_LAYER_NOT_PRESENT when the layer is not available.

Change-Id: I9d9aafe6e40c2ca49e58bc7c70114d0f11de2f81
/frameworks/native/vulkan/libvulkan/api.cpp
dab25658fb17ec76569b8e91dfed801855027f08 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: do not distinguish instance or device LayerRef

Merge Get*LayerRef into GetLayerRef and remove LayerRef::is_instance_.
With the removal, LayerRef::SupportsExtension becomes ambiguous. Replace
it with FindLayer*Extension. Remove unused LayerRef::GetName and
LayerRef::GetSpecName while at it.

There should be no user-visible change.

Bug: 27911856
Change-Id: I38340654b52338e9ed46d1c4462a6b254b0cab64
/frameworks/native/vulkan/libvulkan/api.cpp
d6e6f51426c566cd67ed765e5c4b206a063aaa30 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: make Get*LayerRef take a Layer

The only user-visible change should be improved error messages.

Bug: 27911856
Change-Id: Ie50a9d37f07b590026176642f2c67270225f9280
/frameworks/native/vulkan/libvulkan/api.cpp
04c6551eb812a7efe38fa74e6ac67c17aab3df2d 27-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor layer extension enumeration

Replace Get*LayerExtensions by a set of new functions that do not
distinguish instance and device layers.

There should be no user-visible change.

Bug: 27911856
Change-Id: Icd98abf51a936769f8f2f218794043b5e2611c5c
/frameworks/native/vulkan/libvulkan/api.cpp
25700b452535ce7ae838bfe832392b46ed555ed2 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor layer enumeration

Replace Enumerate*Layers by a set of new functions that do not distinguish
instance and device layers. The new functions are also careful not to
pollute the rest of the loader with std containers.

There should be no user-visible change.

Bug: 27911856
Change-Id: I4790fadc1aa2ea934a4628bce55dd45892f15e0b
/frameworks/native/vulkan/libvulkan/api.cpp
8925efd0a87d96885834a00f3bdef220edf6d8ea 13-Apr-2016 Chia-I Wu <olv@google.com> vulkan: do not query non-enabled WSI functions

Initialize dispatch table entries for non-enabled WSI functions to stubs.
We do not want to initialize them to NULL because they may still be
invoked through the exported WSI entrypoints.

Bug: 25850852
Change-Id: I25b715700990ad7432740f031764d70396024d32
/frameworks/native/vulkan/libvulkan/api.cpp
94a2c0ecd4537c52e6b4a3ef9d119dce44627ca8 13-Apr-2016 Chia-I Wu <olv@google.com> vulkan: pass VK_LAYER_FUNCTION_DATA_CALLBACK to layers

VK_LAYER_FUNCTION_DATA_CALLBACK effectively allows us to pass
driver::SetDataInternal to layers. It will be called on handles of
potentially unknown types. Add two internal types

VK_DEFINE_HANDLE(InstanceDispatchable)
VK_DEFINE_HANDLE(DeviceDispatchable)

in driver namespace for type safety.

Bug: 28015368
Change-Id: I7389829a7d8c374197cd7046973777b49e436961
/frameworks/native/vulkan/libvulkan/api.cpp
eef27fa3a0c7d153603b7fd69849fee73a07af5b 11-Apr-2016 Chia-I Wu <olv@google.com> vulkan: use CamelCase() for LayerChain

Change-Id: I2f102fa97e3c976fa411b4e6bdc83dacfa243af7
/frameworks/native/vulkan/libvulkan/api.cpp
c3fa20cee7156f9393ff319e0f884705483d3bf8 11-Apr-2016 Chia-I Wu <olv@google.com> vulkan: use CamelCase() for OverrideExtensionNames

Change-Id: If44c40f87b1e3e2eb69d12543a7f3b3036291c88
/frameworks/native/vulkan/libvulkan/api.cpp
026b8facd53e2db16bb73f6dccb064f00d8e9b00 11-Apr-2016 Chia-I Wu <olv@google.com> vulkan: use CamelCase() for OverrideLayerNames

Change-Id: Ic7bc29efc1ae5b734ebfc692c441b9537134ccb2
/frameworks/native/vulkan/libvulkan/api.cpp
4ad5c1414b3cfcbe5b3c3b9f21b42f23d99bafba 11-Apr-2016 Chia-I Wu <olv@google.com> Merge changes I21f07545,I73c39cbe,I47b1639c,I4a6268d7,I06be9898, ... into nyc-dev

* changes:
vulkan: remove unused loader.{cpp.h}
vulkan: use driver::GetData everywhere
vulkan: move all _Bottom functions
vulkan: add swapchain.h
vulkan: add layers_extensions.h
vulkan: rework CreateInstance_Bottom and related ones
vulkan: rework EnumerateDeviceExtensionProperties_Bottom
vulkan: rework {Create,Destroy}Device_Bottom
vulkan: move AllocateCommandBuffers_Bottom
vulkan: move GetDeviceQueue_Bottom
vulkan: rework DriverDispatchTable
vulkan: rework driver::Get*ProcAddr
vulkan: add VK_ANDROID_native_buffer to vulkan.api
vulkan: move driver::GetDefaultAllocator
vulkan: move driver::OpenHAL
vulkan: move driver::Debuggable
c96880f2cd1d34ffb9e3d10d80f0a3ddcc5579a8 25-Mar-2016 Chia-I Wu <olv@google.com> vulkan: add layers_extensions.h

Move everything for layers_extensions.cpp out of loader.h to
layers_extensions.h, and into vulkan::api namespace.

Remove now unused InstanceExtensionFromName and DeviceExtensionFromName.

Change-Id: I06be98986f40de35e9dffb5499bc1423e9eb3d48
/frameworks/native/vulkan/libvulkan/api.cpp
1f8f46bbccce0f1aabe7f12a6a26d772cd17b5b7 06-Apr-2016 Chia-I Wu <olv@google.com> vulkan: check for unsupported extensions

Return VK_ERROR_EXTENSION_NOT_PRESENT when an app attempts to enable an
unsupported extension. This fixes a regression introduced by my top
rewrite (commit 0c20324: vulkan: rewrite top of loader).

Since we do not cache HAL extensions, each vkCreateInstance or
vkCreateDevice call is preceded by two extension enumeration calls
internally.

Change-Id: I5342c1a5c9a5452dd2bc52933a5ee558db174048
/frameworks/native/vulkan/libvulkan/api.cpp
0c2032490b80178ec823bf22a7f5d08398851cc3 15-Mar-2016 Chia-I Wu <olv@google.com> vulkan: rewrite top of loader

The top is responsible for layer discovery and chaining, and the bottom is
like a regular layer that is always enabled and is inserted just before
the driver. Make the separation clear by rewriting the top and stripping
the layer managment code from loader.cpp.

Change-Id: I64e525e27bd4c297bccd94a1eb9b88e28088e85d
/frameworks/native/vulkan/libvulkan/api.cpp