On 12 November 2013 17:51, Kenneth Graunke <kenn...@whitecape.org> wrote:
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/brw_vec4_gs.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs.c > b/src/mesa/drivers/dri/i965/brw_vec4_gs.c > index b52d646..e802c1e 100644 > --- a/src/mesa/drivers/dri/i965/brw_vec4_gs.c > +++ b/src/mesa/drivers/dri/i965/brw_vec4_gs.c > @@ -194,6 +194,12 @@ do_gs_prog(struct brw_context *brw, > c.prog_data.output_vertex_size_hwords * 32 * > gp->program.VerticesOut; > output_size_bytes += 32 * c.prog_data.control_data_header_size_hwords; > > + /* Broadwell stores "Vertex Count" as a full 8 DWord (32 byte) URB > output, > + * which comes before the conttrol header. > + */ > + if (brw->gen >= 8) > + output_size_bytes += 32; > + > assert(output_size_bytes >= 1); > if (output_size_bytes > GEN7_MAX_GS_URB_ENTRY_SIZE_BYTES) > return false; > -- > 1.8.3.2 > It looks like changes also need to be made to vec4_gs_visitor::emit_urb_write_opcode() and vec4_gs_visitor::emit_control_data_bits() to offset the vertex data and control data by 32 bytes, and to vec4_gs_visitor::emit_thread_end() to cause the appropriate data to be written to the vertex count. Are those changes elsewhere in the series?
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev