When the time comes, are there any concerns with using a 64 bit type, like portability? 64 bits for flags would be useful for something that I'm looking into and I'm curious how much pain that could cause.
On Sun, Aug 18, 2013 at 10:58 AM, Ian Romanick <i...@freedesktop.org> wrote: > On 08/18/2013 09:34 AM, Paul Berry wrote: > >> We are getting close to the maximum number of BRW_NEW_* bits that can >> be stored in brw->state.dirty.brw without overflowing 32 bits, and >> geometry shaders are going to add more. Add a STATIC_ASSERT so that >> we will be alerted when we need to switch to 64 bits. >> > > Good call. > > Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > > > --- >> src/mesa/drivers/dri/i965/brw_**context.c | 5 +++++ >> src/mesa/drivers/dri/i965/brw_**context.h | 1 + >> 2 files changed, 6 insertions(+) >> >> diff --git a/src/mesa/drivers/dri/i965/**brw_context.c >> b/src/mesa/drivers/dri/i965/**brw_context.c >> index 11d438b..44a35d1 100644 >> --- a/src/mesa/drivers/dri/i965/**brw_context.c >> +++ b/src/mesa/drivers/dri/i965/**brw_context.c >> @@ -448,6 +448,11 @@ brwCreateContext(int api, >> brw->state.dirty.mesa = ~0; >> brw->state.dirty.brw = ~0; >> >> + /* Make sure that brw->state.dirty.brw has enough bits to hold all >> possible >> + * dirty flags. >> + */ >> + STATIC_ASSERT(BRW_NUM_STATE_**BITS <= 8 * >> sizeof(brw->state.dirty.brw)); >> + >> brw->emit_state_always = 0; >> >> brw->batch.need_workaround_**flush = true; >> diff --git a/src/mesa/drivers/dri/i965/**brw_context.h >> b/src/mesa/drivers/dri/i965/**brw_context.h >> index 74e38f1..dbad507 100644 >> --- a/src/mesa/drivers/dri/i965/**brw_context.h >> +++ b/src/mesa/drivers/dri/i965/**brw_context.h >> @@ -155,6 +155,7 @@ enum brw_state_id { >> BRW_STATE_UNIFORM_BUFFER, >> BRW_STATE_META_IN_PROGRESS, >> BRW_STATE_INTERPOLATION_MAP, >> + BRW_NUM_STATE_BITS >> }; >> >> #define BRW_NEW_URB_FENCE (1 << BRW_STATE_URB_FENCE) >> >> > ______________________________**_________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/**mailman/listinfo/mesa-dev<http://lists.freedesktop.org/mailman/listinfo/mesa-dev> >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev