X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fidentity%2Fid_objects.h;h=058cf3009df801babf0a6335c18a99d8036d06ae;hb=c7f5c9a3dc6350252e73b541bb85ab3ed9e64a9c;hp=ce58faa3c7c813c1287ad04a9f5004f1d3f63bba;hpb=7549a8397b310acf672f97a08c8e7d866cdf492c;p=mesa.git diff --git a/src/gallium/drivers/identity/id_objects.h b/src/gallium/drivers/identity/id_objects.h index ce58faa3c7c..058cf3009df 100644 --- a/src/gallium/drivers/identity/id_objects.h +++ b/src/gallium/drivers/identity/id_objects.h @@ -34,20 +34,22 @@ #include "id_screen.h" +struct identity_context; -struct identity_buffer + +struct identity_resource { - struct pipe_buffer base; + struct pipe_resource base; - struct pipe_buffer *buffer; + struct pipe_resource *resource; }; -struct identity_texture +struct identity_sampler_view { - struct pipe_texture base; + struct pipe_sampler_view base; - struct pipe_texture *texture; + struct pipe_sampler_view *sampler_view; }; @@ -63,26 +65,27 @@ struct identity_transfer { struct pipe_transfer base; + struct pipe_context *pipe; struct pipe_transfer *transfer; }; -static INLINE struct identity_buffer * -identity_buffer(struct pipe_buffer *_buffer) +static INLINE struct identity_resource * +identity_resource(struct pipe_resource *_resource) { - if(!_buffer) + if(!_resource) return NULL; - (void)identity_screen(_buffer->screen); - return (struct identity_buffer *)_buffer; + (void)identity_screen(_resource->screen); + return (struct identity_resource *)_resource; } -static INLINE struct identity_texture * -identity_texture(struct pipe_texture *_texture) +static INLINE struct identity_sampler_view * +identity_sampler_view(struct pipe_sampler_view *_sampler_view) { - if(!_texture) + if (!_sampler_view) { return NULL; - (void)identity_screen(_texture->screen); - return (struct identity_texture *)_texture; + } + return (struct identity_sampler_view *)_sampler_view; } static INLINE struct identity_surface * @@ -90,7 +93,7 @@ identity_surface(struct pipe_surface *_surface) { if(!_surface) return NULL; - (void)identity_texture(_surface->texture); + (void)identity_resource(_surface->texture); return (struct identity_surface *)_surface; } @@ -99,25 +102,25 @@ identity_transfer(struct pipe_transfer *_transfer) { if(!_transfer) return NULL; - (void)identity_texture(_transfer->texture); + (void)identity_resource(_transfer->resource); return (struct identity_transfer *)_transfer; } - -static INLINE struct pipe_buffer * -identity_buffer_unwrap(struct pipe_buffer *_buffer) +static INLINE struct pipe_resource * +identity_resource_unwrap(struct pipe_resource *_resource) { - if(!_buffer) + if(!_resource) return NULL; - return identity_buffer(_buffer)->buffer; + return identity_resource(_resource)->resource; } -static INLINE struct pipe_texture * -identity_texture_unwrap(struct pipe_texture *_texture) +static INLINE struct pipe_sampler_view * +identity_sampler_view_unwrap(struct pipe_sampler_view *_sampler_view) { - if(!_texture) + if (!_sampler_view) { return NULL; - return identity_texture(_texture)->texture; + } + return identity_sampler_view(_sampler_view)->sampler_view; } static INLINE struct pipe_surface * @@ -137,33 +140,28 @@ identity_transfer_unwrap(struct pipe_transfer *_transfer) } -struct pipe_buffer * -identity_buffer_create(struct identity_screen *id_screen, - struct pipe_buffer *buffer); - -void -identity_buffer_destroy(struct identity_buffer *id_buffer); - -struct pipe_texture * -identity_texture_create(struct identity_screen *id_screen, - struct pipe_texture *texture); +struct pipe_resource * +identity_resource_create(struct identity_screen *id_screen, + struct pipe_resource *resource); void -identity_texture_destroy(struct identity_texture *id_texture); +identity_resource_destroy(struct identity_resource *id_resource); struct pipe_surface * -identity_surface_create(struct identity_texture *id_texture, +identity_surface_create(struct identity_resource *id_resource, struct pipe_surface *surface); void identity_surface_destroy(struct identity_surface *id_surface); struct pipe_transfer * -identity_transfer_create(struct identity_texture *id_texture, +identity_transfer_create(struct identity_context *id_context, + struct identity_resource *id_resource, struct pipe_transfer *transfer); void -identity_transfer_destroy(struct identity_transfer *id_transfer); +identity_transfer_destroy(struct identity_context *id_context, + struct identity_transfer *id_transfer); #endif /* ID_OBJECTS_H */