shader->info.input_semantic_index[slot],
shader->input_info);
#if DEBUG_INPUTS
- debug_printf("\tSlot = %d, vs_slot = %d, idx = %d:\n",
- slot, vs_slot, idx);
+ debug_printf("\tSlot = %d, vs_slot = %d, i = %d:\n",
+ slot, vs_slot, i);
#endif
#if 0
assert(!util_is_inf_or_nan(input[vs_slot][0]));
if (current_verts != shader->max_output_vertices) {
memcpy(output_ptr + (vertex_count + current_verts) * shader->vertex_size,
output_ptr + (vertex_count + shader->max_output_vertices) * shader->vertex_size,
- shader->vertex_size * (total_verts - vertex_count - current_verts));
+ shader->vertex_size * (total_verts - vertex_count));
}
vertex_count += current_verts;
}
++shader->in_prim_idx;
++shader->fetched_prim_count;
- gs_flush(shader);
+ if (draw_gs_should_flush(shader))
+ gs_flush(shader);
}
static void gs_line(struct draw_geometry_shader *shader,
shader->fetched_prim_count);
++shader->in_prim_idx;
++shader->fetched_prim_count;
-
- gs_flush(shader);
+
+ if (draw_gs_should_flush(shader))
+ gs_flush(shader);
}
static void gs_line_adj(struct draw_geometry_shader *shader,
++shader->in_prim_idx;
++shader->fetched_prim_count;
- gs_flush(shader);
+ if (draw_gs_should_flush(shader))
+ gs_flush(shader);
}
static void gs_tri(struct draw_geometry_shader *shader,
++shader->in_prim_idx;
++shader->fetched_prim_count;
- gs_flush(shader);
+ if (draw_gs_should_flush(shader))
+ gs_flush(shader);
}
static void gs_tri_adj(struct draw_geometry_shader *shader,
++shader->in_prim_idx;
++shader->fetched_prim_count;
- gs_flush(shader);
+ if (draw_gs_should_flush(shader))
+ gs_flush(shader);
}
#define FUNC gs_run
} else
#endif
{
- gs->vector_length = TGSI_NUM_CHANNELS;
+ gs->vector_length = 1;
}
for (i = 0; i < gs->info.num_properties; ++i) {