i965/gen6-7/sol: Bump primitive counter BO size.
Improves performance of SynMark2 OglGSCloth by a further 9.65%±0.59% due to the reduction in overwraps of the primitive count buffer that lead to a CPU stall on previous rendering. Cummulative performance improvement from the series 81.50% ±0.96% (data gathered on VLV). Tested-By: Eero Tamminen <eero.t.tamminen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -197,7 +197,7 @@ brw_new_transform_feedback(struct gl_context *ctx, GLuint name)
|
||||
brw_obj->offset_bo =
|
||||
brw_bo_alloc(brw->bufmgr, "transform feedback offsets", 16, 64);
|
||||
brw_obj->prim_count_bo =
|
||||
brw_bo_alloc(brw->bufmgr, "xfb primitive counts", 4096, 64);
|
||||
brw_bo_alloc(brw->bufmgr, "xfb primitive counts", 16384, 64);
|
||||
|
||||
return &brw_obj->base;
|
||||
}
|
||||
@@ -287,7 +287,8 @@ brw_save_primitives_written_counters(struct brw_context *brw,
|
||||
assert(obj->prim_count_bo != NULL);
|
||||
|
||||
/* Check if there's enough space for a new pair of four values. */
|
||||
if ((obj->counter.bo_end + 2) * streams * sizeof(uint64_t) >= 4096) {
|
||||
if ((obj->counter.bo_end + 2) * streams * sizeof(uint64_t) >=
|
||||
obj->prim_count_bo->size) {
|
||||
aggregate_transform_feedback_counter(brw, obj->prim_count_bo,
|
||||
&obj->previous_counter);
|
||||
aggregate_transform_feedback_counter(brw, obj->prim_count_bo,
|
||||
|
||||
Reference in New Issue
Block a user