<div dir="ltr">On 25 August 2013 23:46, Kenneth Graunke <span dir="ltr"><<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Previously, we allocated space in brw_vs_prog_data's params and<br>
pull_params arrays for MAX_CLIP_PLANES vec4s---even when it wasn't<br>
necessary.<br>
<br>
On a 64-bit architecture, this used 0.5 kB of space (8 clip planes *<br>
4 floats per plane * 8 bytes per float pointer * 2 arrays of pointers =<br>
512 bytes).  Since this cost is per-vertex shader, it added up.<br>
<br>
Conveniently, we already store the number of clip plane constants in the<br>
program key.  By using that, we can allocate the exact amount of space<br>
needed.  For the common case where user clipping is disabled, this means<br>
0 bytes.<br>
<br>
While we're here, mention exactly what code requires this extra space,<br>
since it wasn't obvious.<br>
<br>
Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>><br></blockquote><div><br></div><div>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br>
</div></div></div></div>