From: Rob Clark Date: Thu, 2 Jun 2016 20:23:36 +0000 (-0400) Subject: freedreno: fix bad bitshift warnings X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=94d8fbd21768987d1bde0e31bdcabf7004b8f9b8;p=mesa.git freedreno: fix bad bitshift warnings Coverity doesn't realize idx will never be negative. Throw in some assert()s to help it out. (Hopefully assert() isn't getting compiled out for coverity build.. but there seems to be just one way to find out. We might have to change these to assume()) Fixes CID 1362442, 1362443 Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/freedreno_query_hw.c b/src/gallium/drivers/freedreno/freedreno_query_hw.c index 04452efadcd..95fff3f108e 100644 --- a/src/gallium/drivers/freedreno/freedreno_query_hw.c +++ b/src/gallium/drivers/freedreno/freedreno_query_hw.c @@ -94,6 +94,7 @@ resume_query(struct fd_context *ctx, struct fd_hw_query *hq, struct fd_ringbuffer *ring) { int idx = pidx(hq->provider->query_type); + assert(idx >= 0); /* query never would have been created otherwise */ assert(!hq->period); ctx->active_providers |= (1 << idx); hq->period = util_slab_alloc(&ctx->sample_period_pool); @@ -108,6 +109,7 @@ pause_query(struct fd_context *ctx, struct fd_hw_query *hq, struct fd_ringbuffer *ring) { int idx = pidx(hq->provider->query_type); + assert(idx >= 0); /* query never would have been created otherwise */ assert(hq->period && !hq->period->end); assert(ctx->active_providers & (1 << idx)); hq->period->end = get_sample(ctx, ring, hq->base.type);