Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Mon, Jun 5, 2017 at 10:15 PM, Brian Paul <bri...@vmware.com> wrote: > Replace some static assertions with runtime assertions. The static > asserts don't work/fail on MSVC, despite the offsets being multiples > of 16 (checked with softpipe). > > Use correct parameter types for a few gallium context functions. > --- > src/gallium/auxiliary/util/u_threaded_context.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/src/gallium/auxiliary/util/u_threaded_context.c > b/src/gallium/auxiliary/util/u_threaded_context.c > index 71211e6..929e186 100644 > --- a/src/gallium/auxiliary/util/u_threaded_context.c > +++ b/src/gallium/auxiliary/util/u_threaded_context.c > @@ -428,7 +428,7 @@ tc_call_render_condition(struct pipe_context *pipe, union > tc_payload *payload) > static void > tc_render_condition(struct pipe_context *_pipe, > struct pipe_query *query, boolean condition, > - uint mode) > + enum pipe_render_cond_flag mode) > { > struct threaded_context *tc = threaded_context(_pipe); > struct tc_render_condition *p = > @@ -597,7 +597,7 @@ tc_call_set_constant_buffer(struct pipe_context *pipe, > union tc_payload *payload > > static void > tc_set_constant_buffer(struct pipe_context *_pipe, > - uint shader, uint index, > + enum pipe_shader_type shader, uint index, > const struct pipe_constant_buffer *cb) > { > struct threaded_context *tc = threaded_context(_pipe); > @@ -845,7 +845,8 @@ tc_call_set_shader_buffers(struct pipe_context *pipe, > union tc_payload *payload) > } > > static void > -tc_set_shader_buffers(struct pipe_context *_pipe, unsigned shader, > +tc_set_shader_buffers(struct pipe_context *_pipe, > + enum pipe_shader_type shader, > unsigned start, unsigned count, > const struct pipe_shader_buffer *buffers) > { > @@ -2172,10 +2173,11 @@ threaded_context_create(struct pipe_context *pipe, > memset(tc, 0, sizeof(*tc)); > > assert((uintptr_t)tc % 16 == 0); > - STATIC_ASSERT(offsetof(struct threaded_context, batch_slots[0]) % 16 == > 0); > - STATIC_ASSERT(offsetof(struct threaded_context, batch_slots[0].call[0]) % > 16 == 0); > - STATIC_ASSERT(offsetof(struct threaded_context, batch_slots[0].call[1]) % > 16 == 0); > - STATIC_ASSERT(offsetof(struct threaded_context, batch_slots[1].call[0]) % > 16 == 0); > + /* These should be static asserts, but they don't work with MSVC */ > + assert(offsetof(struct threaded_context, batch_slots) % 16 == 0); > + assert(offsetof(struct threaded_context, batch_slots[0].call) % 16 == 0); > + assert(offsetof(struct threaded_context, batch_slots[0].call[1]) % 16 == > 0); > + assert(offsetof(struct threaded_context, batch_slots[1].call) % 16 == 0); > > /* The driver context isn't wrapped, so set its "priv" to NULL. */ > pipe->priv = NULL; > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev