i965/gs: Set number of control data bits for stream mode.

If the geometry shader is indeed using streams then we need 2 control data
bits per vertex for the StreamID. If the shader is not using streams then
we don't need control data bits.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Iago Toral Quiroga 2014-06-03 12:25:08 +02:00
parent 6d3632c9c9
commit 9650293b51

View file

@ -81,10 +81,11 @@ do_gs_prog(struct brw_context *brw,
*/ */
c.prog_data.control_data_format = GEN7_GS_CONTROL_DATA_FORMAT_GSCTL_SID; c.prog_data.control_data_format = GEN7_GS_CONTROL_DATA_FORMAT_GSCTL_SID;
/* However, StreamID is not yet supported, so we output zero bits of /* We only have to emit control bits if we are using streams */
* control data per vertex. if (prog->Geom.UsesStreams)
*/ c.control_data_bits_per_vertex = 2;
c.control_data_bits_per_vertex = 0; else
c.control_data_bits_per_vertex = 0;
} else { } else {
/* When the output type is triangle_strip or line_strip, EndPrimitive() /* When the output type is triangle_strip or line_strip, EndPrimitive()
* may be used to terminate the current strip and start a new one * may be used to terminate the current strip and start a new one