gallium: replace INLINE with inline
[mesa.git] / src / gallium / drivers / trace / tr_texture.h
index 9c21bc7d27651098a5813465c81044f44611000c..e48b7b39e2405e3dbb09af8e30764044251bbdaf 100644 (file)
@@ -1,6 +1,6 @@
 /**************************************************************************
  *
- * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * Copyright 2008 VMware, Inc.
  * All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
@@ -18,7 +18,7 @@
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "tr_screen.h"
 
+struct trace_context;
 
-struct trace_texture
+
+struct tr_list
+{
+   struct tr_list *next;
+   struct tr_list *prev;
+};
+
+
+struct trace_resource
 {
-   struct pipe_texture base;
+   struct pipe_resource base;
 
-   struct pipe_texture *texture;
+   struct pipe_resource *resource;
+
+   struct tr_list list;
 };
 
 
@@ -48,6 +59,16 @@ struct trace_surface
    struct pipe_surface base;
 
    struct pipe_surface *surface;
+
+   struct tr_list list;
+};
+
+
+struct trace_sampler_view
+{
+   struct pipe_sampler_view base;
+
+   struct pipe_sampler_view *sampler_view;
 };
 
 
@@ -56,70 +77,77 @@ struct trace_transfer
    struct pipe_transfer base;
 
    struct pipe_transfer *transfer;
+   struct pipe_context *pipe;
+
+   struct tr_list list;
 
    void *map;
 };
 
 
-static INLINE struct trace_texture *
-trace_texture(struct trace_screen *tr_scr,
-              struct pipe_texture *texture)
+static inline struct trace_resource *
+trace_resource(struct pipe_resource *texture)
 {
    if(!texture)
       return NULL;
-   assert(tr_scr);
-   assert(texture->screen == &tr_scr->base);
-   return (struct trace_texture *)texture;
+   (void)trace_screen(texture->screen);
+   return (struct trace_resource *)texture;
 }
 
 
-static INLINE struct trace_surface *
-trace_surface(struct trace_texture *tr_tex,
-              struct pipe_surface *surface)
+static inline struct trace_surface *
+trace_surface(struct pipe_surface *surface)
 {
    if(!surface)
       return NULL;
-   assert(tr_tex);
-   assert(surface->texture == &tr_tex->base);
+   (void)trace_resource(surface->texture);
    return (struct trace_surface *)surface;
 }
 
 
-static INLINE struct trace_transfer *
-trace_transfer(struct trace_texture *tr_tex,
-               struct pipe_transfer *transfer)
+static inline struct trace_sampler_view *
+trace_sampler_view(struct pipe_sampler_view *sampler_view)
+{
+   if (!sampler_view)
+      return NULL;
+   return (struct trace_sampler_view *)sampler_view;
+}
+
+
+static inline struct trace_transfer *
+trace_transfer(struct pipe_transfer *transfer)
 {
    if(!transfer)
       return NULL;
-   assert(tr_tex);
-   assert(transfer->texture == &tr_tex->base);
+   (void)trace_resource(transfer->resource);
    return (struct trace_transfer *)transfer;
 }
 
 
-struct pipe_texture *
-trace_texture_create(struct trace_screen *tr_scr,
-                     struct pipe_texture *texture);
+struct pipe_resource *
+trace_resource_create(struct trace_screen *tr_scr,
+                     struct pipe_resource *texture);
 
 void
-trace_texture_destroy(struct trace_screen *tr_scr,
-                      struct pipe_texture *texture);
+trace_resource_destroy(struct trace_screen *tr_scr,
+                      struct trace_resource *tr_res);
 
 struct pipe_surface *
-trace_surface_create(struct trace_texture *tr_tex,
-                     struct pipe_surface *surface);
+trace_surf_create(struct trace_context *tr_ctx,
+                  struct trace_resource *tr_res,
+                  struct pipe_surface *surface);
 
 void
-trace_surface_destroy(struct trace_texture *tr_tex,
-                      struct pipe_surface *surface);
+trace_surf_destroy(struct trace_surface *tr_surf);
 
 struct pipe_transfer *
-trace_transfer_create(struct trace_texture *tr_tex,
-                      struct pipe_transfer *transfer);
+trace_transfer_create(struct trace_context *tr_ctx,
+                     struct trace_resource *tr_res,
+                     struct pipe_transfer *transfer);
 
 void
-trace_transfer_destroy(struct trace_texture *tr_tex,
-                       struct pipe_transfer *transfer);
+trace_transfer_destroy(struct trace_context *tr_ctx,
+                       struct trace_transfer *tr_trans);
 
 
 #endif /* TR_TEXTURE_H_ */