intel: add generic object creation function
Add and use intel_base_create() for all objects deriving from intel_base.
diff --git a/icd/intel/fence.c b/icd/intel/fence.c
index 842f134..a90a991 100644
--- a/icd/intel/fence.c
+++ b/icd/intel/fence.c
@@ -39,25 +39,13 @@
{
struct intel_fence *fence;
- fence = icd_alloc(sizeof(*fence), 0, XGL_SYSTEM_ALLOC_API_OBJECT);
+ fence = (struct intel_fence *) intel_base_create(sizeof(*fence),
+ dev->base.dbg, XGL_DBG_OBJECT_FENCE, info, 0);
if (!fence)
return XGL_ERROR_OUT_OF_MEMORY;
- memset(fence, 0, sizeof(*fence));
-
fence->obj.destroy = fence_destroy;
- fence->obj.base.dispatch = dev->base.dispatch;
- if (dev->base.dbg) {
- fence->obj.base.dbg =
- intel_base_dbg_create(XGL_DBG_OBJECT_FENCE, info, 0);
- if (!fence->obj.base.dbg) {
- icd_free(fence);
- return XGL_ERROR_OUT_OF_MEMORY;
- }
- }
- fence->obj.base.get_info = intel_base_get_info;
-
*fence_ret = fence;
return XGL_SUCCESS;
@@ -68,10 +56,7 @@
if (fence->submitted_bo)
intel_bo_unreference(fence->submitted_bo);
- if (fence->obj.base.dbg)
- intel_base_dbg_destroy(fence->obj.base.dbg);
-
- icd_free(fence);
+ intel_base_destroy(&fence->obj.base);
}
XGL_RESULT intel_fence_get_status(struct intel_fence *fence)