X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fidentity%2Fid_objects.c;h=a26d9874870b9bc0b0f3f3f8953003ca6ee7c0a0;hb=576868140bbb1abd177e7fd122720883d773137e;hp=ca4743f9ef725d2e33ce4ecaf60188d134b5f9fb;hpb=c2c1f60391113490f4f90efb2786544c599ac991;p=mesa.git diff --git a/src/gallium/drivers/identity/id_objects.c b/src/gallium/drivers/identity/id_objects.c index ca4743f9ef7..a26d9874870 100644 --- a/src/gallium/drivers/identity/id_objects.c +++ b/src/gallium/drivers/identity/id_objects.c @@ -71,7 +71,8 @@ identity_resource_destroy(struct identity_resource *id_resource) struct pipe_surface * -identity_surface_create(struct identity_resource *id_resource, +identity_surface_create(struct identity_context *id_context, + struct identity_resource *id_resource, struct pipe_surface *surface) { struct identity_surface *id_surface; @@ -100,10 +101,12 @@ error: } void -identity_surface_destroy(struct identity_surface *id_surface) +identity_surface_destroy(struct identity_context *id_context, + struct identity_surface *id_surface) { pipe_resource_reference(&id_surface->base.texture, NULL); - pipe_surface_reference(&id_surface->surface, NULL); + id_context->pipe->surface_destroy(id_context->pipe, + id_surface->surface); FREE(id_surface); } @@ -120,13 +123,14 @@ identity_sampler_view_create(struct identity_context *id_context, assert(view->texture == id_resource->resource); - id_view = MALLOC(sizeof(struct identity_sampler_view)); + id_view = CALLOC_STRUCT(identity_sampler_view); id_view->base = *view; id_view->base.reference.count = 1; id_view->base.texture = NULL; pipe_resource_reference(&id_view->base.texture, id_resource->resource); id_view->base.context = id_context->pipe; + id_view->sampler_view = view; return &id_view->base; error: @@ -145,9 +149,9 @@ identity_sampler_view_destroy(struct identity_context *id_context, struct pipe_transfer * -identity_transfer_create(struct identity_context *id_context, - struct identity_resource *id_resource, - struct pipe_transfer *transfer) +identity_transfer_map(struct identity_context *id_context, + struct identity_resource *id_resource, + struct pipe_transfer *transfer) { struct identity_transfer *id_transfer; @@ -171,7 +175,7 @@ identity_transfer_create(struct identity_context *id_context, return &id_transfer->base; error: - id_context->pipe->transfer_destroy(id_context->pipe, transfer); + id_context->pipe->transfer_unmap(id_context->pipe, transfer); return NULL; } @@ -180,8 +184,6 @@ identity_transfer_destroy(struct identity_context *id_context, struct identity_transfer *id_transfer) { pipe_resource_reference(&id_transfer->base.resource, NULL); - id_transfer->pipe->transfer_destroy(id_context->pipe, - id_transfer->transfer); FREE(id_transfer); }