diff options
author | Chia-I Wu <olv@google.com> | 2016-04-28 07:15:51 +0800 |
---|---|---|
committer | Chia-I Wu <olv@google.com> | 2016-04-28 08:52:42 +0800 |
commit | dab25658fb17ec76569b8e91dfed801855027f08 (patch) | |
tree | cab6052d7f02a5e3725639362944788d855eba55 /vulkan/libvulkan/api.cpp | |
parent | d6e6f51426c566cd67ed765e5c4b206a063aaa30 (diff) |
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
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
-rw-r--r-- | vulkan/libvulkan/api.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/vulkan/libvulkan/api.cpp b/vulkan/libvulkan/api.cpp index 1014c144dc..3db625fbe7 100644 --- a/vulkan/libvulkan/api.cpp +++ b/vulkan/libvulkan/api.cpp @@ -549,11 +549,7 @@ VkResult LayerChain::LoadLayer(ActiveLayer& layer, const char* name) { return VK_ERROR_LAYER_NOT_PRESENT; } - if (is_instance_) - new (&layer) ActiveLayer{GetInstanceLayerRef(*l), {}}; - else - new (&layer) ActiveLayer{GetDeviceLayerRef(*l), {}}; - + new (&layer) ActiveLayer{GetLayerRef(*l), {}}; if (!layer.ref) { ALOGW("Failed to open layer %s", name); layer.ref.~LayerRef(); @@ -878,10 +874,18 @@ VkExtensionProperties* LayerChain::AllocateDriverExtensionArray( } bool LayerChain::IsLayerExtension(const char* name) const { - for (uint32_t i = 0; i < layer_count_; i++) { - const ActiveLayer& layer = layers_[i]; - if (layer.ref.SupportsExtension(name)) - return true; + if (is_instance_) { + for (uint32_t i = 0; i < layer_count_; i++) { + const ActiveLayer& layer = layers_[i]; + if (FindLayerInstanceExtension(*layer.ref, name)) + return true; + } + } else { + for (uint32_t i = 0; i < layer_count_; i++) { + const ActiveLayer& layer = layers_[i]; + if (FindLayerDeviceExtension(*layer.ref, name)) + return true; + } } return false; |