Tom Stellard <[email protected]> writes: > v2: > - Only call notification for build errors > - Fix clCompileProgram() > > Cc: 10.5 10.4 <[email protected]> > --- > 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
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
