aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r600/r700_ioctl.c
diff options
context:
space:
mode:
authorPauli Nieminen <[email protected]>2009-08-14 22:10:24 +0300
committerAlex Deucher <[email protected]>2009-08-18 13:19:25 -0400
commitbbf2b5c4ffcb6755d34a5b698445aecf604e45fb (patch)
treebb45216d7e5ad6eb6a068677faa7727b0d961ff2 /src/mesa/drivers/dri/r600/r700_ioctl.c
parentc745c87b3ecd6d9b734c48b0afa3d60e1a44d638 (diff)
radeon: Optimize memory handling for dma operations.
We keep dma buffer objects in list untill they have been unused for many draw operations. Current limit of having 100 flushes is just guess for good performance/memory trade off. Moving WARN_ONCE macro to common context because it is used in multiple drivers. Signed-off-by: Pauli Nieminen <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/r600/r700_ioctl.c')
-rw-r--r--src/mesa/drivers/dri/r600/r700_ioctl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r600/r700_ioctl.c b/src/mesa/drivers/dri/r600/r700_ioctl.c
index 23cc128d6db..e0e506d665d 100644
--- a/src/mesa/drivers/dri/r600/r700_ioctl.c
+++ b/src/mesa/drivers/dri/r600/r700_ioctl.c
@@ -31,6 +31,7 @@
#include "main/imports.h"
#include "main/macros.h"
#include "main/context.h"
+#include "main/simple_list.h"
#include "swrast/swrast.h"
#include "radeon_common.h"
@@ -52,7 +53,7 @@ static void r700Flush(GLcontext *ctx)
we have no DMA buffer allocated.
then no point flushing anything at all.
*/
- if (!radeon->dma.flush && !radeon->cmdbuf.cs->cdw && !radeon->dma.current)
+ if (!radeon->dma.flush && !radeon->cmdbuf.cs->cdw && is_empty_list(&radeon->dma.reserved))
return;
if (radeon->dma.flush)