nvc0: save some CPU cycles in nvc0_context_unreference_resources()

This reduces the number of loop iterations for invalidating buffers
and images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Samuel Pitoiset 2016-05-12 21:06:05 +02:00
parent b8f0b00a9a
commit abb3401095

View file

@ -150,6 +150,12 @@ nvc0_context_unreference_resources(struct nvc0_context *nvc0)
for (i = 0; i < NVC0_MAX_PIPE_CONSTBUFS; ++i)
if (!nvc0->constbuf[s][i].user)
pipe_resource_reference(&nvc0->constbuf[s][i].u.buf, NULL);
for (i = 0; i < NVC0_MAX_BUFFERS; ++i)
pipe_resource_reference(&nvc0->buffers[s][i].buffer, NULL);
for (i = 0; i < NVC0_MAX_IMAGES; ++i)
pipe_resource_reference(&nvc0->images[s][i].resource, NULL);
}
for (s = 0; s < 2; ++s) {
@ -157,14 +163,6 @@ nvc0_context_unreference_resources(struct nvc0_context *nvc0)
pipe_surface_reference(&nvc0->surfaces[s][i], NULL);
}
for (s = 0; s < 6; ++s)
for (i = 0; i < NVC0_MAX_BUFFERS; ++i)
pipe_resource_reference(&nvc0->buffers[s][i].buffer, NULL);
for (s = 0; s < 6; ++s)
for (i = 0; i < NVC0_MAX_IMAGES; ++i)
pipe_resource_reference(&nvc0->images[s][i].resource, NULL);
for (i = 0; i < nvc0->num_tfbbufs; ++i)
pipe_so_target_reference(&nvc0->tfbbuf[i], NULL);