Yes, I know, common question. But I thought I'd check if anyone has come up
with a solution with the passing of years. ;)
Usually, this doesn't matter. You create your window, and if it's wholy
within the area of a display, then the correct driver gets used,
particularly if its a dualhead card.
However, I've got a configuration where that doesn't work. An onboard
Radeon 9000/9100 as primary and a PCI Radeon 7000 as secondary to be
precise. Create a window on the 7000, and OpenGL uses the 9000/9100 driver,
with the result being a framerate of about 4.
By programatically changing which is the primary display, I can get the 7000
to use the 7000 driver. However, I still can't get one app to use the
correct driver for both displays simultaneously.
It _is_ possible to do this using DirectX, but I don't want to be
maintaining two seperate renderers for our Windows and Linux products. So,
has anyone got any other ideas?
(I've, possibly foolishly, tried using the HDC of the display directly,
rather than that of a window, and that gets all the way to wglMakeCurrent
before failing. Drat. ;)
Cheers,
- Sam B
|
|
0
|
|
|
|
Reply
|
Sam
|
6/29/2009 10:20:08 PM |
|
On Jun 30, 12:20=A0am, "Sam Brown"
<subiNOS...@dslIMEANIT.pipexREALLY.com> wrote:
>
> (I've, possibly foolishly, tried using the HDC of the display directly,
> rather than that of a window, and that gets all the way to wglMakeCurrent
> before failing. =A0Drat. =A0;)
>
That's likely to be your problem. You *must* create a window
to use OpenGL.
--
<\___/>
/ O O \
\_____/ FTB.
http://www.topaz3d.com/ - New 3D editor for real time simulation
|
|
0
|
|
|
|
Reply
|
fungus
|
6/30/2009 7:58:30 AM
|
|
"fungus" <openglMYSOCKS@artlum.com> wrote in message
news:23241628-9486-4d80-8d44-aa2ffa12f8cc@i6g2000yqj.googlegroups.com...
> That's likely to be your problem. You *must* create a window
> to use OpenGL.
Yep, I know. I created a window as well, set the same pixel format
on both it and the display (they both matched when I used ChoosePixelFormat)
and tried every combination of creating and setting the rendering context.
Nada, except for the usual using of the window for both.
I was trying to force GL to recognise that it needed to use the secondary's
driver. Ah well, looks like it just isn't possible (and I know, more modern
cards do it implicitly anyway). But looks like it's back to DirectX for
this
one. Drat.
- Sam B
|
|
0
|
|
|
|
Reply
|
Sam
|
6/30/2009 6:43:38 PM
|
|
"Sam Brown" <subiNOSPAM@dslIMEANIT.pipexREALLY.com> wrote in message
news:4f6dnVqpn_h9wdfXnZ2dnUVZ8g-dnZ2d@pipex.net...
>
> "fungus" <openglMYSOCKS@artlum.com> wrote in message
> news:23241628-9486-4d80-8d44-aa2ffa12f8cc@i6g2000yqj.googlegroups.com...
>
>> That's likely to be your problem. You *must* create a window
>> to use OpenGL.
>
> Yep, I know. I created a window as well, set the same pixel format
> on both it and the display (they both matched when I used
> ChoosePixelFormat)
> and tried every combination of creating and setting the rendering context.
> Nada, except for the usual using of the window for both.
>
> I was trying to force GL to recognise that it needed to use the
> secondary's
> driver. Ah well, looks like it just isn't possible (and I know, more
> modern
> cards do it implicitly anyway). But looks like it's back to DirectX for
> this
> one. Drat.
>
> - Sam B
>
>
>
Just out of curiosity, what's the desire for 2 different adapters ? Most
have had dual-monitor support for a long time now.
jbw
|
|
0
|
|
|
|
Reply
|
jbwest
|
6/30/2009 8:31:23 PM
|
|
"jbwest" <jbwest@acm.org> wrote in message
news:4a4a761f$0$29140$6e1ede2f@read.cnntp.org...
> Just out of curiosity, what's the desire for 2 different adapters ? Most
> have had dual-monitor support for a long time now.
It's for work, a rig provided by a customer. It's got vanilla XPe on it,
and
I'm not allowed to update any drivers or replace it with Linux (or I'd have
Gentoo on there like a shot ;)
They had a bunch of custom boards with the Radeon 9000/9100 chipset onboard,
and they added another display by sticking a PCI Radeon 7000 in it. You can
tell that decision was taken by an accountant, can't you? ;)
So, basically, my hands are tied. If only they'd use a dualhead PCI and
ignored the onboard. Ah well.
Cheers,
- Sam B
|
|
0
|
|
|
|
Reply
|
Sam
|
6/30/2009 8:56:31 PM
|
|
On Jun 30, 10:56=A0pm, "Sam Brown"
<subiNOS...@dslIMEANIT.pipexREALLY.com> wrote:
> So, basically, my hands are tied. =A0If only they'd use a dualhead PCI an=
d
> ignored the onboard. =A0Ah well.
Have you checked the gpu association extension from AMD? At least with
the NVidia counterpart (gpu affinity), you can query the cards and
restrict the GL context to them.
HTH,
Stefan.
--
http://www.eyescale.ch
http://www.equalizergraphics.com
http://www.linkedin.com/in/eilemann
|
|
0
|
|
|
|
Reply
|
eilemann
|
7/1/2009 7:08:52 AM
|
|
Another problem could be the 7000 driver is just so old
that it can't dandle dual card configurations. This card
is from the Quake 1 / MiniGL era and the driver probably
hasn't been updated for ten years (apart from bug fixes).
--
<\___/>
/ O O \
\_____/ FTB.
http://www.topaz3d.com/ - New 3D editor for real time simulation
|
|
0
|
|
|
|
Reply
|
fungus
|
7/1/2009 12:45:33 PM
|
|
<eilemann@gmail.com> wrote in message
news:a7cc3512-5436-4577-88d8-bf959015b382@h8g2000yqm.googlegroups.com...
> Have you checked the gpu association extension from AMD? At least with
> the NVidia counterpart (gpu affinity), you can query the cards and
> restrict the GL context to them.
Thanks, I didn't know that one! Sadly, it looks like no. No sign of
the extension string, and the driver only supports GL 1.3 anyway (the
extension needs 1.5 according to the spec).
Cheers,
- Sam B
|
|
0
|
|
|
|
Reply
|
Sam
|
7/1/2009 7:51:54 PM
|
|
"fungus" <openglMYSOCKS@artlum.com> wrote in message
news:d7ba31b0-3734-4523-8804-8622265a7684@c9g2000yqm.googlegroups.com...
> Another problem could be the 7000 driver is just so old
> that it can't dandle dual card configurations. This card
> is from the Quake 1 / MiniGL era and the driver probably
> hasn't been updated for ten years (apart from bug fixes).
Ohhh yeah, tell me about it. Doesn't even have T&L, although
at least it's not using the mini client.
It _can_ do it, I did it today with DirectX 8. It takes some
fiddling, and some juggling of HWNDs (which is basically the
access I've not got through WGL that I was trying to replicate
with my mucking about with HDCs earlier), but both cards were
using their own drivers and running at a good 200 fps (rather
than 4) just clearing the screen.
(Weirdly, DX8 is the only release I can do this trick with. 7
and earlier didn't have proper MM support, and 9 and upwards
seem to break it!)
I'd still prefer doing this under GL, but at least I've got some
way of doing it. Cheers guys.
- Sam B
|
|
0
|
|
|
|
Reply
|
Sam
|
7/1/2009 8:00:29 PM
|
|
|
8 Replies
137 Views
(page loaded in 0.128 seconds)
|