#include "main/bufferobj.h"
#include "main/context.h"
#include "main/transformfeedback.h"
+#include "util/u_memory.h"
#include "st_cb_bufferobjects.h"
#include "st_cb_xformfb.h"
pipe_so_target_reference(&sobj->targets[i], NULL);
}
- for (i = 0; i < ARRAY_SIZE(sobj->base.Buffers); i++) {
- _mesa_reference_buffer_object(ctx, &sobj->base.Buffers[i], NULL);
- }
-
- free(obj);
+ _mesa_delete_transform_feedback_object(ctx, obj);
}
struct st_buffer_object *bo = st_buffer_object(sobj->base.Buffers[i]);
if (bo && bo->buffer) {
- unsigned stream =
- obj->shader_program->LinkedTransformFeedback.Buffers[i].Stream;
+ unsigned stream = obj->program->sh.LinkedTransformFeedback->
+ Buffers[i].Stream;
/* Check whether we need to recreate the target. */
if (!sobj->targets[i] ||
pipe_so_target_reference(&sobj->draw_count[i], NULL);
for (i = 0; i < ARRAY_SIZE(sobj->targets); i++) {
- unsigned stream =
- obj->shader_program->LinkedTransformFeedback.Buffers[i].Stream;
+ unsigned stream = obj->program->sh.LinkedTransformFeedback->
+ Buffers[i].Stream;
/* Is it not bound or already set for this stream? */
if (!sobj->targets[i] || sobj->draw_count[stream])