The patch LGTM, split it to two patches and pushed, thanks.
On Mon, Nov 10, 2014 at 02:58:40PM +0800, [email protected] wrote: > From: Luo Xionghu <[email protected]> > > 1. the program should be deserialized and loaded when created from a > EXECUTABLE binary. > 2. passing a binary program to clCompileProgram() should return > CL_INVALID_OPERATION. > > Signed-off-by: Luo Xionghu <[email protected]> > --- > src/cl_program.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/src/cl_program.c b/src/cl_program.c > index 79dff34..43ab567 100644 > --- a/src/cl_program.c > +++ b/src/cl_program.c > @@ -249,6 +249,14 @@ cl_program_create_from_binary(cl_context ctx, > program->source_type = FROM_LLVM; > } > else if (*program->binary == 0) { > + program->opaque = > interp_program_new_from_binary(program->ctx->device->vendor_id, > program->binary, program->binary_sz); > + if (UNLIKELY(program->opaque == NULL)) { > + err = CL_INVALID_PROGRAM; > + goto error; > + } > + > + /* Create all the kernels */ > + TRY (cl_program_load_gen_program, program); > program->binary_type = CL_PROGRAM_BINARY_TYPE_EXECUTABLE; > } > > @@ -739,7 +747,11 @@ cl_program_compile(cl_program p, > /* Create all the kernels */ > p->source_type = FROM_LLVM; > p->binary_type = CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT; > + }else if(p->source_type == FROM_BINARY){ > + err = CL_INVALID_OPERATION; > + return err; > } > + > p->is_built = 1; > p->build_status = CL_BUILD_SUCCESS; > return CL_SUCCESS; > -- > 1.7.9.5 > > _______________________________________________ > Beignet mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
