[AD] Windows- Multiple cards causes Allegro to break

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I've seen a few mentions of this problem scattered about, however I thought
I'd share my experience (hopefully this isn't just repeating everything
that's already known). I don't have the expertise to fix this in Allegro so
hopefully this information can help someone who understands the DirectX
driver better.

It seems that when using multiple video cards in Windows, Allegro is unable
to function correctly. Remember this is two separate physical cards, the
behavior may be different when using a single dual-head card.

This is with the latest Allegro WIP.

System:
Windows 2000 SP4 w/ DX 9.0c
Primary video card: ATI Radeon 8500 AGP
Secondary video card: ATI Rage XL PCI

When using DirectX fullscreen driver:
The primary card switches to the proper resolution and displays a window
border of the Allegro application in a corrupt color. No other video is
displayed (random color in window contents). Audio, keyboard, etc still
work.

When using DirectX window driver:
If the Allegro window is completely within the bounds of the primary card:
Window is created at correct size. Nothing is ever placed in the window's
contents. Audio, keyboard, etc work.
Interestingly, if I initiate a move of the application within the primary
card it starts working correctly only during the move. Video is drawn
correctly within the window. After I initiate the move, as long as I hold
the mouse button down (I haven't "finished" the move), the window keeps
updating correctly! Upon completing the move (letting go of the mouse
button), the video stops being updated.

If the Allegro window is completely within the bounds of the secondary card
(after being moved there):
Application works as expected. No problems.

If the Allegro window is split between the bounds of the primary and
secondary card (after being moved there):
The application works as expected! Amazingly, as long as just one single
pixel is within the secondary card bounds, all pixels are correctly drawn no
matter what card they lie in.

When using GDI driver:
Application works as expected no matter what card is being used. No surprise
here.

I may look at the source of Allegro to see the fixablity of this, but I
don't know my way around DirectX enough to really do much. Hopefully someone
can make sense of this problem.

   Matt Witherspoon





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/