summaryrefslogtreecommitdiff
path: root/vulkan/libvulkan/api.cpp
diff options
context:
space:
mode:
authorChia-I Wu <olv@google.com>2016-04-28 07:15:51 +0800
committerChia-I Wu <olv@google.com>2016-04-28 08:52:42 +0800
commitdab25658fb17ec76569b8e91dfed801855027f08 (patch)
treecab6052d7f02a5e3725639362944788d855eba55 /vulkan/libvulkan/api.cpp
parentd6e6f51426c566cd67ed765e5c4b206a063aaa30 (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.cpp22
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;