<div dir="ltr">Thanks, this if-statement looks tidier the way you suggested. I'll update the patch.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 7:13 PM, Ilia Mirkin <span dir="ltr"><<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Feb 11, 2016 at 11:31 AM, Plamena Manolova<br>
<<a href="mailto:plamena.manolova@intel.com">plamena.manolova@intel.com</a>> wrote:<br>
</span><span class="">> +   struct empty_uniform_block *current_block = NULL;<br>
> +   unsigned prev_location = -1;<br>
> +<br>
> +   for (unsigned i = 0; i < prog->NumUniformRemapTable; i++) {<br>
> +      /* We found empty space in UniformRemapTable. */<br>
> +      if (prog->UniformRemapTable[i] == NULL) {<br>
> +         /* We've found the beginning of new continous block of empty slots */<br>
> +         if ((i == 0) || !current_block || (i != prev_location + 1)) {<br>
<br>
</span>You could delete prev_location entirely and transform this into<br>
<br>
if (!current_block || current_block->start + current_block->slots != i)<br>
<span class=""><br>
> +            current_block = ralloc(NULL, struct empty_uniform_block);<br>
> +            current_block->start = i;<br>
> +            current_block->slots = 1;<br>
<br>
</span>And depending on how clever you want to get, you could change the<br>
above to rzalloc, not touch slots here, and drop the continue. Then<br>
the slots++ will magically increment it to 1. Up to you if you find<br>
this more or less readable though, I don't have a strong preference<br>
either way.<br>
<span class="im HOEnZb"><br>
> +            list_addtail(&current_block->link, &prog->EmptyUniformLocations);<br>
> +            prev_location = i;<br>
> +            continue;<br>
> +         }<br>
> +<br>
> +         /* The current block continues, so we simply increment its slots */<br>
> +         current_block->slots++;<br>
> +         prev_location = i;<br>
> +      }<br>
>     }<br>
</span><div class="HOEnZb"><div class="h5">---------------------------------------------------------------------<br>
Intel Corporation (UK) Limited<br>
Registered No. 1134945 (England)<br>
Registered Office: Pipers Way, Swindon SN3 1RJ<br>
VAT No: 860 2173 47<br>
<br>
This e-mail and any attachments may contain confidential material for<br>
the sole use of the intended recipient(s). Any review or distribution<br>
by others is strictly prohibited. If you are not the intended<br>
recipient, please contact the sender and delete all copies.<br>
</div></div></blockquote></div><br></div>