[Mesa-dev] [PATCH 1/2] clover: implement CL_MEM_ALLOC_HOST_PTR
Grigori Goronzy
greg at chown.ath.cx
Tue May 19 00:33:58 PDT 2015
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.
---
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);
--
1.9.1
More information about the mesa-dev
mailing list