Lines Matching defs:intel_obj

49 			     struct intel_buffer_object *intel_obj)
51 intel_obj->buffer = drm_intel_bo_alloc(intel->bufmgr, "bufferobj",
52 intel_obj->Base.Size, 64);
56 release_buffer(struct intel_buffer_object *intel_obj)
58 drm_intel_bo_unreference(intel_obj->buffer);
59 intel_obj->buffer = NULL;
60 intel_obj->offset = 0;
61 intel_obj->source = 0;
89 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
91 assert(intel_obj);
100 free(intel_obj->sys_buffer);
102 drm_intel_bo_unreference(intel_obj->buffer);
103 free(intel_obj);
123 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
131 intel_obj->Base.Size = size;
132 intel_obj->Base.Usage = usage;
136 if (intel_obj->buffer != NULL)
137 release_buffer(intel_obj);
139 free(intel_obj->sys_buffer);
140 intel_obj->sys_buffer = NULL;
148 intel_obj->sys_buffer = malloc(size);
149 if (intel_obj->sys_buffer != NULL) {
151 memcpy(intel_obj->sys_buffer, data, size);
156 intel_bufferobj_alloc_buffer(intel, intel_obj);
157 if (!intel_obj->buffer)
161 drm_intel_bo_subdata(intel_obj->buffer, 0, size, data);
181 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
187 assert(intel_obj);
190 if (intel_obj->sys_buffer) {
191 if (intel_obj->source)
192 release_buffer(intel_obj);
194 if (intel_obj->buffer == NULL) {
195 memcpy((char *)intel_obj->sys_buffer + offset, data, size);
199 free(intel_obj->sys_buffer);
200 intel_obj->sys_buffer = NULL;
205 drm_intel_bo_busy(intel_obj->buffer) ||
206 drm_intel_bo_references(intel->batch.bo, intel_obj->buffer);
209 if (size == intel_obj->Base.Size) {
211 drm_intel_bo_unreference(intel_obj->buffer);
212 intel_bufferobj_alloc_buffer(intel, intel_obj);
213 drm_intel_bo_subdata(intel_obj->buffer, 0, size, data);
223 intel_obj->buffer, offset,
231 if (drm_intel_bo_busy(intel_obj->buffer)) {
235 drm_intel_bo_subdata(intel_obj->buffer, offset, size, data);
249 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
252 assert(intel_obj);
253 if (intel_obj->sys_buffer)
254 memcpy(data, (char *)intel_obj->sys_buffer + offset, size);
256 if (drm_intel_bo_references(intel->batch.bo, intel_obj->buffer)) {
259 drm_intel_bo_get_subdata(intel_obj->buffer, offset, size, data);
287 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
289 assert(intel_obj);
298 if (intel_obj->sys_buffer) {
302 if (!read_only && intel_obj->source)
303 release_buffer(intel_obj);
305 if (!intel_obj->buffer || intel_obj->source) {
306 obj->Pointer = intel_obj->sys_buffer + offset;
310 free(intel_obj->sys_buffer);
311 intel_obj->sys_buffer = NULL;
314 if (intel_obj->buffer == NULL) {
328 if (drm_intel_bo_references(intel->batch.bo, intel_obj->buffer)) {
330 drm_intel_bo_unreference(intel_obj->buffer);
331 intel_bufferobj_alloc_buffer(intel, intel_obj);
335 } else if (drm_intel_bo_busy(intel_obj->buffer) &&
337 drm_intel_bo_unreference(intel_obj->buffer);
338 intel_bufferobj_alloc_buffer(intel, intel_obj);
348 drm_intel_bo_busy(intel_obj->buffer)) {
350 intel_obj->range_map_buffer = malloc(length);
351 obj->Pointer = intel_obj->range_map_buffer;
353 intel_obj->range_map_bo = drm_intel_bo_alloc(intel->bufmgr,
357 drm_intel_gem_bo_map_gtt(intel_obj->range_map_bo);
359 drm_intel_bo_map(intel_obj->range_map_bo,
362 obj->Pointer = intel_obj->range_map_bo->virtual;
368 drm_intel_gem_bo_map_unsynchronized(intel_obj->buffer);
370 drm_intel_gem_bo_map_gtt(intel_obj->buffer);
372 drm_intel_bo_map(intel_obj->buffer, (access & GL_MAP_WRITE_BIT) != 0);
375 obj->Pointer = intel_obj->buffer->virtual + offset;
390 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
396 if (intel_obj->range_map_buffer == NULL)
404 drm_intel_bo_subdata(temp_bo, 0, length, intel_obj->range_map_buffer);
407 intel_obj->buffer, obj->Offset + offset,
422 struct intel_buffer_object *intel_obj = intel_buffer_object(obj);
424 assert(intel_obj);
426 if (intel_obj->sys_buffer != NULL) {
428 } else if (intel_obj->range_map_buffer != NULL) {
435 free(intel_obj->range_map_buffer);
436 intel_obj->range_map_buffer = NULL;
437 } else if (intel_obj->range_map_bo != NULL) {
438 drm_intel_bo_unmap(intel_obj->range_map_bo);
441 intel_obj->buffer, obj->Offset,
442 intel_obj->range_map_bo, 0,
452 drm_intel_bo_unreference(intel_obj->range_map_bo);
453 intel_obj->range_map_bo = NULL;
454 } else if (intel_obj->buffer != NULL) {
455 drm_intel_bo_unmap(intel_obj->buffer);
466 struct intel_buffer_object *intel_obj,
469 if (intel_obj->source)
470 release_buffer(intel_obj);
472 if (intel_obj->buffer == NULL) {
473 intel_bufferobj_alloc_buffer(intel, intel_obj);
474 drm_intel_bo_subdata(intel_obj->buffer,
475 0, intel_obj->Base.Size,
476 intel_obj->sys_buffer);
478 free(intel_obj->sys_buffer);
479 intel_obj->sys_buffer = NULL;
480 intel_obj->offset = 0;
483 return intel_obj->buffer;
621 struct intel_buffer_object *intel_obj,
624 if (intel_obj->buffer == NULL) {
626 intel_obj->sys_buffer, intel_obj->Base.Size, align,
627 &intel_obj->buffer, &intel_obj->offset);
628 intel_obj->source = 1;
631 *offset = intel_obj->offset;
632 return intel_obj->buffer;
714 struct intel_buffer_object *intel_obj = intel_buffer_object (obj);
716 if (intel_obj->buffer != NULL)
717 return intel_buffer_purgeable(intel_obj->buffer);
720 if (intel_obj->sys_buffer != NULL) {
721 free(intel_obj->sys_buffer);
722 intel_obj->sys_buffer = NULL;
729 drm_intel_bo *bo = intel_bufferobj_buffer(intel, intel_obj, INTEL_READ);