i965: Fix instanced geometry shaders on Gen8+.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 4 Apr 2015 09:00:52 +0000 (02:00 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 6 Apr 2015 21:06:26 +0000 (14:06 -0700)
Jordan added this in commit 741782b5948bb3d01d699f062a37513c2e73b076 for
Gen7 platforms.  I missed this when adding the Broadwell code.

Fixes Piglit's spec/arb_gpu_shader5/invocation-id-{basic,in-separate-gs}
with MESA_EXTENSION_OVERRIDE=GL_ARB_gpu_shader5 set.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Cc: mesa-stable@lists.freedesktop.org
src/mesa/drivers/dri/i965/gen8_gs_state.c

index 95cc1234fe5d21a433af3264cf514a0bf7c51e62..46b97131e209533845fe4488d5b76a8e47649d7d 100644 (file)
@@ -82,6 +82,8 @@ gen8_upload_gs_state(struct brw_context *brw)
       uint32_t dw7 = (brw->gs.prog_data->control_data_header_size_hwords <<
                       GEN7_GS_CONTROL_DATA_HEADER_SIZE_SHIFT) |
                       brw->gs.prog_data->dispatch_mode |
+                     ((brw->gs.prog_data->invocations - 1) <<
+                      GEN7_GS_INSTANCE_CONTROL_SHIFT) |
                       GEN6_GS_STATISTICS_ENABLE |
                       (brw->gs.prog_data->include_primitive_id ?
                        GEN7_GS_INCLUDE_PRIMITIVE_ID : 0) |