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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev