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