[Mesa-dev] [PATCH 08/15] i965: Reserve space for "Vertex Count" in GS outputs.
Paul Berry
stereotype441 at gmail.com
Sat Nov 30 10:29:05 PST 2013
On 12 November 2013 17:51, Kenneth Graunke <kenneth at whitecape.org> wrote:
> Signed-off-by: Kenneth Graunke <kenneth at 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131130/253f3e4a/attachment-0001.html>
More information about the mesa-dev
mailing list