i965: Fix instanced geometry shaders on Gen8+.
[mesa.git] / src / mesa / drivers / dri / i965 / gen8_gs_state.c
index efe490ca206fe26955df2e63dcc46e866e8f523a..46b97131e209533845fe4488d5b76a8e47649d7d 100644 (file)
@@ -34,7 +34,7 @@ gen8_upload_gs_state(struct brw_context *brw)
    /* BRW_NEW_GEOMETRY_PROGRAM */
    bool active = brw->geometry_program;
    /* BRW_NEW_GS_PROG_DATA */
-   const struct brw_vec4_prog_data *prog_data = &brw->gs.prog_data->base;
+   const struct brw_vue_prog_data *prog_data = &brw->gs.prog_data->base;
 
    if (active) {
       int urb_entry_write_offset = 1;
@@ -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) |