[haiku-appserver] Re: getting a clone of the current Accelerant

  • From: "Rudolf" <drivers.be-hold@xxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Sat, 03 Dec 2005 11:19:31 +0100 CET

Hi again,

I need to correct myself a bit again..
That 3D attempt was not about _cloning_ an accelerant, it was about
_being_ a clone accelerant. So the only cloning example is indeed
BWindowScreen AFAIK.

About two primary accelerants being active for one card: I don't know
for sure, but I think that this was not meant to be done.
Although it works 'apparantly'.

For instance, how about engine management: the benaphore created by
init_accelerant means that we'd have two? sync nolonger guaranteed?

My first impression would be (and always was) that there should only be
one original accelrant, and clone(s). If that's true then I should
probably modify the drivers to return an error if someone tries to open
up a original accelrant when that's already been done?
that would come in very handy, as for instance the video consumer node
can just try loading all accererants as primary ones, and conclude that
the one returning an error is the one displaying the desktop.
Also, I could block cloning from succeeding explicitly if one tries to
clone an accelerant without a primary one being already there..

Thoughts, anyone?

BTW starting a second primary accelerant means that a card (that
already has been coldstarted) gets coldstarted (again). This means that
a current set mode will get lost, engines will be powered down- and up
again, and such. If the first primary accelerant was doing business
with some engine there's no guarantee what will happen. I think.

OK, that's it.



> Hi there,
> > Stephan Aßmus <superstippi@xxxxxx> wrote:
> > > turns out harness isn't doing anything more useful than our
> > > AccelerantHWInterface already does (except that the code is
> > > ugly).
> > > I
> > > had
> > > hoped it would show me how to clone an accelerant. Cloning it is
> > > required,
> > > no? Rudolf, can you help? How would cloning an accelerant work?
> >
> > BWindowScreen does this, have a look at BWindowScreen::InitClone()
> > in
> > our repository.
> Indeed.  BTW I myself also did that for the nVidia 3D attempts.
> Although my code is a mess :-)
> BTW: I am running the test_harness here as well these days, playing
> around with a video media consumer node kevin once wrote.
> If you want to work with the harness be adviced that Thomas rewrote/
> enhanced the test_harness (I guess overlay support in there now as
> well) as he used/uses it a lot for his ATI driver dev. He mailed it
> once, but I'd have to try to locate it in my 'archives'.
> I too found that it's no problem to run two primary accellerants at
> one
> time, instead of using one primary and one clone. Apparantly.
> Testing with nVidia and Matrox cards here BTW.
> On a sidenode testing with harness  enabled me to run quake2
> perfectly
> on a secondary card: so on another card than the Be desktop was on.
> Although that desktop was distorted (of course) since setmode
> commands
> issued by Q2 were done primary.
> OK, back to listen mode again. Probably I don't have much to say
> anyway
> :-)
> Bye!
> Rudolf.

Other related posts: