X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Ftrace%2Ftr_texture.h;h=e5dfc53fdb062b00729f0b98892d55541c52650c;hb=9da0cd56c3f95081bd4cc7efe87d2b475019b17d;hp=9e72edb8a3cfacd5e1a9c4661d26a685de7b5960;hpb=c4c86bbd16688ee4a0afb32efa27ba52abceb1ca;p=mesa.git diff --git a/src/gallium/drivers/trace/tr_texture.h b/src/gallium/drivers/trace/tr_texture.h index 9e72edb8a3c..e5dfc53fdb0 100644 --- a/src/gallium/drivers/trace/tr_texture.h +++ b/src/gallium/drivers/trace/tr_texture.h @@ -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. @@ -34,62 +34,89 @@ #include "tr_screen.h" +struct trace_context; -struct trace_texture -{ - struct pipe_texture base; - struct pipe_texture *texture; +struct tr_list +{ + struct tr_list *next; + struct tr_list *prev; }; - 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; +}; + + +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_surface * +trace_surface(struct pipe_surface *surface) { - if(!texture) + if (!surface) return NULL; - assert(texture->screen == &tr_scr->base); - return (struct trace_texture *)texture; + return (struct trace_surface *)surface; } -static INLINE struct trace_surface * -trace_surface(struct trace_texture *tr_tex, - struct pipe_surface *surface) +static inline struct trace_sampler_view * +trace_sampler_view(struct pipe_sampler_view *sampler_view) { - if(!surface) + if (!sampler_view) return NULL; - assert(surface->texture == &tr_tex->base); - return (struct trace_surface *)surface; + return (struct trace_sampler_view *)sampler_view; +} + + +static inline struct trace_transfer * +trace_transfer(struct pipe_transfer *transfer) +{ + if (!transfer) + return NULL; + return (struct trace_transfer *)transfer; } -struct pipe_texture * -trace_texture_create(struct trace_screen *tr_scr, - struct pipe_texture *texture); +struct pipe_surface * +trace_surf_create(struct trace_context *tr_ctx, + struct pipe_resource *tr_res, + struct pipe_surface *surface); void -trace_texture_destroy(struct trace_screen *tr_scr, - struct pipe_texture *texture); +trace_surf_destroy(struct trace_surface *tr_surf); -struct pipe_surface * -trace_surface_create(struct trace_texture *tr_tex, - struct pipe_surface *surface); +struct pipe_transfer * +trace_transfer_create(struct trace_context *tr_ctx, + struct pipe_resource *tr_res, + struct pipe_transfer *transfer); void -trace_surface_destroy(struct trace_texture *tr_tex, - struct pipe_surface *surface); +trace_transfer_destroy(struct trace_context *tr_ctx, + struct trace_transfer *tr_trans); #endif /* TR_TEXTURE_H_ */