gallium/postprocess: Just to be safe, reference all buffers from outside

Even though it should be safe to use them for one frame, better be sure.
Suggested by Michael Dänzer.

NOTE: This is a candidate for the 8.0 stable branch.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
This commit is contained in:
Lauri Kasanen 2012-01-24 21:37:56 +02:00 committed by Alex Deucher
parent c5976017e3
commit 81938d2137
1 changed files with 10 additions and 0 deletions

View File

@ -64,6 +64,12 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
in = ppq->tmp[0];
}
// Kept only for this frame.
struct pipe_resource *refin = NULL, *refout = NULL;
pipe_resource_reference(&ppq->depth, indepth);
pipe_resource_reference(&refin, in);
pipe_resource_reference(&refout, out);
switch (ppq->n_filters) {
case 1: /* No temp buf */
ppq->pp_queue[0] (ppq, in, out, 0);
@ -93,6 +99,10 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
break;
}
pipe_resource_reference(&ppq->depth, NULL);
pipe_resource_reference(&refin, NULL);
pipe_resource_reference(&refout, NULL);
}