Merge branch '7.8'
[mesa.git] / src / gallium / drivers / identity / id_objects.h
index ce58faa3c7c813c1287ad04a9f5004f1d3f63bba..058cf3009df801babf0a6335c18a99d8036d06ae 100644 (file)
 
 #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 */