Mesa (master): clover: implement CL_MEM_ALLOC_HOST_PTR

Grigori Goronzy grigorig at kemper.freedesktop.org
Sat May 23 23:15:50 UTC 2015


Module: Mesa
Branch: master
Commit: 5c495e86388b55af067677e8608eb124a5d70d29
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c495e86388b55af067677e8608eb124a5d70d29

Author: Grigori Goronzy <greg at chown.ath.cx>
Date:   Tue May 12 02:22:12 2015 +0200

clover: implement CL_MEM_ALLOC_HOST_PTR

This flag is typically used to request pinned host memory, to avoid
any copies between GPU and CPU.

This improves throughput with an older OpenCL app which I unfortunately
can't publish due to its licensing.

Reviewed-by: Francisco Jerez <currojerez at riseup.net>

---

 src/gallium/state_trackers/clover/core/resource.cpp |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/state_trackers/clover/core/resource.cpp b/src/gallium/state_trackers/clover/core/resource.cpp
index bcf87e1..8ed4c42 100644
--- a/src/gallium/state_trackers/clover/core/resource.cpp
+++ b/src/gallium/state_trackers/clover/core/resource.cpp
@@ -137,6 +137,10 @@ root_resource::root_resource(clover::device &dev, memory_obj &obj,
                 PIPE_BIND_TRANSFER_READ |
                 PIPE_BIND_TRANSFER_WRITE);
 
+   if (obj.flags() & CL_MEM_ALLOC_HOST_PTR) {
+      info.usage = PIPE_USAGE_STAGING;
+   }
+
    pipe = dev.pipe->resource_create(dev.pipe, &info);
    if (!pipe)
       throw error(CL_OUT_OF_RESOURCES);




More information about the mesa-commit mailing list