On Sat, 22 Sep 2001, Manuel Teira wrote:

> El Sáb 22 Sep 2001 19:08, escribiste:
> > Manuel Teira wrote:
> > > El Sáb 22 Sep 2001 18:30, escribiste:
> > > > You can pass an argument to isosurf to tell it to render only 100
> > > > triangles (isosurf -100) - another good option, and you can get it to
> > > > render more by moving with the arrow keys.
> > >
> > > isosurf, where could I find it?
> >
> > Mesa demos directory, same place gears normally lives.  see www.mesa3d.org.
> >
> > Keith
>
> I have had problems trying to compile the demos myself, so, I've extracted
> them from a binary package I've found.
>
> And now, the results:
>
> 1.-When the new bm_dma_test is called from the dma_init it fails as ever.
> Then, if I try to run the 'gears' demo, it hangs the machine.
> 2.-When the bm_dma_test is called from the dma_cleanout, the gears demo runs,
> showing only garbage on the screen. So, it seems that we should blame the DMA
> test for the locks.
> 3.-Finally, and in the same environment than (2), I've tried to run the
> isosurf demo. Against all the bets, it worked. Well, it's able to render the
> figures as good as in software mode (with the software GL library), but with
> some problems:
>       - There's garbage in the background of the window.
>       - The window is not cleaned for each frame, so, all the shapes are mixed on
> the screen after some key strokes.
>

I've tried out the changes and I got the same results with glxheads.  The
garbage in the background for me is part of the KDE splash screen and part
of my desktop background.  Again, the shapes are drawn and rotated, but
the window is not cleared for each frame.

I'm a bit confused about something in the engine reset code.  The sample
engine reset code in the programmer's guide mentions setting
BUS_FIFO_ERR_ACK and BUS_HOST_ERR_ACK in BUS_CNTL (0x00a00000), but the
register guide shows these bits as BUS_MSTR_RD_LINE and LAT16X
respectively, with LAT16X being read-only.  The 2D driver (atiregs.h) has
these defines:

#define BUS_FIFO_ERR_INT_EN             0x00100000ul
#define BUS_MSTR_RD_MULT                0x00100000ul    /* VTB/GTB/LT */
#define BUS_FIFO_ERR_INT                0x00200000ul
#define BUS_MSTR_RD_LINE                0x00200000ul    /* VTB/GTB/LT */
#define BUS_HOST_ERR_INT_EN             0x00400000ul
#define BUS_SUSPEND                     0x00400000ul    /* GTPro */
#define BUS_HOST_ERR_INT                0x00800000ul
#define BUS_LAT16X                      0x00800000ul    /* GTPro */

..and there is code like this in atiprobe.c:

/* Make sure any Mach64 is not in some weird state */
    bus_cntl = inr(BUS_CNTL);
    if (Chip < ATI_CHIP_264VTB)
        outr(BUS_CNTL,
             (bus_cntl & ~(BUS_HOST_ERR_INT_EN | BUS_FIFO_ERR_INT_EN)) |
             (BUS_HOST_ERR_INT | BUS_FIFO_ERR_INT));
    else
        outr(BUS_CNTL, (bus_cntl & ~BUS_HOST_ERR_INT_EN) | BUS_HOST_ERR_INT);

Does anyone know what's going on here?

-- 
Leif Delgass


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to