intel: let intel_queue_create return an error code

To be consistent with other object creation functions, now that intel_queue
has been splitted to its own files.
diff --git a/icd/intel/queue.c b/icd/intel/queue.c
index 4f37f65..46f66b2 100644
--- a/icd/intel/queue.c
+++ b/icd/intel/queue.c
@@ -26,14 +26,15 @@
 #include "dev.h"
 #include "queue.h"
 
-struct intel_queue *intel_queue_create(struct intel_dev *dev,
-                                       XGL_QUEUE_TYPE type)
+XGL_RESULT intel_queue_create(struct intel_dev *dev,
+                              XGL_QUEUE_TYPE type,
+                              struct intel_queue **queue_ret)
 {
     struct intel_queue *queue;
 
     queue = icd_alloc(sizeof(*queue), 0, XGL_SYSTEM_ALLOC_API_OBJECT);
     if (!queue)
-        return NULL;
+        return XGL_ERROR_OUT_OF_MEMORY;
 
     memset(queue, 0, sizeof(*queue));
     queue->dev = dev;
@@ -44,11 +45,13 @@
             intel_base_dbg_create(XGL_DBG_OBJECT_QUEUE, NULL, 0);
         if (!queue->base.dbg) {
             icd_free(queue);
-            return NULL;
+            return XGL_ERROR_OUT_OF_MEMORY;
         }
     }
 
-    return queue;
+    *queue_ret = queue;
+
+    return XGL_SUCCESS;
 }
 
 void intel_queue_destroy(struct intel_queue *queue)