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/dev.c b/icd/intel/dev.c
index 84956e8..e068a5c 100644
--- a/icd/intel/dev.c
+++ b/icd/intel/dev.c
@@ -75,16 +75,13 @@
         const XGL_DEVICE_QUEUE_CREATE_INFO *q = &queues[i];
         XGL_RESULT ret = XGL_SUCCESS;
 
-        if (q->queueNodeIndex >= INTEL_GPU_ENGINE_COUNT ||
-            q->queueCount > 1 ||
-            dev->queues[q->queueNodeIndex]) {
-            ret = XGL_ERROR_INVALID_POINTER;
+        if (q->queueNodeIndex < INTEL_GPU_ENGINE_COUNT &&
+            q->queueCount == 1 && !dev->queues[q->queueNodeIndex]) {
+            ret = intel_queue_create(dev, q->queueNodeIndex,
+                    &dev->queues[q->queueNodeIndex]);
         }
         else {
-            dev->queues[q->queueNodeIndex] =
-                intel_queue_create(dev, q->queueNodeIndex);
-            if (!dev->queues[q->queueNodeIndex])
-                ret = XGL_ERROR_OUT_OF_MEMORY;
+            ret = XGL_ERROR_INVALID_POINTER;
         }
 
         if (ret != XGL_SUCCESS) {