layers: Create desc_update_template map for new objs
Store unique_objects DescriptorUpdateTemplate data in a map
for parsing UpdateTempate buffers.
Change-Id: Iab0d95a1aa2f309a3d33c8859b16543f98ca549c
diff --git a/layers/unique_objects.h b/layers/unique_objects.h
index fb46b77..eebb01e 100644
--- a/layers/unique_objects.h
+++ b/layers/unique_objects.h
@@ -33,6 +33,14 @@
// All increments must be guarded by global_lock
static uint64_t global_unique_id = 1;
+struct TEMPLATE_STATE {
+ VkDescriptorUpdateTemplateKHR desc_update_template;
+ safe_VkDescriptorUpdateTemplateCreateInfoKHR create_info;
+
+ TEMPLATE_STATE(VkDescriptorUpdateTemplateKHR update_template, safe_VkDescriptorUpdateTemplateCreateInfoKHR *pCreateInfo)
+ : desc_update_template(update_template), create_info(*pCreateInfo) {}
+};
+
struct layer_data {
VkInstance instance;
@@ -47,6 +55,8 @@
VkDebugReportCallbackCreateInfoEXT *tmp_dbg_create_infos;
VkDebugReportCallbackEXT *tmp_callbacks;
+ std::unordered_map<uint64_t, std::unique_ptr<TEMPLATE_STATE>> desc_template_map;
+
bool wsi_enabled;
std::unordered_map<uint64_t, uint64_t> unique_id_mapping; // Map uniqueID to actual object handle
VkPhysicalDevice gpu;