diff options
author | Simon Richter <Simon.Richter@hogyros.de> | 2013-04-03 20:32:45 +0200 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2013-04-18 11:21:01 +0800 |
commit | 0118a372252180fb6b8c597dd0874fb31b477435 (patch) | |
tree | fac60e7178e2948bf4d8c2aff8e906ff18b9cc8e /src/cl_program.c | |
parent | cb618258d42fbde26bcb5f4437e2ccec1db4003f (diff) |
Implement KHR ICD extension
This adds a pointer to the dispatch table at the beginning of every object
of type
- cl_command_queue
- cl_context
- cl_device_id
- cl_event
- cl_kernel
- cl_mem
- cl_platform_id
- cl_program
- cl_sampler
as required by the ICD specification. The layout of the dispatch table
comes from the OpenCL ICD loader by Brice Videau <brice.videau@imag.fr> and
Vincent Danjean <Vincent.Danjean@ens-lyon.org>.
To avoid dispatch table entries being overwritten with the ICD loader's
implementations of the CL functions (as would be the proper behaviour for
the ELF loader), the -Bsymbolic option is given to the linker.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/cl_program.c')
-rw-r--r-- | src/cl_program.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cl_program.c b/src/cl_program.c index ecffb001..0c48ef30 100644 --- a/src/cl_program.c +++ b/src/cl_program.c @@ -23,6 +23,7 @@ #include "cl_context.h" #include "cl_alloc.h" #include "cl_utils.h" +#include "cl_khr_icd.h" #include "CL/cl.h" #include "CL/cl_intel.h" @@ -91,6 +92,7 @@ cl_program_new(cl_context ctx) /* Allocate the structure */ TRY_ALLOC_NO_ERR (p, CALLOC(struct _cl_program)); + SET_ICD(p->dispatch) p->ref_n = 1; p->magic = CL_MAGIC_PROGRAM_HEADER; p->ctx = ctx; |