<div dir="ltr">On 9 January 2014 22:17, Chris Forbes <span dir="ltr"><<a href="mailto:chrisf@ijw.co.nz" target="_blank">chrisf@ijw.co.nz</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

This is a nice cleanup; I like that this brings both writes to<br>
prog->LastClipDistanceArraySize together -- but it looks like the<br>
behavior changes slightly.<br>
<br>
Previously, if there was no VS and no GS, then we would never write<br>
prog->LastClipDistanceArraySize. Now we'll read an old junk value<br>
(potentially from a previous linking of the same program object with<br>
different shaders attached) from prog->Vert.ClipDistanceArraySize<br>
(since we never called validate_vertex_shader_executable) -- but we'll<br>
never end up actually using it, since it's only used for transform<br>
feedback of gl_ClipDistance.<br></blockquote><div><br></div><div>Yeah, that's a good point.  I agree that it's completely benign, but I think I could have made things clearer.  I've changed it to this:<br><br>

   if (num_shaders[MESA_SHADER_GEOMETRY] > 0)<br>      prog->LastClipDistanceArraySize = prog->Geom.ClipDistanceArraySize;<br>   else if (num_shaders[MESA_SHADER_VERTEX] > 0)<br>      prog->LastClipDistanceArraySize = prog->Vert.ClipDistanceArraySize;<br>

   else<br>      prog->LastClipDistanceArraySize = 0; /* Not used */<br></div></div></div></div>