Lines Matching refs:obj
59 struct gl_transform_feedback_object *obj = data;
60 if (obj->Active && obj->program == callback_data->prog)
93 struct gl_transform_feedback_object *obj)
95 if (*ptr == obj)
115 if (obj) {
116 assert(obj->RefCount > 0);
119 obj->RefCount++;
120 obj->EverBound = GL_TRUE;
121 *ptr = obj;
160 struct gl_transform_feedback_object *obj =
163 ctx->Driver.DeleteTransformFeedback(ctx, obj);
195 _mesa_init_transform_feedback_object(struct gl_transform_feedback_object *obj,
198 obj->Name = name;
199 obj->RefCount = 1;
200 obj->EverBound = GL_FALSE;
210 * \param obj Transform feedback object due to be deleted.
215 *obj)
217 for (unsigned i = 0; i < ARRAY_SIZE(obj->Buffers); i++) {
218 _mesa_reference_buffer_object(ctx, &obj->Buffers[i], NULL);
221 free(obj->Label);
222 free(obj);
229 struct gl_transform_feedback_object *obj;
231 obj = CALLOC_STRUCT(gl_transform_feedback_object);
232 if (!obj)
235 _mesa_init_transform_feedback_object(obj, name);
236 return obj;
242 struct gl_transform_feedback_object *obj)
250 struct gl_transform_feedback_object *obj)
258 struct gl_transform_feedback_object *obj)
266 struct gl_transform_feedback_object *obj)
289 * Fill in the correct Size value for each buffer in \c obj.
307 struct gl_transform_feedback_object *obj)
311 GLintptr offset = obj->Offset[i];
313 = obj->Buffers[i] == NULL ? 0 : obj->Buffers[i]->Size;
317 if (obj->RequestedSize[i] == 0) {
328 computed_size = MIN2(available_space, obj->RequestedSize[i]);
332 obj->Size[i] = computed_size & ~0x3;
343 const struct gl_transform_feedback_object *obj,
358 max_for_this_buffer = obj->Size[i] / (4 * stride);
394 struct gl_transform_feedback_object *obj;
400 obj = ctx->TransformFeedback.CurrentObject;
441 if (obj->Active) {
449 if (obj->BufferNames[i] == 0) {
462 obj->Active = GL_TRUE;
465 compute_transform_feedback_buffer_sizes(obj);
475 = _mesa_compute_max_transform_feedback_vertices(ctx, obj, info);
476 obj->GlesRemainingPrims = max_vertices / vertices_per_prim;
479 if (obj->program != source) {
481 _mesa_reference_program_(ctx, &obj->program, source);
482 obj->program = source;
486 ctx->Driver.BeginTransformFeedback(ctx, mode, obj);
509 struct gl_transform_feedback_object *obj)
515 ctx->Driver.EndTransformFeedback(ctx, obj);
517 _mesa_reference_program_(ctx, &obj->program, NULL);
536 struct gl_transform_feedback_object *obj;
539 obj = ctx->TransformFeedback.CurrentObject;
541 if (!obj->Active) {
547 end_transform_feedback(ctx, obj);
556 struct gl_transform_feedback_object *obj,
575 _mesa_set_transform_feedback_binding(ctx, obj, index, bufObj, offset, size);
587 struct gl_transform_feedback_object *obj,
598 if (obj->Active) {
667 struct gl_transform_feedback_object *obj,
672 if (obj->Active) {
686 bind_buffer_range(ctx, obj, index, bufObj, 0, 0, dsa);
698 struct gl_transform_feedback_object *obj;
700 obj = _mesa_lookup_transform_feedback_object(ctx, xfb);
701 if (!obj) {
706 return obj;
743 struct gl_transform_feedback_object *obj;
746 obj = lookup_transform_feedback_object_err(ctx, xfb,
748 if (!obj) {
760 _mesa_bind_buffer_base_transform_feedback(ctx, obj, index, bufObj, true);
768 struct gl_transform_feedback_object *obj;
771 obj = lookup_transform_feedback_object_err(ctx, xfb,
773 if (!obj) {
785 if (!_mesa_validate_buffer_range_xfb(ctx, obj, index, bufObj, offset,
790 _mesa_set_transform_feedback_binding(ctx, obj, index, bufObj, offset,
801 struct gl_transform_feedback_object *obj, GLuint index,
817 _mesa_bind_buffer_range_xfb(ctx, obj, index, bufObj, offset, 0);
835 struct gl_transform_feedback_object *obj;
843 obj = ctx->TransformFeedback.CurrentObject;
845 if (obj->Active) {
864 bind_buffer_offset(ctx, obj, index, buffer, offset, false);
1078 struct gl_transform_feedback_object *obj
1080 if (!obj) {
1085 obj, true);
1088 obj->EverBound = GL_TRUE;
1139 struct gl_transform_feedback_object *obj;
1147 obj = _mesa_lookup_transform_feedback_object(ctx, name);
1148 if (obj == NULL)
1151 return obj->EverBound;
1162 struct gl_transform_feedback_object *obj;
1164 obj = _mesa_lookup_transform_feedback_object(ctx, name);
1165 if (!no_error && !obj) {
1172 obj);
1224 struct gl_transform_feedback_object *obj
1226 if (obj) {
1227 if (obj->Active) {
1235 if (obj == ctx->TransformFeedback.CurrentObject) {
1240 reference_transform_feedback_object(&obj, NULL);
1253 struct gl_transform_feedback_object *obj)
1259 ctx->Driver.PauseTransformFeedback(ctx, obj);
1261 obj->Paused = GL_TRUE;
1277 struct gl_transform_feedback_object *obj;
1280 obj = ctx->TransformFeedback.CurrentObject;
1288 pause_transform_feedback(ctx, obj);
1298 struct gl_transform_feedback_object *obj)
1303 obj->Paused = GL_FALSE;
1306 ctx->Driver.ResumeTransformFeedback(ctx, obj);
1322 struct gl_transform_feedback_object *obj;
1325 obj = ctx->TransformFeedback.CurrentObject;
1327 if (!obj->Active || !obj->Paused) {
1338 if (obj->program != get_xfb_source(ctx)) {
1344 resume_transform_feedback(ctx, obj);
1350 struct gl_transform_feedback_object *obj;
1353 obj = lookup_transform_feedback_object_err(ctx, xfb,
1355 if (!obj) {
1361 *param = obj->Paused;
1364 *param = obj->Active;
1376 struct gl_transform_feedback_object *obj;
1379 obj = lookup_transform_feedback_object_err(ctx, xfb,
1381 if (!obj) {
1393 *param = obj->BufferNames[index];
1405 struct gl_transform_feedback_object *obj;
1408 obj = lookup_transform_feedback_object_err(ctx, xfb,
1410 if (!obj) {
1433 if (obj->RequestedSize[index] == 0 &&
1440 compute_transform_feedback_buffer_sizes(obj);
1443 assert(obj->RequestedSize[index] > 0);
1444 *param = obj->Offset[index];
1447 assert(obj->RequestedSize[index] > 0);
1448 *param = obj->Size[index];