[Mesa-dev] [PATCH 2/2] r600: Handle failures in compute_memory_pool_finalize
Bruno Jimenez
brunojimen at gmail.com
Thu Jun 19 08:12:10 PDT 2014
Hi,
To which failure are you refering? Could you please send me a
test/program that I can try to track this down?
Thanks!
Bruno
On Thu, 2014-06-19 at 10:21 -0400, Jan Vesely wrote:
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> CC: Bruno Jimenez <brunojimen at gmail.com>
> ---
>
> The failure now hits assertion compute_memory_pool.c:408, instead of
> u_inlines.h:275:pipe_buffer_map_range: Assertion `offset < buffer->width0'
>
> src/gallium/drivers/r600/evergreen_compute.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
> index a2abf15..bd6e720 100644
> --- a/src/gallium/drivers/r600/evergreen_compute.c
> +++ b/src/gallium/drivers/r600/evergreen_compute.c
> @@ -659,7 +659,10 @@ static void evergreen_set_global_binding(
> return;
> }
>
> - compute_memory_finalize_pending(pool, ctx_);
> + if (compute_memory_finalize_pending(pool, ctx_) == -1) {
> + /* XXX: Unset */
> + return;
> + }
>
> for (int i = 0; i < n; i++)
> {
> @@ -967,7 +970,9 @@ void *r600_compute_global_transfer_map(
> "%u (box.x)\n", buffer->chunk->id, box->x);
>
>
> - compute_memory_finalize_pending(pool, ctx_);
> + if (compute_memory_finalize_pending(pool, ctx_) == -1) {
> + return NULL;
> + }
>
> assert(resource->target == PIPE_BUFFER);
> assert(resource->bind & PIPE_BIND_GLOBAL);
More information about the mesa-dev
mailing list