intel: remove unused internal dispatch tables
Remove intel_dispatch_get() and the two dispatch tables. Embed
void *loader_data;
instead of
const XGL_LAYER_DISPATCH_TABLE *dispatch;
at the beginning of intel_gpu and intel_base, as that is what the loader
really wants.
Add a magic to intel_base to keep intel_base_is_valid() working.
v2: do not set loader_data of new objects
diff --git a/icd/intel/obj.h b/icd/intel/obj.h
index 28f0c41..fe0e474 100644
--- a/icd/intel/obj.h
+++ b/icd/intel/obj.h
@@ -51,7 +51,9 @@
};
struct intel_base {
- const XGL_LAYER_DISPATCH_TABLE *dispatch;
+ /* the loader expects a "void *" at the beginning */
+ void *loader_data;
+ uint32_t magic;
struct intel_base_dbg *dbg;
@@ -87,7 +89,8 @@
obj->offset = offset;
}
-bool intel_base_is_valid(const struct intel_base *base);
+bool intel_base_is_valid(const struct intel_base *base,
+ XGL_DBG_OBJECT_TYPE type);
XGL_RESULT intel_base_get_info(struct intel_base *base, int type,
XGL_SIZE *size, XGL_VOID *data);