summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/clover
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-08-08 09:32:20 -0400
committerEmil Velikov <emil.l.velikov@gmail.com>2014-08-27 13:38:28 +0100
commit42bd348d218c0bdf399fadeb4bbf4e78c29d63c8 (patch)
tree43ca091166b4eaafa6287a7a5b0666a825c943ee /src/gallium/state_trackers/clover
parente8d7e3bc5758976504154281eeac827aacbd6bb8 (diff)
clover: Flush the command queue in clReleaseCommandQueue()
This is required by the spec. Reviewed-by: Francisco Jerez <currojerez@riseup.net> CC: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ed3f7eadad1527447df14ee0c33fdf75fcad47b1)
Diffstat (limited to 'src/gallium/state_trackers/clover')
-rw-r--r--src/gallium/state_trackers/clover/api/queue.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/clover/api/queue.cpp b/src/gallium/state_trackers/clover/api/queue.cpp
index a136018fbde..06a28638002 100644
--- a/src/gallium/state_trackers/clover/api/queue.cpp
+++ b/src/gallium/state_trackers/clover/api/queue.cpp
@@ -58,7 +58,11 @@ clRetainCommandQueue(cl_command_queue d_q) try {
CLOVER_API cl_int
clReleaseCommandQueue(cl_command_queue d_q) try {
- if (obj(d_q).release())
+ auto &q = obj(d_q);
+
+ q.flush();
+
+ if (q.release())
delete pobj(d_q);
return CL_SUCCESS;