From 3df78928786134874eafa6f68186c8edbbdd3ae7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 10 Jul 2015 16:11:23 -0700 Subject: [PATCH] vc4: Drop reloc_count tracking for debug asserts on non-debug builds. Cuts another 88 bytes of compiled code. --- src/gallium/drivers/vc4/vc4_cl.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/vc4/vc4_cl.h b/src/gallium/drivers/vc4/vc4_cl.h index 95f1a531d34..bf4be0efc29 100644 --- a/src/gallium/drivers/vc4/vc4_cl.h +++ b/src/gallium/drivers/vc4/vc4_cl.h @@ -44,7 +44,9 @@ struct vc4_cl { struct vc4_cl_out *next; struct vc4_cl_out *reloc_next; uint32_t size; +#ifdef DEBUG uint32_t reloc_count; +#endif }; void vc4_init_cl(struct vc4_context *vc4, struct vc4_cl *cl); @@ -145,8 +147,10 @@ static inline void cl_start_reloc(struct vc4_cl *cl, struct vc4_cl_out **out, uint32_t n) { assert(n == 1 || n == 2); +#ifdef DEBUG assert(cl->reloc_count == 0); cl->reloc_count = n; +#endif cl_u8(out, VC4_PACKET_GEM_HANDLES); cl->reloc_next = *out; @@ -157,8 +161,10 @@ cl_start_reloc(struct vc4_cl *cl, struct vc4_cl_out **out, uint32_t n) static inline struct vc4_cl_out * cl_start_shader_reloc(struct vc4_cl *cl, uint32_t n) { +#ifdef DEBUG assert(cl->reloc_count == 0); cl->reloc_count = n; +#endif cl->reloc_next = cl->next; /* Reserve the space where hindex will be written. */ @@ -174,7 +180,9 @@ cl_reloc(struct vc4_context *vc4, struct vc4_cl *cl, struct vc4_cl_out **cl_out, *(uint32_t *)cl->reloc_next = vc4_gem_hindex(vc4, bo); cl_advance(&cl->reloc_next, 4); +#ifdef DEBUG cl->reloc_count--; +#endif cl_u32(cl_out, offset); } @@ -187,7 +195,9 @@ cl_aligned_reloc(struct vc4_context *vc4, struct vc4_cl *cl, *(uint32_t *)cl->reloc_next = vc4_gem_hindex(vc4, bo); cl_advance(&cl->reloc_next, 4); +#ifdef DEBUG cl->reloc_count--; +#endif cl_aligned_u32(cl_out, offset); } -- 2.11.0