Tom Stellard <thomas.stell...@amd.com> writes:

> v2:
>   - Only call notification for build errors
>   - Fix clCompileProgram()
>
> Cc: 10.5 10.4 <mesa-sta...@lists.freedesktop.org>
> ---
>  src/gallium/state_trackers/clover/api/program.cpp | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/clover/api/program.cpp 
> b/src/gallium/state_trackers/clover/api/program.cpp
> index 60184ed..5cd543c 100644
> --- a/src/gallium/state_trackers/clover/api/program.cpp
> +++ b/src/gallium/state_trackers/clover/api/program.cpp
> @@ -180,12 +180,18 @@ clBuildProgram(cl_program d_prog, cl_uint num_devs,
>     validate_build_program_common(prog, num_devs, d_devs, pfn_notify, 
> user_data);
>  
>     prog.build(devs, opts);
> +   if (pfn_notify)
> +      pfn_notify(d_prog, user_data);

Maybe leave blank lines around the conditional where preceded/followed
by another statement?

>     return CL_SUCCESS;
> +} catch (const build_error &e) {
> +   if (pfn_notify)
> +      pfn_notify(d_prog, user_data);
> +   if (e.get() == CL_COMPILE_PROGRAM_FAILURE)
> +      return CL_BUILD_PROGRAM_FAILURE;
> +   return e.get();

You can just return CL_BUILD_PROGRAM_FAILURE here unconditionally.

>  } catch (error &e) {
>     if (e.get() == CL_INVALID_COMPILER_OPTIONS)
>        return CL_INVALID_BUILD_OPTIONS;
> -   if (e.get() == CL_COMPILE_PROGRAM_FAILURE)
> -      return CL_BUILD_PROGRAM_FAILURE;
>     return e.get();
>  }
>  
> @@ -223,8 +229,14 @@ clCompileProgram(cl_program d_prog, cl_uint num_devs,
>        objs<allow_empty_tag>(d_header_progs, num_headers));
>  
>     prog.build(devs, opts, headers);
> +   if (pfn_notify)
> +      pfn_notify(d_prog, user_data);

Same here.

>     return CL_SUCCESS;
>  
> +} catch (const build_error &e) {
> +   if (pfn_notify)
> +      pfn_notify(d_prog, user_data);
> +   return e.get();
>  } catch (error &e) {
>     return e.get();
>  }
> -- 
> 2.0.4

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to