intel: Separate extensions into global and device
To support splitting extensions into global and physical
device extensions need to keep some enable information
at the instance level. The intel_instance is a logical
place for that but is not accessible from all objects.
This patch replaces the icd pointer in intel_handle
with an instance pointer so that we can find the global
extension enable flags.
diff --git a/icd/intel/intel.h b/icd/intel/intel.h
index 4a5829a..605004c 100644
--- a/icd/intel/intel.h
+++ b/icd/intel/intel.h
@@ -37,8 +37,6 @@
#include <assert.h>
#include <vulkan.h>
-#include <vk_debug_report_lunarg.h>
-#include <vk_wsi_lunarg.h>
#include <vkIcd.h>
#include "icd.h"
@@ -71,12 +69,14 @@
INTEL_DEBUG_HANG = 1 << 23,
};
+struct intel_instance;
+
struct intel_handle {
/* the loader expects a "void *" at the beginning */
void *loader_data;
uint32_t magic;
- const struct icd_instance *icd;
+ const struct intel_instance *instance;
};
extern int intel_debug;
@@ -85,12 +85,12 @@
static inline void intel_handle_init(struct intel_handle *handle,
VkObjectType type,
- const struct icd_instance *icd)
+ const struct intel_instance *instance)
{
set_loader_magic_value((VkObject) handle);
handle->magic = intel_handle_magic + type;
- handle->icd = icd;
+ handle->instance = instance;
}
/**