intel: add generic object creation function
Add and use intel_base_create() for all objects deriving from intel_base.
diff --git a/icd/intel/event.c b/icd/intel/event.c
index de64924..a05ad40 100644
--- a/icd/intel/event.c
+++ b/icd/intel/event.c
@@ -121,24 +121,13 @@
{
struct intel_event *event;
- event = icd_alloc(sizeof(*event), 0, XGL_SYSTEM_ALLOC_API_OBJECT);
+ event = (struct intel_event *) intel_base_create(sizeof(*event),
+ dev->base.dbg, XGL_DBG_OBJECT_EVENT, info, 0);
if (!event)
return XGL_ERROR_OUT_OF_MEMORY;
- memset(event, 0, sizeof(*event));
-
- event->obj.destroy = event_destroy;
-
- event->obj.base.dispatch = dev->base.dispatch;
- if (dev->base.dbg) {
- event->obj.base.dbg =
- intel_base_dbg_create(XGL_DBG_OBJECT_EVENT, info, 0);
- if (!event->obj.base.dbg) {
- icd_free(event);
- return XGL_ERROR_OUT_OF_MEMORY;
- }
- }
event->obj.base.get_info = event_get_info;
+ event->obj.destroy = event_destroy;
*event_ret = event;
@@ -147,10 +136,7 @@
void intel_event_destroy(struct intel_event *event)
{
- if (event->obj.base.dbg)
- intel_base_dbg_destroy(event->obj.base.dbg);
-
- icd_free(event);
+ intel_base_destroy(&event->obj.base);
}
XGL_RESULT intel_event_set(struct intel_event *event)