intel: replace intel_queue_submit() by queue_submit_bo()
authorChia-I Wu <olvaffe@gmail.com>
Mon, 25 Aug 2014 03:38:08 +0000 (11:38 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Mon, 25 Aug 2014 03:39:08 +0000 (11:39 +0800)
We want to be able to submit BOs instead of just CMDs.

icd/intel/queue.c
icd/intel/queue.h

index 353b27a933a31ff6e4537f2f921fe0eb46e347d6..f1bd60b3054c367c6c4a5438e776b592b303c2f2 100644 (file)
 #include "fence.h"
 #include "queue.h"
 
+static XGL_RESULT queue_submit_bo(struct intel_queue *queue,
+                                  struct intel_bo *bo,
+                                  XGL_GPU_SIZE used)
+{
+    struct intel_winsys *winsys = queue->dev->winsys;
+    int err;
+
+    if (intel_debug & INTEL_DEBUG_BATCH)
+        intel_winsys_decode_bo(winsys, bo, used);
+
+    if (intel_debug & INTEL_DEBUG_NOHW)
+        err = 0;
+    else
+        err = intel_winsys_submit_bo(winsys, queue->ring, bo, used, 0);
+
+    return (err) ? XGL_ERROR_UNKNOWN : XGL_SUCCESS;
+}
+
 XGL_RESULT intel_queue_create(struct intel_dev *dev,
                               enum intel_gpu_engine_type engine,
                               struct intel_queue **queue_ret)
@@ -71,29 +89,6 @@ XGL_RESULT intel_queue_wait(struct intel_queue *queue, int64_t timeout)
         XGL_SUCCESS : XGL_ERROR_UNKNOWN;
 }
 
-XGL_RESULT intel_queue_submit(struct intel_queue *queue,
-                              struct intel_cmd *cmd)
-{
-    struct intel_winsys *winsys = queue->dev->winsys;
-    struct intel_bo *bo;
-    XGL_GPU_SIZE used;
-    int err;
-
-    bo = intel_cmd_get_batch(cmd, &used);
-
-    if (intel_debug & INTEL_DEBUG_BATCH)
-        intel_winsys_decode_bo(winsys, bo, used);
-
-    if (intel_debug & INTEL_DEBUG_NOHW)
-        err = 0;
-    else
-        err = intel_winsys_submit_bo(winsys, queue->ring, bo, used, 0);
-
-    queue->last_submitted_cmd = cmd;
-
-    return (err) ? XGL_ERROR_UNKNOWN : XGL_SUCCESS;
-}
-
 XGL_RESULT XGLAPI intelQueueSetGlobalMemReferences(
     XGL_QUEUE                                   queue,
     XGL_UINT                                    memRefCount,
@@ -128,8 +123,14 @@ XGL_RESULT XGLAPI intelQueueSubmit(
 
     for (i = 0; i < cmdBufferCount; i++) {
         struct intel_cmd *cmd = intel_cmd(pCmdBuffers[i]);
+        struct intel_bo *bo;
+        XGL_GPU_SIZE used;
+        XGL_RESULT ret;
+
+        bo = intel_cmd_get_batch(cmd, &used);
+        ret = queue_submit_bo(queue, bo, used);
+        queue->last_submitted_cmd = cmd;
 
-        ret = intel_queue_submit(queue, cmd);
         if (ret != XGL_SUCCESS)
             break;
     }
index 0c60e59470f4c112fdb3c35b6976f2090f1e4fce..1c50e6466ef2546c2669888637d70b04c802c65b 100644 (file)
@@ -54,9 +54,6 @@ void intel_queue_destroy(struct intel_queue *queue);
 
 XGL_RESULT intel_queue_wait(struct intel_queue *queue, int64_t timeout);
 
-XGL_RESULT intel_queue_submit(struct intel_queue *queue,
-                              struct intel_cmd *cmd);
-
 XGL_RESULT XGLAPI intelQueueSetGlobalMemReferences(
     XGL_QUEUE                                   queue,
     XGL_UINT                                    memRefCount,