winsys/amdgpu: add back multithreaded command submission
[mesa.git] / src / gallium / winsys / amdgpu / drm / amdgpu_winsys.h
index f28524aa10a01fba1a2a8c5c7181ac989cdee071..d6734f7bfbce55d61e3779f839490372b69a6d84 100644 (file)
@@ -58,6 +58,15 @@ struct amdgpu_winsys {
 
    struct radeon_info info;
 
+   /* multithreaded IB submission */
+   pipe_mutex cs_queue_lock;
+   pipe_semaphore cs_queue_has_space;
+   pipe_semaphore cs_queued;
+   pipe_thread thread;
+   int kill_thread;
+   int num_enqueued_cs;
+   struct amdgpu_cs *cs_queue[8];
+
    struct amdgpu_gpu_info amdinfo;
    ADDR_HANDLE addrlib;
    uint32_t rev_id;
@@ -75,6 +84,7 @@ amdgpu_winsys(struct radeon_winsys *base)
    return (struct amdgpu_winsys*)base;
 }
 
+void amdgpu_ws_queue_cs(struct amdgpu_winsys *ws, struct amdgpu_cs *cs);
 void amdgpu_surface_init_functions(struct amdgpu_winsys *ws);
 ADDR_HANDLE amdgpu_addr_create(struct amdgpu_winsys *ws);