Lines Matching refs:resource

169                                         struct tegra_resource *resource)
179 status = screen->gpu->resource_get_handle(screen->gpu, NULL, resource->gpu,
191 resource->modifier = handle.modifier;
192 resource->stride = handle.stride;
195 err = drmPrimeFDToHandle(screen->fd, fd, &resource->handle);
210 struct tegra_resource *resource;
213 resource = calloc(1, sizeof(*resource));
214 if (!resource)
225 * resource (e.g. using gbm_bo_get_modifier()) before handing it to the
231 resource->gpu = screen->gpu->resource_create_with_modifiers(screen->gpu,
234 if (!resource->gpu)
239 err = tegra_screen_import_resource(screen, resource);
244 memcpy(&resource->base, resource->gpu, sizeof(*resource->gpu));
245 pipe_reference_init(&resource->base.reference, 1);
246 resource->base.screen = &screen->base;
249 resource->gpu->reference.count += 100000000;
250 resource->refcount = 100000000;
252 return &resource->base;
255 screen->gpu->resource_destroy(screen->gpu, resource->gpu);
257 free(resource);
268 struct pipe_resource *resource;
270 resource = screen->gpu->resource_create_front(screen->gpu, template,
272 if (resource)
273 resource->screen = pscreen;
275 return resource;
285 struct tegra_resource *resource;
287 resource = calloc(1, sizeof(*resource));
288 if (!resource)
291 resource->gpu = screen->gpu->resource_from_handle(screen->gpu, template,
293 if (!resource->gpu) {
294 free(resource);
298 memcpy(&resource->base, resource->gpu, sizeof(*resource->gpu));
299 pipe_reference_init(&resource->base.reference, 1);
300 resource->base.screen = &screen->base;
302 return &resource->base;
312 struct pipe_resource *resource;
314 resource = screen->gpu->resource_from_user_memory(screen->gpu, template,
316 if (resource)
317 resource->screen = pscreen;
319 return resource;
329 struct tegra_resource *resource = to_tegra_resource(presource);
341 handle->modifier = resource->modifier;
342 handle->handle = resource->handle;
343 handle->stride = resource->stride;
347 resource->gpu, handle, usage);
357 struct tegra_resource *resource = to_tegra_resource(presource);
360 p_atomic_add(&resource->gpu->reference.count, -resource->refcount);
361 pipe_resource_reference(&resource->gpu, NULL);
362 free(resource);
368 struct pipe_resource *resource,
379 resource, level, layer,
475 struct tegra_resource *resource;
478 resource = calloc(1, sizeof(*resource));
479 if (!resource)
492 resource->gpu = screen->gpu->resource_create_with_modifiers(screen->gpu,
496 if (!resource->gpu)
499 err = tegra_screen_import_resource(screen, resource);
503 memcpy(&resource->base, resource->gpu, sizeof(*resource->gpu));
504 pipe_reference_init(&resource->base.reference, 1);
505 resource->base.screen = &screen->base;
507 return &resource->base;
510 screen->gpu->resource_destroy(screen->gpu, resource->gpu);
512 free(resource);