Lines Matching refs:obj
56 struct gl_transform_feedback_object *obj = data;
57 if (obj->Active && obj->program == callback_data->prog)
90 struct gl_transform_feedback_object *obj)
92 if (*ptr == obj)
112 if (obj) {
113 assert(obj->RefCount > 0);
116 obj->RefCount++;
117 obj->EverBound = GL_TRUE;
118 *ptr = obj;
158 struct gl_transform_feedback_object *obj =
161 ctx->Driver.DeleteTransformFeedback(ctx, obj);
193 _mesa_init_transform_feedback_object(struct gl_transform_feedback_object *obj,
196 obj->Name = name;
197 obj->RefCount = 1;
198 obj->EverBound = GL_FALSE;
206 struct gl_transform_feedback_object *obj;
208 obj = CALLOC_STRUCT(gl_transform_feedback_object);
209 if (!obj)
212 _mesa_init_transform_feedback_object(obj, name);
213 return obj;
219 struct gl_transform_feedback_object *obj)
223 for (i = 0; i < ARRAY_SIZE(obj->Buffers); i++) {
224 _mesa_reference_buffer_object(ctx, &obj->Buffers[i], NULL);
227 free(obj->Label);
228 free(obj);
235 struct gl_transform_feedback_object *obj)
243 struct gl_transform_feedback_object *obj)
251 struct gl_transform_feedback_object *obj)
259 struct gl_transform_feedback_object *obj)
282 * Fill in the correct Size value for each buffer in \c obj.
300 struct gl_transform_feedback_object *obj)
304 GLintptr offset = obj->Offset[i];
306 = obj->Buffers[i] == NULL ? 0 : obj->Buffers[i]->Size;
310 if (obj->RequestedSize[i] == 0) {
321 computed_size = MIN2(available_space, obj->RequestedSize[i]);
325 obj->Size[i] = computed_size & ~0x3;
336 const struct gl_transform_feedback_object *obj,
351 max_for_this_buffer = obj->Size[i] / (4 * stride);
387 struct gl_transform_feedback_object *obj;
393 obj = ctx->TransformFeedback.CurrentObject;
434 if (obj->Active) {
442 if (obj->BufferNames[i] == 0) {
455 obj->Active = GL_TRUE;
458 compute_transform_feedback_buffer_sizes(obj);
468 = _mesa_compute_max_transform_feedback_vertices(ctx, obj, info);
469 obj->GlesRemainingPrims = max_vertices / vertices_per_prim;
472 if (obj->program != source) {
474 _mesa_reference_program_(ctx, &obj->program, source);
475 obj->program = source;
479 ctx->Driver.BeginTransformFeedback(ctx, mode, obj);
501 struct gl_transform_feedback_object *obj)
507 ctx->Driver.EndTransformFeedback(ctx, obj);
509 _mesa_reference_program_(ctx, &obj->program, NULL);
527 struct gl_transform_feedback_object *obj;
530 obj = ctx->TransformFeedback.CurrentObject;
532 if (!obj->Active) {
538 end_transform_feedback(ctx, obj);
547 struct gl_transform_feedback_object *obj,
566 _mesa_set_transform_feedback_binding(ctx, obj, index, bufObj, offset, size);
578 struct gl_transform_feedback_object *obj,
589 if (obj->Active) {
658 struct gl_transform_feedback_object *obj,
663 if (obj->Active) {
677 bind_buffer_range(ctx, obj, index, bufObj, 0, 0, dsa);
689 struct gl_transform_feedback_object *obj;
691 obj = _mesa_lookup_transform_feedback_object(ctx, xfb);
692 if (!obj) {
697 return obj;
732 struct gl_transform_feedback_object *obj;
735 obj = lookup_transform_feedback_object_err(ctx, xfb,
737 if (!obj) {
747 _mesa_bind_buffer_base_transform_feedback(ctx, obj, index, bufObj, true);
755 struct gl_transform_feedback_object *obj;
758 obj = lookup_transform_feedback_object_err(ctx, xfb,
760 if (!obj) {
770 if (!_mesa_validate_buffer_range_xfb(ctx, obj, index, bufObj, offset,
775 _mesa_set_transform_feedback_binding(ctx, obj, index, bufObj, offset,
786 struct gl_transform_feedback_object *obj, GLuint index,
802 _mesa_bind_buffer_range_xfb(ctx, obj, index, bufObj, offset, 0);
820 struct gl_transform_feedback_object *obj;
828 obj = ctx->TransformFeedback.CurrentObject;
830 if (obj->Active) {
849 bind_buffer_offset(ctx, obj, index, buffer, offset, false);
1066 struct gl_transform_feedback_object *obj
1068 if (!obj) {
1074 obj);
1077 obj->EverBound = GL_TRUE;
1128 struct gl_transform_feedback_object *obj;
1136 obj = _mesa_lookup_transform_feedback_object(ctx, name);
1137 if (obj == NULL)
1140 return obj->EverBound;
1151 struct gl_transform_feedback_object *obj;
1153 obj = _mesa_lookup_transform_feedback_object(ctx, name);
1154 if (!no_error && !obj) {
1161 obj);
1213 struct gl_transform_feedback_object *obj
1215 if (obj) {
1216 if (obj->Active) {
1224 if (obj == ctx->TransformFeedback.CurrentObject) {
1229 reference_transform_feedback_object(&obj, NULL);
1242 struct gl_transform_feedback_object *obj)
1248 ctx->Driver.PauseTransformFeedback(ctx, obj);
1250 obj->Paused = GL_TRUE;
1265 struct gl_transform_feedback_object *obj;
1268 obj = ctx->TransformFeedback.CurrentObject;
1276 pause_transform_feedback(ctx, obj);
1286 struct gl_transform_feedback_object *obj)
1291 obj->Paused = GL_FALSE;
1294 ctx->Driver.ResumeTransformFeedback(ctx, obj);
1309 struct gl_transform_feedback_object *obj;
1312 obj = ctx->TransformFeedback.CurrentObject;
1314 if (!obj->Active || !obj->Paused) {
1325 if (obj->program != get_xfb_source(ctx)) {
1331 resume_transform_feedback(ctx, obj);
1337 struct gl_transform_feedback_object *obj;
1340 obj = lookup_transform_feedback_object_err(ctx, xfb,
1342 if (!obj) {
1348 *param = obj->Paused;
1351 *param = obj->Active;
1363 struct gl_transform_feedback_object *obj;
1366 obj = lookup_transform_feedback_object_err(ctx, xfb,
1368 if (!obj) {
1380 *param = obj->BufferNames[index];
1392 struct gl_transform_feedback_object *obj;
1395 obj = lookup_transform_feedback_object_err(ctx, xfb,
1397 if (!obj) {
1420 if (obj->RequestedSize[index] == 0 &&
1427 compute_transform_feedback_buffer_sizes(obj);
1430 assert(obj->RequestedSize[index] > 0);
1431 *param = obj->Offset[index];
1434 assert(obj->RequestedSize[index] > 0);
1435 *param = obj->Size[index];