Fix SiS AGP vertex dispatch by not trying to emit 0 vertices, which would hang
the hardware. Re-enable AGP by default.
This commit is contained in:
@@ -46,7 +46,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
const char __driConfigOptions[] =
|
||||
DRI_CONF_BEGIN
|
||||
DRI_CONF_SECTION_DEBUG
|
||||
DRI_CONF_OPT_BEGIN(agp_disable,bool,true)
|
||||
DRI_CONF_OPT_BEGIN(agp_disable,bool,false)
|
||||
DRI_CONF_DESC(en,"Disable AGP vertex dispatch")
|
||||
DRI_CONF_OPT_END
|
||||
DRI_CONF_OPT_BEGIN(fallback_force,bool,false)
|
||||
|
@@ -889,7 +889,8 @@ static void sisRenderFinish( GLcontext *ctx )
|
||||
void
|
||||
sisFlushPrimsLocked(sisContextPtr smesa)
|
||||
{
|
||||
GLuint *start;
|
||||
if (smesa->vb_cur == smesa->vb_last)
|
||||
return;
|
||||
|
||||
sisUpdateHWState(smesa->glCtx);
|
||||
|
||||
@@ -898,7 +899,7 @@ sisFlushPrimsLocked(sisContextPtr smesa)
|
||||
mEndPrimitive();
|
||||
MMIO(REG_3D_AGPCmBase, (smesa->vb_last - smesa->vb) +
|
||||
smesa->vb_agp_offset);
|
||||
MMIO(REG_3D_AGPTtDwNum, (smesa->vb_cur - smesa->vb_last) / 4 |
|
||||
MMIO(REG_3D_AGPTtDwNum, ((smesa->vb_cur - smesa->vb_last) / 4) |
|
||||
0x50000000);
|
||||
MMIO(REG_3D_ParsingSet, smesa->AGPParseSet);
|
||||
MMIO(REG_3D_AGPCmFire, (GLint)(-1));
|
||||
|
@@ -51,6 +51,7 @@ do { \
|
||||
static __inline GLuint *sisAllocDmaLow(sisContextPtr smesa, int bytes)
|
||||
{
|
||||
GLuint *start;
|
||||
|
||||
if (smesa->vb_cur + bytes >= smesa->vb_end) {
|
||||
LOCK_HARDWARE();
|
||||
sisFlushPrimsLocked(smesa);
|
||||
|
Reference in New Issue
Block a user