From 7309e1cd859fe2f5647a06bef350f404f1549972 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Thu, 27 Jan 2005 15:58:59 +0000 Subject: [PATCH] needed to bump the DMA command buffer forced freespace up to 256 words: NV4_GDI_RECT needs a higher setting than the old version. Hopefully engine crashes are now past tense... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11095 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../accelerants/nvidia/engine/nv_acc_dma.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c b/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c index 45e321a6f0..6dc5ee1aa5 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c @@ -866,18 +866,18 @@ static status_t nv_acc_fifofree_dma(uint16 cmd_size) /* mind this pittfall: * Leave some room between where the engine is fetching and where we * put new commands. Otherwise the engine will crash on heavy loads. - * A crash can be forced best in 640x480 resolution with BeRoMeter 1.2.6. - * (confirmed on NV11 and NV43 with less than 128 words forced freespace.) + * A crash can be forced best in 640x480x32 mode with BeRoMeter 1.2.6. + * (confirmed on NV11 and NV43 with less than 256 words forced freespace.) * Note: * The engine is DMA triggered for fetching chunks every 128 bytes, * maybe this is the reason for this behaviour. * Note also: * it looks like the space that needs to be kept free is coupled * with the size of the DMA buffer. */ - if (si->engine.dma.free < 128) + if (si->engine.dma.free < 256) si->engine.dma.free = 0; else - si->engine.dma.free -= 128; + si->engine.dma.free -= 256; } } else @@ -890,18 +890,18 @@ static status_t nv_acc_fifofree_dma(uint16 cmd_size) /* mind this pittfall: * Leave some room between where the engine is fetching and where we * put new commands. Otherwise the engine will crash on heavy loads. - * A crash can be forced best in 640x480 resolution with BeRoMeter 1.2.6. - * (confirmed on NV11 and NV43 with less than 128 words forced freespace.) + * A crash can be forced best in 640x480x32 mode with BeRoMeter 1.2.6. + * (confirmed on NV11 and NV43 with less than 256 words forced freespace.) * Note: * The engine is DMA triggered for fetching chunks every 128 bytes, * maybe this is the reason for this behaviour. * Note also: * it looks like the space that needs to be kept free is coupled * with the size of the DMA buffer. */ - if (si->engine.dma.free < 128) + if (si->engine.dma.free < 256) si->engine.dma.free = 0; else - si->engine.dma.free -= 128; + si->engine.dma.free -= 256; } }