i965: Use force_compat_profile driconf option
[mesa.git] / src / mesa / drivers / dri / i965 / gen6_sol.c
index b1baf01bcd9f9ce13845e72e19f3e08864a6c44e..bda015e6cc5b74961f7937a83c3b99160d80d600 100644 (file)
@@ -195,9 +195,11 @@ brw_new_transform_feedback(struct gl_context *ctx, GLuint name)
    _mesa_init_transform_feedback_object(&brw_obj->base, name);
 
    brw_obj->offset_bo =
-      brw_bo_alloc(brw->bufmgr, "transform feedback offsets", 16, 64);
+      brw_bo_alloc(brw->bufmgr, "transform feedback offsets", 16,
+                   BRW_MEMZONE_OTHER);
    brw_obj->prim_count_bo =
-      brw_bo_alloc(brw->bufmgr, "xfb primitive counts", 4096, 64);
+      brw_bo_alloc(brw->bufmgr, "xfb primitive counts", 16384,
+                   BRW_MEMZONE_OTHER);
 
    return &brw_obj->base;
 }
@@ -209,14 +211,10 @@ brw_delete_transform_feedback(struct gl_context *ctx,
    struct brw_transform_feedback_object *brw_obj =
       (struct brw_transform_feedback_object *) obj;
 
-   for (unsigned i = 0; i < ARRAY_SIZE(obj->Buffers); i++) {
-      _mesa_reference_buffer_object(ctx, &obj->Buffers[i], NULL);
-   }
-
    brw_bo_unreference(brw_obj->offset_bo);
    brw_bo_unreference(brw_obj->prim_count_bo);
 
-   free(brw_obj);
+   _mesa_delete_transform_feedback_object(ctx, obj);
 }
 
 /**
@@ -287,7 +285,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,