From 4f79ad520a09b35e36181bf9a186f9ef3a88fbf8 Mon Sep 17 00:00:00 2001 From: Yang Rong Date: Mon, 28 Oct 2013 14:02:18 +0800 Subject: [PATCH] Per openCL spec, set p->is_built to 1 when build fail. Also correct the err code when build fail. Signed-off-by: Yang Rong Reviewed-by: Zhigang Gong Reviewed-by: "Song, Ruiling" --- src/cl_api.c | 4 ++-- src/cl_program.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cl_api.c b/src/cl_api.c index 0e562ed..f668ec6 100644 --- a/src/cl_api.c +++ b/src/cl_api.c @@ -961,7 +961,7 @@ clCreateKernel(cl_program program, cl_int err = CL_SUCCESS; CHECK_PROGRAM (program); - if (program->is_built == CL_FALSE) { + if (program->ker_n <= 0) { err = CL_INVALID_PROGRAM_EXECUTABLE; goto error; } @@ -983,7 +983,7 @@ clCreateKernelsInProgram(cl_program program, cl_int err = CL_SUCCESS; CHECK_PROGRAM (program); - if (program->is_built == CL_FALSE) { + if (program->ker_n <= 0) { err = CL_INVALID_PROGRAM_EXECUTABLE; goto error; } diff --git a/src/cl_program.c b/src/cl_program.c index ad6e098..e7d67de 100644 --- a/src/cl_program.c +++ b/src/cl_program.c @@ -326,7 +326,7 @@ cl_program_build(cl_program p, const char *options) if (p->source_type == FROM_SOURCE) { p->opaque = gbe_program_new_from_source(p->source, 0, options, NULL, NULL); if (UNLIKELY(p->opaque == NULL)) { - err = CL_INVALID_PROGRAM; + err = CL_BUILD_PROGRAM_FAILURE; goto error; } @@ -336,7 +336,7 @@ cl_program_build(cl_program p, const char *options) } else if (p->source_type == FROM_BINARY) { p->opaque = gbe_program_new_from_binary(p->binary, p->binary_sz); if (UNLIKELY(p->opaque == NULL)) { - err = CL_INVALID_PROGRAM; + err = CL_BUILD_PROGRAM_FAILURE; goto error; } @@ -359,8 +359,8 @@ cl_program_build(cl_program p, const char *options) copyed += sz; } - p->is_built = 1; error: + p->is_built = 1; return err; } -- 2.7.4