Mesa (master): clover: clGetProgramInfo support for OpenCL 1.2.
Francisco Jerez
currojerez at kemper.freedesktop.org
Sun Aug 17 20:36:22 UTC 2014
Module: Mesa
Branch: master
Commit: ce4d3f3104b01b6148ce7b1c7ecd354fd2f062c9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce4d3f3104b01b6148ce7b1c7ecd354fd2f062c9
Author: EdB <edb+mesa at sigluy.net>
Date: Tue Aug 5 19:09:38 2014 +0200
clover: clGetProgramInfo support for OpenCL 1.2.
[ Francisco Jerez: Rework using fold() for conciseness. ]
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
Tested-by: EdB <edb+mesa at sigluy.net>
---
src/gallium/state_trackers/clover/api/program.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/gallium/state_trackers/clover/api/program.cpp b/src/gallium/state_trackers/clover/api/program.cpp
index b81ce69..8d9d3ac 100644
--- a/src/gallium/state_trackers/clover/api/program.cpp
+++ b/src/gallium/state_trackers/clover/api/program.cpp
@@ -232,6 +232,17 @@ clGetProgramInfo(cl_program d_prog, cl_program_info param,
prog.devices());
break;
+ case CL_PROGRAM_NUM_KERNELS:
+ buf.as_scalar<cl_uint>() = prog.symbols().size();
+ break;
+
+ case CL_PROGRAM_KERNEL_NAMES:
+ buf.as_string() = fold([](const std::string &a, const module::symbol &s) {
+ return ((a.empty() ? "" : a + ";") +
+ std::string(s.name.begin(), s.name.size()));
+ }, std::string(), prog.symbols());
+ break;
+
default:
throw error(CL_INVALID_VALUE);
}
More information about the mesa-commit
mailing list