intel: add support for per-instance GPU enumeration

Every instance should be indepedenent and have its own list of intel_gpus.
diff --git a/icd/intel/gpu.h b/icd/intel/gpu.h
index d74b0c0..5230afc 100644
--- a/icd/intel/gpu.h
+++ b/icd/intel/gpu.h
@@ -48,6 +48,7 @@
     INTEL_GPU_ENGINE_COUNT
 };
 
+struct intel_instance;
 struct intel_winsys;
 struct intel_wsi_x11;
 
@@ -98,12 +99,10 @@
 #endif
 }
 
-bool intel_gpu_is_valid(const struct intel_gpu *gpu);
-
-XGL_RESULT intel_gpu_add(int devid, const char *primary_node,
-                         const char *render_node, struct intel_gpu **gpu_ret);
-void intel_gpu_remove_all(void);
-struct intel_gpu *intel_gpu_get_list(void);
+XGL_RESULT intel_gpu_create(const struct intel_instance *instance, int devid,
+                            const char *primary_node, const char *render_node,
+                            struct intel_gpu **gpu_ret);
+void intel_gpu_destroy(struct intel_gpu *gpu);
 
 void intel_gpu_get_props(const struct intel_gpu *gpu,
                          XGL_PHYSICAL_GPU_PROPERTIES *props);