[Mesa-dev] [PATCH 0/3] Gallium: CopyBufferSubData basic accel

Marek Olšák maraeo at gmail.com
Thu Apr 21 06:18:43 PDT 2011


OK, here's the patch:

    galahad,util: warn on resource target mismatch in copy_region

diff --git a/src/gallium/auxiliary/util/u_surface.c
b/src/gallium/auxiliary/util/u_surfac
index 43a0266..4c5cc4d 100644
--- a/src/gallium/auxiliary/util/u_surface.c
+++ b/src/gallium/auxiliary/util/u_surface.c
@@ -157,6 +157,9 @@ util_resource_copy_region(struct pipe_context *pipe,
    unsigned h = src_box->height;

    assert(src && dst);
+   assert((src->target == PIPE_BUFFER && dst->target == PIPE_BUFFER) ||
+          (src->target != PIPE_BUFFER && dst->target != PIPE_BUFFER));
+
    if (!src || !dst)
       return;

diff --git a/src/gallium/drivers/galahad/glhd_context.c
b/src/gallium/drivers/galahad/glh
index 813a21e..f73d8a5 100644
--- a/src/gallium/drivers/galahad/glhd_context.c
+++ b/src/gallium/drivers/galahad/glhd_context.c
@@ -685,6 +685,12 @@ galahad_resource_copy_region(struct pipe_context
*_pipe,
          util_format_short_name(_dst->format));
    }

+   if ((_src->target == PIPE_BUFFER && _dst->target != PIPE_BUFFER) ||
+       (_src->target != PIPE_BUFFER && _dst->target == PIPE_BUFFER)) {
+      glhd_warn("Resource target mismatch: Source is %i, destination is
%i",
+                _src->target, _dst->target);
+   }
+
    pipe->resource_copy_region(pipe,
                               dst,
                               dst_level,

Marek

On Thu, Apr 21, 2011 at 2:53 PM, Jakob Bornecrantz <wallbraker at gmail.com>wrote:

> On Thu, Apr 21, 2011 at 2:47 PM, Marek Olšák <maraeo at gmail.com> wrote:
> > On Thu, Apr 21, 2011 at 1:19 PM, Jakob Bornecrantz <wallbraker at gmail.com
> >
> > wrote:
> >>
> >> On Thu, Apr 21, 2011 at 1:11 PM, Marek Olšák <maraeo at gmail.com> wrote:
> >> > Hi,
> >> >
> >> > This little series implements CopyBufferSubData via
> resource_copy_region
> >> > and adds a fallback implementation to all drivers. Now drivers can
> implement
> >> > a fast path for CopyBufferSubData instead of always defaulting to the
> >> > software path.
> >> >
> >> > I have tested this series with glean/bufferObject on r600g, softpipe,
> >> > and llvmpipe. Please review.
> >>
> >> I'm assuming that it is not allowed to copy_region between buffers and
> >> none buffers? Maybe some asserts to that effect?
> >
> > In util_resource_copy_region? Or in all the drivers? Or just Galahad?
>
> util_resource_copy_region and Galahad, drivers are free to assert if
> they want to but its not something you need to add.
>
> Cheers Jakob.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110421/2e97f679/attachment.html>


More information about the mesa-dev mailing list