On Thu, Sep 3, 2015 at 7:25 AM, Hans de Goede <hdego...@redhat.com> wrote: > Note this is not ideal. Since the sifm can only do source sizes upto > 1024x1024 we end up using the blitter on nv4x, which is not that fast.
Moral of the story: don't do use nv3x/nv4x :) Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: "10.6 11.0" <mesa-sta...@lists.freedesktop.org> > > And on nv3x we end up using the cpu which is really slow. > > Signed-off-by: Hans de Goede <hdego...@redhat.com> > --- > src/gallium/drivers/nouveau/nv30/nv30_miptree.c | 19 ++++++++----------- > src/gallium/drivers/nouveau/nv30/nv30_resource.h | 3 --- > 2 files changed, 8 insertions(+), 14 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_miptree.c > b/src/gallium/drivers/nouveau/nv30/nv30_miptree.c > index 2276347..76bb8b8 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_miptree.c > +++ b/src/gallium/drivers/nouveau/nv30/nv30_miptree.c > @@ -145,21 +145,18 @@ nv30_resource_copy_region(struct pipe_context *pipe, > nv30_transfer_rect(nv30, NEAREST, &src, &dst); > } > > -void > -nv30_resource_resolve(struct pipe_context *pipe, > - const struct pipe_resolve_info *info) > +static void > +nv30_resource_resolve(struct nv30_context *nv30, > + const struct pipe_blit_info *info) > { > -#if 0 > - struct nv30_context *nv30 = nv30_context(pipe); > struct nv30_rect src, dst; > > - define_rect(info->src.res, 0, 0, info->src.x0, info->src.y0, > - info->src.x1 - info->src.x0, info->src.y1 - info->src.y0, > &src); > - define_rect(info->dst.res, info->dst.level, 0, info->dst.x0, info->dst.y0, > - info->dst.x1 - info->dst.x0, info->dst.y1 - info->dst.y0, > &dst); > + define_rect(info->src.resource, 0, info->src.box.z, info->src.box.x, > + info->src.box.y, info->src.box.width, info->src.box.height, &src); > + define_rect(info->dst.resource, 0, info->dst.box.z, info->dst.box.x, > + info->dst.box.y, info->dst.box.width, info->dst.box.height, &dst); > > nv30_transfer_rect(nv30, BILINEAR, &src, &dst); > -#endif > } > > void > @@ -173,7 +170,7 @@ nv30_blit(struct pipe_context *pipe, > info.dst.resource->nr_samples <= 1 && > !util_format_is_depth_or_stencil(info.src.resource->format) && > !util_format_is_pure_integer(info.src.resource->format)) { > - debug_printf("nv30: color resolve unimplemented\n"); > + nv30_resource_resolve(nv30, blit_info); > return; > } > > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_resource.h > b/src/gallium/drivers/nouveau/nv30/nv30_resource.h > index 8dac779..20d86b6 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_resource.h > +++ b/src/gallium/drivers/nouveau/nv30/nv30_resource.h > @@ -66,9 +66,6 @@ nv30_resource_copy_region(struct pipe_context *pipe, > const struct pipe_box *src_box); > > void > -nv30_resource_resolve(struct pipe_context *, const struct pipe_resolve_info > *); > - > -void > nv30_blit(struct pipe_context *pipe, > const struct pipe_blit_info *blit_info); > > -- > 2.4.3 > > _______________________________________________ > Nouveau mailing list > nouv...@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev