<div dir="ltr">On 8 April 2013 09:28, Eric Anholt <span dir="ltr"><<a href="mailto:eric@anholt.net" target="_blank">eric@anholt.net</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">
<div class="HOEnZb"><div class="h5">Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>> writes:<br>
> -/* Note: brw_vs_prog_data_compare() must be updated when adding fields to this<br>
> - * struct!<br>
> +<br>
> +/* Note: brw_vec4_prog_data_compare() must be updated when adding fields to<br>
> + * this struct!<br>
>   */<br>
> -struct brw_vs_prog_data {<br>
> +struct brw_vec4_prog_data {<br>
>     struct brw_vue_map vue_map;<br>
><br>
>     GLuint curb_read_length;<br>
> -   GLuint urb_read_length;<br>
>     GLuint total_grf;<br>
>     GLuint nr_params;       /**< number of float params/constants */<br>
>     GLuint nr_pull_params; /**< number of dwords referenced by pull_param[] */<br>
>     GLuint total_scratch;<br>
><br>
> +   int num_surfaces;<br>
> +<br>
> +   /* These pointers must appear last.  See brw_vec4_prog_data_compare(). */<br>
> +   const float **param;<br>
> +   const float **pull_param;<br>
> +};<br>
> +<br>
> +<br>
> +/* Note: brw_vs_prog_data_compare() must be updated when adding fields to this<br>
> + * struct!<br>
> + */<br>
> +struct brw_vs_prog_data {<br>
> +   struct brw_vec4_prog_data base;<br>
> +<br>
> +   GLuint urb_read_length;<br>
<br>
</div></div>There's a URB read length in the GS state packet, so it seems like you'd<br>
want this field in the GS case as well as VS.  I'm confused.  I also<br>
would have expected urb_entry_size in GS.<br>
</blockquote></div><br></div><div class="gmail_extra">You're right.  I don't know what I was thinking.  I'll fix both of those in v2.<br></div></div>