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
diff --git a/vulkan/libvulkan/layers_extensions.h b/vulkan/libvulkan/layers_extensions.h
index 32e1a67..79fe59d 100644
--- a/vulkan/libvulkan/layers_extensions.h
+++ b/vulkan/libvulkan/layers_extensions.h
@@ -26,26 +26,20 @@
class LayerRef {
public:
- LayerRef(const Layer* layer, bool is_instance);
+ LayerRef(const Layer* layer);
LayerRef(LayerRef&& other);
~LayerRef();
LayerRef(const LayerRef&) = delete;
LayerRef& operator=(const LayerRef&) = delete;
- const char* GetName() const;
- uint32_t GetSpecVersion() const;
-
// provides bool-like behavior
operator const Layer*() const { return layer_; }
PFN_vkGetInstanceProcAddr GetGetInstanceProcAddr() const;
PFN_vkGetDeviceProcAddr GetGetDeviceProcAddr() const;
- bool SupportsExtension(const char* name) const;
-
private:
const Layer* layer_;
- bool is_instance_;
};
void DiscoverLayers();
@@ -61,8 +55,12 @@
const VkExtensionProperties* GetLayerDeviceExtensions(const Layer& layer,
uint32_t& count);
-LayerRef GetInstanceLayerRef(const Layer& layer);
-LayerRef GetDeviceLayerRef(const Layer& layer);
+const VkExtensionProperties* FindLayerInstanceExtension(const Layer& layer,
+ const char* name);
+const VkExtensionProperties* FindLayerDeviceExtension(const Layer& layer,
+ const char* name);
+
+LayerRef GetLayerRef(const Layer& layer);
} // namespace api
} // namespace vulkan