[Mesa-dev] [PATCH 0/3] Gallium: CopyBufferSubData basic accel
Jakob Bornecrantz
wallbraker at gmail.com
Thu Apr 21 06:24:38 PDT 2011
On Thu, Apr 21, 2011 at 3:18 PM, Marek Olšák <maraeo at gmail.com> wrote:
> OK, here's the patch:
>
> galahad,util: warn on resource target mismatch in copy_region
Cool thanks!
Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>
Cheers Jakob.
>
> 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.
>
>
More information about the mesa-dev
mailing list