On Thu, 2016-07-07 at 09:39 +0200, Nicolai Hähnle wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > --- > src/gallium/include/pipe/p_state.h | 6 ++++++ > src/gallium/state_trackers/clover/core/queue.cpp | 5 ++++- > src/mesa/state_tracker/st_debug.c | 5 ++++- > 3 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/include/pipe/p_state.h > b/src/gallium/include/pipe/p_state.h > index f4bee38..f7bf402 100644 > --- a/src/gallium/include/pipe/p_state.h > +++ b/src/gallium/include/pipe/p_state.h > @@ -809,6 +809,12 @@ struct pipe_compute_state > struct pipe_debug_callback > { > /** > + * When set to \c true, the callback may be called asynchronously > from a > + * driver-created thread. > + */ > + bool async; > + > + /** > * Callback for the driver to report debug/performance/etc > information back > * to the state tracker. > * > diff --git a/src/gallium/state_trackers/clover/core/queue.cpp > b/src/gallium/state_trackers/clover/core/queue.cpp > index 24d71f1..00afdb6 100644 > --- a/src/gallium/state_trackers/clover/core/queue.cpp > +++ b/src/gallium/state_trackers/clover/core/queue.cpp > @@ -50,7 +50,10 @@ command_queue::command_queue(clover::context &ctx, > clover::device &dev, > throw error(CL_INVALID_DEVICE); > > if (ctx.notify) { > - struct pipe_debug_callback cb = { &debug_notify_callback, this > }; > + struct pipe_debug_callback cb; > + memset(&cb, 0, sizeof(db)); > + cb.debug_message = &debug_notify_callback; > + cb.data = this;
I don't think this is necessary, elements that are not mentioned are initialized to zero, both C(below) and C++. Jan > if (pipe->set_debug_callback) > pipe->set_debug_callback(pipe, &cb); > } > diff --git a/src/mesa/state_tracker/st_debug.c > b/src/mesa/state_tracker/st_debug.c > index eaf2549..214e223 100644 > --- a/src/mesa/state_tracker/st_debug.c > +++ b/src/mesa/state_tracker/st_debug.c > @@ -172,7 +172,10 @@ st_enable_debug_output(struct st_context *st, > boolean enable) > return; > > if (enable) { > - struct pipe_debug_callback cb = { st_debug_message, st }; > + struct pipe_debug_callback cb; > + memset(&cb, 0, sizeof(cb)); > + cb.debug_message = st_debug_message; > + cb.data = st; > pipe->set_debug_callback(pipe, &cb); > } else { > pipe->set_debug_callback(pipe, NULL);
signature.asc
Description: This is a digitally signed message part
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev