Lines Matching defs:obj

81                         const void *data, struct gl_buffer_object *obj)
86 assert(offset + size <= obj->Size);
99 if (!obj->buffer) {
115 pipe->buffer_subdata(pipe, obj->buffer,
116 _mesa_bufferobj_mapped(obj, MAP_USER) ?
129 void *data, struct gl_buffer_object *obj)
134 assert(offset + size <= obj->Size);
139 if (!obj->buffer) {
144 pipe_buffer_read(ctx->pipe, obj->buffer,
152 void *data, struct gl_buffer_object *obj)
154 bufferobj_get_subdata(ctx, offset, size, data, obj);
268 struct gl_buffer_object *obj)
272 bool is_mapped = _mesa_bufferobj_mapped(obj, MAP_USER);
279 obj->Size = 0;
284 size && obj->buffer &&
285 obj->Size == size &&
286 obj->Usage == usage &&
287 obj->StorageFlags == storageFlags) {
298 pipe->buffer_subdata(pipe, obj->buffer,
306 pipe->invalidate_resource(pipe, obj->buffer);
311 obj->Size = size;
312 obj->Usage = usage;
313 obj->StorageFlags = storageFlags;
315 _mesa_bufferobj_release_buffer(obj);
335 buffer_usage(target, obj->Immutable, storageFlags, usage);
343 obj->buffer = screen->resource_from_memobj(screen, &buffer,
348 obj->buffer =
352 obj->buffer = screen->resource_create(screen, &buffer);
354 if (obj->buffer && data)
355 pipe_buffer_write(pipe, obj->buffer, 0, size, data);
358 if (!obj->buffer) {
360 obj->Size = 0;
364 obj->private_refcount_ctx = ctx;
370 if (obj->UsageHistory & USAGE_ARRAY_BUFFER)
372 if (obj->UsageHistory & USAGE_UNIFORM_BUFFER)
374 if (obj->UsageHistory & USAGE_SHADER_STORAGE_BUFFER)
376 if (obj->UsageHistory & USAGE_TEXTURE_BUFFER)
378 if (obj->UsageHistory & USAGE_ATOMIC_COUNTER_BUFFER)
398 struct gl_buffer_object *obj)
400 return bufferobj_data(ctx, target, size, data, NULL, 0, usage, storageFlags, obj);
472 struct gl_buffer_object *obj,
479 assert(offset < obj->Size);
480 assert(offset + length <= obj->Size);
484 offset == 0 && length == obj->Size);
499 obj->Mappings[index].Pointer = pipe_buffer_map_range(pipe,
500 obj->buffer,
503 &obj->transfer[index]);
504 if (obj->Mappings[index].Pointer) {
505 obj->Mappings[index].Offset = offset;
506 obj->Mappings[index].Length = length;
507 obj->Mappings[index].AccessFlags = access;
510 obj->transfer[index] = NULL;
513 return obj->Mappings[index].Pointer;
520 struct gl_buffer_object *obj,
528 assert(offset + length <= obj->Mappings[index].Length);
529 assert(obj->Mappings[index].Pointer);
534 pipe_buffer_flush_mapped_range(pipe, obj->transfer[index],
535 obj->Mappings[index].Offset + offset,
544 _mesa_bufferobj_unmap(struct gl_context *ctx, struct gl_buffer_object *obj,
549 if (obj->Mappings[index].Length)
550 pipe_buffer_unmap(pipe, obj->transfer[index]);
552 obj->transfer[index] = NULL;
553 obj->Mappings[index].Pointer = NULL;
554 obj->Mappings[index].Offset = 0;
555 obj->Mappings[index].Length = 0;
829 * \param obj Buffer object target on which to operate.
836 bufferobj_range_mapped(const struct gl_buffer_object *obj,
839 if (_mesa_bufferobj_mapped(obj, MAP_USER)) {
841 const GLintptr mapEnd = obj->Mappings[MAP_USER].Offset +
842 obj->Mappings[MAP_USER].Length;
844 if (!(end <= obj->Mappings[MAP_USER].Offset || offset >= mapEnd)) {
1011 _mesa_bufferobj_release_buffer(struct gl_buffer_object *obj)
1013 if (!obj->buffer)
1019 if (obj->private_refcount) {
1020 assert(obj->private_refcount > 0);
1021 p_atomic_add(&obj->buffer->reference.count,
1022 -obj->private_refcount);
1023 obj->private_refcount = 0;
1025 obj->private_refcount_ctx = NULL;
1027 pipe_resource_reference(&obj->buffer, NULL);
1536 * If *ptr points to obj, set ptr = the Null/default buffer object.
1544 struct gl_buffer_object *obj)
1546 if (vao->BufferBinding[index].BufferObj == obj) {
5178 struct gl_buffer_object *obj,
5185 if (offset != 0 || size != obj->Size)
5189 if (!obj->buffer || _mesa_bufferobj_mapped(obj, MAP_USER))
5192 pipe->invalidate_resource(pipe, obj->buffer);