<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 2, 2017 at 10:21 AM, Kenneth Graunke <span dir="ltr"><<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</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 Wednesday, March 1, 2017 10:40:24 PM PST Jason Ekstrand wrote:<br>
> We used to have an assert in mark_surface_used to protect us from this<br>
> but it's gone now.  Instead, we'll assert right before we try to memcpy<br>
> the contents of surf_offset into the binding table.<br>
> ---<br>
>  src/mesa/drivers/dri/i965/brw_<wbr>binding_tables.c | 2 ++<br>
>  1 file changed, 2 insertions(+)<br>
><br>
> diff --git a/src/mesa/drivers/dri/i965/<wbr>brw_binding_tables.c b/src/mesa/drivers/dri/i965/<wbr>brw_binding_tables.c<br>
> index 9ca841a..3c795ae 100644<br>
> --- a/src/mesa/drivers/dri/i965/<wbr>brw_binding_tables.c<br>
> +++ b/src/mesa/drivers/dri/i965/<wbr>brw_binding_tables.c<br>
> @@ -121,6 +121,8 @@ brw_upload_binding_table(<wbr>struct brw_context *brw,<br>
>                                            &stage_state->bind_bo_offset);<br>
><br>
>           /* BRW_NEW_SURFACES and BRW_NEW_*_CONSTBUF */<br>
> +         assert(prog_data->binding_<wbr>table.size_bytes <=<br>
> +                sizeof(stage_state->surf_<wbr>offset));<br>
>           memcpy(bind, stage_state->surf_offset,<br>
>                  prog_data->binding_table.size_<wbr>bytes);<br>
>        }<br>
><br>
<br>
</span>This is too late.  You will have already tried to write too much data<br>
into surf_offset[] when populating it.<br>
</blockquote></div><br></div><div class="gmail_extra">Bummer. :(  I'll give it another go.<br></div></div>