diff options
Diffstat (limited to 'src/gallium/auxiliary')
| -rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_aaline.c | 8 | ||||
| -rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_pstipple.c | 14 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_debug.c | 51 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_debug.h | 17 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_gen_mipmap.c | 50 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_inlines.h | 18 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_rect.c | 26 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_tile.c | 42 | ||||
| -rw-r--r-- | src/gallium/auxiliary/util/u_tile.h | 18 | ||||
| -rw-r--r-- | src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c | 10 | 
10 files changed, 136 insertions, 118 deletions
| diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c b/src/gallium/auxiliary/draw/draw_pipe_aaline.c index 8f6ca15dfa..1c07ab1365 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c +++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c @@ -422,9 +422,9 @@ aaline_create_texture(struct aaline_stage *aaline)        /* This texture is new, no need to flush.          */ -      transfer = screen->get_tex_transfer(screen, aaline->texture, 0, level, 0, +      transfer = pipe->get_tex_transfer(pipe, aaline->texture, 0, level, 0,                                           PIPE_TRANSFER_WRITE, 0, 0, size, size); -      data = screen->transfer_map(screen, transfer); +      data = pipe->transfer_map(pipe, transfer);        if (data == NULL)           return FALSE; @@ -448,8 +448,8 @@ aaline_create_texture(struct aaline_stage *aaline)        }        /* unmap */ -      screen->transfer_unmap(screen, transfer); -      screen->tex_transfer_destroy(transfer); +      pipe->transfer_unmap(pipe, transfer); +      pipe->tex_transfer_destroy(pipe, transfer);     }     return TRUE;  } diff --git a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c index d0d99aa331..38c22bf4e9 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c +++ b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c @@ -374,19 +374,21 @@ pstip_update_texture(struct pstip_stage *pstip)  {     static const uint bit31 = 1 << 31;     struct pipe_context *pipe = pstip->pipe; -   struct pipe_screen *screen = pipe->screen;     struct pipe_transfer *transfer;     const uint *stipple = pstip->state.stipple->stipple;     uint i, j;     ubyte *data;     /* XXX: want to avoid flushing just because we use stipple:  +    * +    * Flush should no longer be necessary if driver is properly +    * interleaving drawing and transfers on a given context:      */     pipe->flush( pipe, PIPE_FLUSH_TEXTURE_CACHE, NULL ); -   transfer = screen->get_tex_transfer(screen, pstip->texture, 0, 0, 0, -                                       PIPE_TRANSFER_WRITE, 0, 0, 32, 32); -   data = screen->transfer_map(screen, transfer); +   transfer = pipe->get_tex_transfer(pipe, pstip->texture, 0, 0, 0, +				     PIPE_TRANSFER_WRITE, 0, 0, 32, 32); +   data = pipe->transfer_map(pipe, transfer);     /*      * Load alpha texture. @@ -408,8 +410,8 @@ pstip_update_texture(struct pstip_stage *pstip)     }     /* unmap */ -   screen->transfer_unmap(screen, transfer); -   screen->tex_transfer_destroy(transfer); +   pipe->transfer_unmap(pipe, transfer); +   pipe->tex_transfer_destroy(pipe, transfer);  } diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index 94be682c4b..e997cfa8a3 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -421,26 +421,31 @@ void debug_dump_image(const char *prefix,  #endif  } -void debug_dump_surface(const char *prefix, +void debug_dump_surface(struct pipe_context *pipe, +			const char *prefix,                          struct pipe_surface *surface)       {     struct pipe_texture *texture; -   struct pipe_screen *screen;     struct pipe_transfer *transfer;     void *data;     if (!surface)        return; +   /* XXX: this doesn't necessarily work, as the driver may be using +    * temporary storage for the surface which hasn't been propagated +    * back into the texture.  Need to nail down the semantics of views +    * and transfers a bit better before we can say if extra work needs +    * to be done here: +    */     texture = surface->texture; -   screen = texture->screen; -   transfer = screen->get_tex_transfer(screen, texture, surface->face, -                                       surface->level, surface->zslice, -                                       PIPE_TRANSFER_READ, 0, 0, surface->width, -                                       surface->height); +   transfer = pipe->get_tex_transfer(pipe, texture, surface->face, +				     surface->level, surface->zslice, +				     PIPE_TRANSFER_READ, 0, 0, surface->width, +				     surface->height); -   data = screen->transfer_map(screen, transfer); +   data = pipe->transfer_map(pipe, transfer);     if(!data)        goto error; @@ -452,13 +457,14 @@ void debug_dump_surface(const char *prefix,                      transfer->stride,                      data); -   screen->transfer_unmap(screen, transfer); +   pipe->transfer_unmap(pipe, transfer);  error: -   screen->tex_transfer_destroy(transfer); +   pipe->tex_transfer_destroy(pipe, transfer);  } -void debug_dump_texture(const char *prefix, +void debug_dump_texture(struct pipe_context *pipe, +                        const char *prefix,                          struct pipe_texture *texture)  {     struct pipe_surface *surface; @@ -473,7 +479,7 @@ void debug_dump_texture(const char *prefix,     surface = screen->get_tex_surface(screen, texture, 0, 0, 0,                                       PIPE_TEXTURE_USAGE_SAMPLER);     if (surface) { -      debug_dump_surface(prefix, surface); +      debug_dump_surface(pipe, prefix, surface);        screen->tex_surface_destroy(surface);     }  } @@ -511,27 +517,28 @@ struct bmp_rgb_quad {  };  void -debug_dump_surface_bmp(const char *filename, +debug_dump_surface_bmp(struct pipe_context *pipe, +		       const char *filename,                         struct pipe_surface *surface)  {  #ifndef PIPE_SUBSYSTEM_WINDOWS_MINIPORT     struct pipe_transfer *transfer;     struct pipe_texture *texture = surface->texture; -   struct pipe_screen *screen = texture->screen; -   transfer = screen->get_tex_transfer(screen, texture, surface->face, -                                       surface->level, surface->zslice, -                                       PIPE_TRANSFER_READ, 0, 0, surface->width, -                                       surface->height); +   transfer = pipe->get_tex_transfer(pipe, texture, surface->face, +				     surface->level, surface->zslice, +				     PIPE_TRANSFER_READ, 0, 0, surface->width, +				     surface->height); -   debug_dump_transfer_bmp(filename, transfer); +   debug_dump_transfer_bmp(pipe, filename, transfer); -   screen->tex_transfer_destroy(transfer); +   pipe->tex_transfer_destroy(pipe, transfer);  #endif  }  void -debug_dump_transfer_bmp(const char *filename, +debug_dump_transfer_bmp(struct pipe_context *pipe, +                        const char *filename,                          struct pipe_transfer *transfer)  {  #ifndef PIPE_SUBSYSTEM_WINDOWS_MINIPORT @@ -544,7 +551,7 @@ debug_dump_transfer_bmp(const char *filename,     if(!rgba)        goto error1; -   pipe_get_tile_rgba(transfer, 0, 0, +   pipe_get_tile_rgba(pipe, transfer, 0, 0,                        transfer->width, transfer->height,                        rgba); diff --git a/src/gallium/auxiliary/util/u_debug.h b/src/gallium/auxiliary/util/u_debug.h index 0f4768f344..98addeb372 100644 --- a/src/gallium/auxiliary/util/u_debug.h +++ b/src/gallium/auxiliary/util/u_debug.h @@ -312,6 +312,7 @@ debug_memory_end(unsigned long beginning);  #ifdef DEBUG +struct pipe_context;  struct pipe_surface;  struct pipe_transfer;  struct pipe_texture; @@ -321,21 +322,25 @@ void debug_dump_image(const char *prefix,                        unsigned width, unsigned height,                        unsigned stride,                        const void *data); -void debug_dump_surface(const char *prefix, +void debug_dump_surface(struct pipe_context *pipe, +			const char *prefix,                          struct pipe_surface *surface);    -void debug_dump_texture(const char *prefix, +void debug_dump_texture(struct pipe_context *pipe, +			const char *prefix,                          struct pipe_texture *texture); -void debug_dump_surface_bmp(const char *filename, +void debug_dump_surface_bmp(struct pipe_context *pipe, +                            const char *filename,                              struct pipe_surface *surface); -void debug_dump_transfer_bmp(const char *filename, +void debug_dump_transfer_bmp(struct pipe_context *pipe, +                             const char *filename,                               struct pipe_transfer *transfer);  void debug_dump_float_rgba_bmp(const char *filename,                                 unsigned width, unsigned height,                                 float *rgba, unsigned stride);  #else  #define debug_dump_image(prefix, format, cpp, width, height, stride, data) ((void)0) -#define debug_dump_surface(prefix, surface) ((void)0) -#define debug_dump_surface_bmp(filename, surface) ((void)0) +#define debug_dump_surface(pipe, prefix, surface) ((void)0) +#define debug_dump_surface_bmp(pipe, filename, surface) ((void)0)  #define debug_dump_transfer_bmp(filename, transfer) ((void)0)  #define debug_dump_float_rgba_bmp(filename, width, height, rgba, stride) ((void)0)  #endif diff --git a/src/gallium/auxiliary/util/u_gen_mipmap.c b/src/gallium/auxiliary/util/u_gen_mipmap.c index d421bee8ef..5c51b53d7b 100644 --- a/src/gallium/auxiliary/util/u_gen_mipmap.c +++ b/src/gallium/auxiliary/util/u_gen_mipmap.c @@ -1119,7 +1119,6 @@ make_1d_mipmap(struct gen_mipmap_state *ctx,                 uint face, uint baseLevel, uint lastLevel)  {     struct pipe_context *pipe = ctx->pipe; -   struct pipe_screen *screen = pipe->screen;     const uint zslice = 0;     uint dstLevel; @@ -1128,27 +1127,27 @@ make_1d_mipmap(struct gen_mipmap_state *ctx,        struct pipe_transfer *srcTrans, *dstTrans;        void *srcMap, *dstMap; -      srcTrans = screen->get_tex_transfer(screen, pt, face, srcLevel, zslice, +      srcTrans = pipe->get_tex_transfer(pipe, pt, face, srcLevel, zslice,                                            PIPE_TRANSFER_READ, 0, 0,                                            u_minify(pt->width0, srcLevel),                                            u_minify(pt->height0, srcLevel)); -      dstTrans = screen->get_tex_transfer(screen, pt, face, dstLevel, zslice, +      dstTrans = pipe->get_tex_transfer(pipe, pt, face, dstLevel, zslice,                                            PIPE_TRANSFER_WRITE, 0, 0,                                            u_minify(pt->width0, dstLevel),                                            u_minify(pt->height0, dstLevel)); -      srcMap = (ubyte *) screen->transfer_map(screen, srcTrans); -      dstMap = (ubyte *) screen->transfer_map(screen, dstTrans); +      srcMap = (ubyte *) pipe->transfer_map(pipe, srcTrans); +      dstMap = (ubyte *) pipe->transfer_map(pipe, dstTrans);        reduce_1d(pt->format,                  srcTrans->width, srcMap,                  dstTrans->width, dstMap); -      screen->transfer_unmap(screen, srcTrans); -      screen->transfer_unmap(screen, dstTrans); +      pipe->transfer_unmap(pipe, srcTrans); +      pipe->transfer_unmap(pipe, dstTrans); -      screen->tex_transfer_destroy(srcTrans); -      screen->tex_transfer_destroy(dstTrans); +      pipe->tex_transfer_destroy(pipe, srcTrans); +      pipe->tex_transfer_destroy(pipe, dstTrans);     }  } @@ -1159,7 +1158,6 @@ make_2d_mipmap(struct gen_mipmap_state *ctx,                 uint face, uint baseLevel, uint lastLevel)  {     struct pipe_context *pipe = ctx->pipe; -   struct pipe_screen *screen = pipe->screen;     const uint zslice = 0;     uint dstLevel; @@ -1171,17 +1169,17 @@ make_2d_mipmap(struct gen_mipmap_state *ctx,        struct pipe_transfer *srcTrans, *dstTrans;        ubyte *srcMap, *dstMap; -      srcTrans = screen->get_tex_transfer(screen, pt, face, srcLevel, zslice, +      srcTrans = pipe->get_tex_transfer(pipe, pt, face, srcLevel, zslice,                                            PIPE_TRANSFER_READ, 0, 0,                                            u_minify(pt->width0, srcLevel),                                            u_minify(pt->height0, srcLevel)); -      dstTrans = screen->get_tex_transfer(screen, pt, face, dstLevel, zslice, +      dstTrans = pipe->get_tex_transfer(pipe, pt, face, dstLevel, zslice,                                            PIPE_TRANSFER_WRITE, 0, 0,                                            u_minify(pt->width0, dstLevel),                                            u_minify(pt->height0, dstLevel)); -      srcMap = (ubyte *) screen->transfer_map(screen, srcTrans); -      dstMap = (ubyte *) screen->transfer_map(screen, dstTrans); +      srcMap = (ubyte *) pipe->transfer_map(pipe, srcTrans); +      dstMap = (ubyte *) pipe->transfer_map(pipe, dstTrans);        reduce_2d(pt->format,                  srcTrans->width, srcTrans->height, @@ -1189,11 +1187,11 @@ make_2d_mipmap(struct gen_mipmap_state *ctx,                  dstTrans->width, dstTrans->height,                  dstTrans->stride, dstMap); -      screen->transfer_unmap(screen, srcTrans); -      screen->transfer_unmap(screen, dstTrans); +      pipe->transfer_unmap(pipe, srcTrans); +      pipe->transfer_unmap(pipe, dstTrans); -      screen->tex_transfer_destroy(srcTrans); -      screen->tex_transfer_destroy(dstTrans); +      pipe->tex_transfer_destroy(pipe, srcTrans); +      pipe->tex_transfer_destroy(pipe, dstTrans);     }  } @@ -1216,17 +1214,17 @@ make_3d_mipmap(struct gen_mipmap_state *ctx,        struct pipe_transfer *srcTrans, *dstTrans;        ubyte *srcMap, *dstMap; -      srcTrans = screen->get_tex_transfer(screen, pt, face, srcLevel, zslice, +      srcTrans = pipe->get_tex_transfer(pipe, pt, face, srcLevel, zslice,                                            PIPE_TRANSFER_READ, 0, 0,                                            u_minify(pt->width0, srcLevel),                                            u_minify(pt->height0, srcLevel)); -      dstTrans = screen->get_tex_transfer(screen, pt, face, dstLevel, zslice, +      dstTrans = pipe->get_tex_transfer(pipe, pt, face, dstLevel, zslice,                                            PIPE_TRANSFER_WRITE, 0, 0,                                            u_minify(pt->width0, dstLevel),                                            u_minify(pt->height0, dstLevel)); -      srcMap = (ubyte *) screen->transfer_map(screen, srcTrans); -      dstMap = (ubyte *) screen->transfer_map(screen, dstTrans); +      srcMap = (ubyte *) pipe->transfer_map(pipe, srcTrans); +      dstMap = (ubyte *) pipe->transfer_map(pipe, dstTrans);        reduce_3d(pt->format,                  srcTrans->width, srcTrans->height, @@ -1234,11 +1232,11 @@ make_3d_mipmap(struct gen_mipmap_state *ctx,                  dstTrans->width, dstTrans->height,                  dstTrans->stride, dstMap); -      screen->transfer_unmap(screen, srcTrans); -      screen->transfer_unmap(screen, dstTrans); +      pipe->transfer_unmap(pipe, srcTrans); +      pipe->transfer_unmap(pipe, dstTrans); -      screen->tex_transfer_destroy(srcTrans); -      screen->tex_transfer_destroy(dstTrans); +      pipe->tex_transfer_destroy(pipe, srcTrans); +      pipe->tex_transfer_destroy(pipe, dstTrans);     }  #else     (void) reduce_3d; diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index 0cb3432c6e..e7255e3baa 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -264,24 +264,24 @@ pipe_buffer_read(struct pipe_screen *screen,  }  static INLINE void * -pipe_transfer_map( struct pipe_transfer *transf ) +pipe_transfer_map( struct pipe_context *context, +                   struct pipe_transfer *transf )  { -   struct pipe_screen *screen = transf->texture->screen; -   return screen->transfer_map(screen, transf); +   return context->transfer_map(context, transf);  }  static INLINE void -pipe_transfer_unmap( struct pipe_transfer *transf ) +pipe_transfer_unmap( struct pipe_context *context, +                     struct pipe_transfer *transf )  { -   struct pipe_screen *screen = transf->texture->screen; -   screen->transfer_unmap(screen, transf); +   context->transfer_unmap(context, transf);  }  static INLINE void -pipe_transfer_destroy( struct pipe_transfer *transf ) +pipe_transfer_destroy( struct pipe_context *context, +                       struct pipe_transfer *transfer )  { -   struct pipe_screen *screen = transf->texture->screen; -   screen->tex_transfer_destroy(transf); +   context->tex_transfer_destroy(context, transfer);  }  static INLINE unsigned diff --git a/src/gallium/auxiliary/util/u_rect.c b/src/gallium/auxiliary/util/u_rect.c index 8479161c74..e73797f1b7 100644 --- a/src/gallium/auxiliary/util/u_rect.c +++ b/src/gallium/auxiliary/util/u_rect.c @@ -169,7 +169,6 @@ util_surface_copy(struct pipe_context *pipe,                    unsigned src_x, unsigned src_y,                     unsigned w, unsigned h)  { -   struct pipe_screen *screen = pipe->screen;     struct pipe_transfer *src_trans, *dst_trans;     void *dst_map;     const void *src_map; @@ -182,7 +181,7 @@ util_surface_copy(struct pipe_context *pipe,     src_format = src->texture->format;     dst_format = dst->texture->format; -   src_trans = screen->get_tex_transfer(screen, +   src_trans = pipe->get_tex_transfer(pipe,                                          src->texture,                                          src->face,                                          src->level, @@ -190,7 +189,7 @@ util_surface_copy(struct pipe_context *pipe,                                          PIPE_TRANSFER_READ,                                          src_x, src_y, w, h); -   dst_trans = screen->get_tex_transfer(screen, +   dst_trans = pipe->get_tex_transfer(pipe,                                          dst->texture,                                          dst->face,                                          dst->level, @@ -202,8 +201,8 @@ util_surface_copy(struct pipe_context *pipe,     assert(util_format_get_blockwidth(dst_format) == util_format_get_blockwidth(src_format));     assert(util_format_get_blockheight(dst_format) == util_format_get_blockheight(src_format)); -   src_map = pipe->screen->transfer_map(screen, src_trans); -   dst_map = pipe->screen->transfer_map(screen, dst_trans); +   src_map = pipe->transfer_map(pipe, src_trans); +   dst_map = pipe->transfer_map(pipe, dst_trans);     assert(src_map);     assert(dst_map); @@ -221,11 +220,11 @@ util_surface_copy(struct pipe_context *pipe,                       do_flip ? h - 1 : 0);     } -   pipe->screen->transfer_unmap(pipe->screen, src_trans); -   pipe->screen->transfer_unmap(pipe->screen, dst_trans); +   pipe->transfer_unmap(pipe, src_trans); +   pipe->transfer_unmap(pipe, dst_trans); -   screen->tex_transfer_destroy(src_trans); -   screen->tex_transfer_destroy(dst_trans); +   pipe->tex_transfer_destroy(pipe, src_trans); +   pipe->tex_transfer_destroy(pipe, dst_trans);  } @@ -243,14 +242,13 @@ util_surface_fill(struct pipe_context *pipe,                    unsigned dstx, unsigned dsty,                    unsigned width, unsigned height, unsigned value)  { -   struct pipe_screen *screen = pipe->screen;     struct pipe_transfer *dst_trans;     void *dst_map;     assert(dst->texture);     if (!dst->texture)        return; -   dst_trans = screen->get_tex_transfer(screen, +   dst_trans = pipe->get_tex_transfer(pipe,                                          dst->texture,                                          dst->face,                                          dst->level, @@ -258,7 +256,7 @@ util_surface_fill(struct pipe_context *pipe,                                          PIPE_TRANSFER_WRITE,                                          dstx, dsty, width, height); -   dst_map = pipe->screen->transfer_map(screen, dst_trans); +   dst_map = pipe->transfer_map(pipe, dst_trans);     assert(dst_map); @@ -302,6 +300,6 @@ util_surface_fill(struct pipe_context *pipe,        }     } -   pipe->screen->transfer_unmap(pipe->screen, dst_trans); -   screen->tex_transfer_destroy(dst_trans); +   pipe->transfer_unmap(pipe, dst_trans); +   pipe->tex_transfer_destroy(pipe, dst_trans);  } diff --git a/src/gallium/auxiliary/util/u_tile.c b/src/gallium/auxiliary/util/u_tile.c index 79481b710b..e445895efc 100644 --- a/src/gallium/auxiliary/util/u_tile.c +++ b/src/gallium/auxiliary/util/u_tile.c @@ -45,11 +45,11 @@   * Move raw block of pixels from transfer object to user memory.   */  void -pipe_get_tile_raw(struct pipe_transfer *pt, +pipe_get_tile_raw(struct pipe_context *pipe, +                  struct pipe_transfer *pt,                    uint x, uint y, uint w, uint h,                    void *dst, int dst_stride)  { -   struct pipe_screen *screen = pt->texture->screen;     const void *src;     if (dst_stride == 0) @@ -58,14 +58,14 @@ pipe_get_tile_raw(struct pipe_transfer *pt,     if (pipe_clip_tile(x, y, &w, &h, pt))        return; -   src = screen->transfer_map(screen, pt); +   src = pipe->transfer_map(pipe, pt);     assert(src);     if(!src)        return;     util_copy_rect(dst, pt->texture->format, dst_stride, 0, 0, w, h, src, pt->stride, x, y); -   screen->transfer_unmap(screen, pt); +   pipe->transfer_unmap(pipe, pt);  } @@ -73,11 +73,11 @@ pipe_get_tile_raw(struct pipe_transfer *pt,   * Move raw block of pixels from user memory to transfer object.   */  void -pipe_put_tile_raw(struct pipe_transfer *pt, +pipe_put_tile_raw(struct pipe_context *pipe, +                  struct pipe_transfer *pt,                    uint x, uint y, uint w, uint h,                    const void *src, int src_stride)  { -   struct pipe_screen *screen = pt->texture->screen;     void *dst;     enum pipe_format format = pt->texture->format; @@ -87,14 +87,14 @@ pipe_put_tile_raw(struct pipe_transfer *pt,     if (pipe_clip_tile(x, y, &w, &h, pt))        return; -   dst = screen->transfer_map(screen, pt); +   dst = pipe->transfer_map(pipe, pt);     assert(dst);     if(!dst)        return;     util_copy_rect(dst, format, pt->stride, x, y, w, h, src, src_stride, 0, 0); -   screen->transfer_unmap(screen, pt); +   pipe->transfer_unmap(pipe, pt);  } @@ -1246,7 +1246,8 @@ pipe_tile_raw_to_rgba(enum pipe_format format,  void -pipe_get_tile_rgba(struct pipe_transfer *pt, +pipe_get_tile_rgba(struct pipe_context *pipe, +                   struct pipe_transfer *pt,                     uint x, uint y, uint w, uint h,                     float *p)  { @@ -1265,7 +1266,7 @@ pipe_get_tile_rgba(struct pipe_transfer *pt,     if(format == PIPE_FORMAT_UYVY || format == PIPE_FORMAT_YUYV)        assert((x & 1) == 0); -   pipe_get_tile_raw(pt, x, y, w, h, packed, 0); +   pipe_get_tile_raw(pipe, pt, x, y, w, h, packed, 0);     pipe_tile_raw_to_rgba(format, packed, w, h, p, dst_stride); @@ -1274,7 +1275,8 @@ pipe_get_tile_rgba(struct pipe_transfer *pt,  void -pipe_put_tile_rgba(struct pipe_transfer *pt, +pipe_put_tile_rgba(struct pipe_context *pipe, +                   struct pipe_transfer *pt,                     uint x, uint y, uint w, uint h,                     const float *p)  { @@ -1363,7 +1365,7 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,                             0, 0, w, h);     } -   pipe_put_tile_raw(pt, x, y, w, h, packed, 0); +   pipe_put_tile_raw(pipe, pt, x, y, w, h, packed, 0);     FREE(packed);  } @@ -1373,11 +1375,11 @@ pipe_put_tile_rgba(struct pipe_transfer *pt,   * Get a block of Z values, converted to 32-bit range.   */  void -pipe_get_tile_z(struct pipe_transfer *pt, +pipe_get_tile_z(struct pipe_context *pipe, +                struct pipe_transfer *pt,                  uint x, uint y, uint w, uint h,                  uint *z)  { -   struct pipe_screen *screen = pt->texture->screen;     const uint dstStride = w;     ubyte *map;     uint *pDest = z; @@ -1387,7 +1389,7 @@ pipe_get_tile_z(struct pipe_transfer *pt,     if (pipe_clip_tile(x, y, &w, &h, pt))        return; -   map = (ubyte *)screen->transfer_map(screen, pt); +   map = (ubyte *)pipe->transfer_map(pipe, pt);     if (!map) {        assert(0);        return; @@ -1453,16 +1455,16 @@ pipe_get_tile_z(struct pipe_transfer *pt,        assert(0);     } -   screen->transfer_unmap(screen, pt); +   pipe->transfer_unmap(pipe, pt);  }  void -pipe_put_tile_z(struct pipe_transfer *pt, +pipe_put_tile_z(struct pipe_context *pipe, +                struct pipe_transfer *pt,                  uint x, uint y, uint w, uint h,                  const uint *zSrc)  { -   struct pipe_screen *screen = pt->texture->screen;     const uint srcStride = w;     const uint *ptrc = zSrc;     ubyte *map; @@ -1472,7 +1474,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,     if (pipe_clip_tile(x, y, &w, &h, pt))        return; -   map = (ubyte *)screen->transfer_map(screen, pt); +   map = (ubyte *)pipe->transfer_map(pipe, pt);     if (!map) {        assert(0);        return; @@ -1560,7 +1562,7 @@ pipe_put_tile_z(struct pipe_transfer *pt,        assert(0);     } -   screen->transfer_unmap(screen, pt); +   pipe->transfer_unmap(pipe, pt);  } diff --git a/src/gallium/auxiliary/util/u_tile.h b/src/gallium/auxiliary/util/u_tile.h index 1453af38b8..8329087cfa 100644 --- a/src/gallium/auxiliary/util/u_tile.h +++ b/src/gallium/auxiliary/util/u_tile.h @@ -56,34 +56,40 @@ extern "C" {  #endif  void -pipe_get_tile_raw(struct pipe_transfer *pt, +pipe_get_tile_raw(struct pipe_context *pipe, +                  struct pipe_transfer *pt,                    uint x, uint y, uint w, uint h,                    void *p, int dst_stride);  void -pipe_put_tile_raw(struct pipe_transfer *pt, +pipe_put_tile_raw(struct pipe_context *pipe, +                  struct pipe_transfer *pt,                    uint x, uint y, uint w, uint h,                    const void *p, int src_stride);  void -pipe_get_tile_rgba(struct pipe_transfer *pt, +pipe_get_tile_rgba(struct pipe_context *pipe, +                   struct pipe_transfer *pt,                     uint x, uint y, uint w, uint h,                     float *p);  void -pipe_put_tile_rgba(struct pipe_transfer *pt, +pipe_put_tile_rgba(struct pipe_context *pipe, +                   struct pipe_transfer *pt,                     uint x, uint y, uint w, uint h,                     const float *p);  void -pipe_get_tile_z(struct pipe_transfer *pt, +pipe_get_tile_z(struct pipe_context *pipe, +                struct pipe_transfer *pt,                  uint x, uint y, uint w, uint h,                  uint *z);  void -pipe_put_tile_z(struct pipe_transfer *pt, +pipe_put_tile_z(struct pipe_context *pipe, +                struct pipe_transfer *pt,                  uint x, uint y, uint w, uint h,                  const uint *z); diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c b/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c index 0763b5bb0e..beb4722901 100644 --- a/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c +++ b/src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c @@ -680,14 +680,14 @@ xfer_buffers_map(struct vl_mpeg12_mc_renderer *r)     assert(r);     for (i = 0; i < 3; ++i) { -      r->tex_transfer[i] = r->pipe->screen->get_tex_transfer +      r->tex_transfer[i] = r->pipe->get_tex_transfer        ( -         r->pipe->screen, r->textures.all[i], +         r->pipe, r->textures.all[i],           0, 0, 0, PIPE_TRANSFER_WRITE, 0, 0,           r->textures.all[i]->width0, r->textures.all[i]->height0        ); -      r->texels[i] = r->pipe->screen->transfer_map(r->pipe->screen, r->tex_transfer[i]); +      r->texels[i] = r->pipe->transfer_map(r->pipe, r->tex_transfer[i]);     }  } @@ -699,8 +699,8 @@ xfer_buffers_unmap(struct vl_mpeg12_mc_renderer *r)     assert(r);     for (i = 0; i < 3; ++i) { -      r->pipe->screen->transfer_unmap(r->pipe->screen, r->tex_transfer[i]); -      r->pipe->screen->tex_transfer_destroy(r->tex_transfer[i]); +      r->pipe->transfer_unmap(r->pipe, r->tex_transfer[i]); +      r->pipe->tex_transfer_destroy(r->pipe, r->tex_transfer[i]);     }  } | 
