Module: Mesa Branch: master Commit: 39869423cb082c5feaa5ecf9119d3b97b5cdda88 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39869423cb082c5feaa5ecf9119d3b97b5cdda88
Author: EdB <edb+m...@sigluy.net> Date: Sun Jul 27 23:07:38 2014 +0200 clover: Add clCreateProgramWithBuiltInKernels. [ Francisco Jerez: Check for devices not associated with the specified context. Style fix. ] Reviewed-by: Francisco Jerez <curroje...@riseup.net> --- src/gallium/state_trackers/clover/api/dispatch.cpp | 2 +- src/gallium/state_trackers/clover/api/program.cpp | 22 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/clover/api/dispatch.cpp b/src/gallium/state_trackers/clover/api/dispatch.cpp index 488e654..43b5537 100644 --- a/src/gallium/state_trackers/clover/api/dispatch.cpp +++ b/src/gallium/state_trackers/clover/api/dispatch.cpp @@ -121,7 +121,7 @@ namespace clover { clRetainDevice, clReleaseDevice, clCreateImage, - NULL, // clCreateProgramWithBuiltInKernels + clCreateProgramWithBuiltInKernels, NULL, // clCompileProgram NULL, // clLinkProgram NULL, // clUnloadPlatformCompiler diff --git a/src/gallium/state_trackers/clover/api/program.cpp b/src/gallium/state_trackers/clover/api/program.cpp index a14baa3..293a61f 100644 --- a/src/gallium/state_trackers/clover/api/program.cpp +++ b/src/gallium/state_trackers/clover/api/program.cpp @@ -106,6 +106,28 @@ clCreateProgramWithBinary(cl_context d_ctx, cl_uint n, return NULL; } +CLOVER_API cl_program +clCreateProgramWithBuiltInKernels(cl_context d_ctx, cl_uint n, + const cl_device_id *d_devs, + const char *kernel_names, + cl_int *r_errcode) try { + auto &ctx = obj(d_ctx); + auto devs = objs(d_devs, n); + + if (any_of([&](const device &dev) { + return !count(dev, ctx.devices()); + }, devs)) + throw error(CL_INVALID_DEVICE); + + // No currently supported built-in kernels. + throw error(CL_INVALID_VALUE); + +} catch (error &e) { + ret_error(r_errcode, e); + return NULL; +} + + CLOVER_API cl_int clRetainProgram(cl_program d_prog) try { obj(d_prog).retain(); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit