[interfacekit] Re: R3 legacy code in R5 drivers?!?

> Hi everyone,

Hi Rudolf!

> 
> I realize I'm a bit of an outsider here, but I can imagine what I have to say 
> (or ask) could be meaningfull on _some_ occasions (sooner or later).

Hey, you are not an outsider. I would like you to take part here more often :)

> There seems to be something I can't  exacly put my finger on yet. If you run 
> either of these things on a stock R5 driver (Tested on G400 and Millenium), 
> you can use functions (from within BWindowScreen) that still use the R3 style 
> graphicsdriver interface. 
> This does not work with my drivers, nor will it work with any other non Be 
> driver I expect.


> Most R3 functions can be performed in another way (BScreen I think), but 
> acceleration would be a problem AFAIK. I only (think I) know of one method: 
> privately loading a clone accelerant and using the acc_engine (I can imagine 
> the app_server releases the acc_engine on BWindowSCreen activation, so a 
> clone could claim the engine. As long as it releases it again on quitting the 
> BWindowScreen or changing workspaces.)
> 

Well, I tried to recreate BWindowScreen (and I still have some code on my hard 
drive), but it isn't easy at all, and you are confirming this :)
Anyway, what I know is that BWindowScreen clones the accelerant, and it uses it 
directly, without passing through the app_server.
Moreover, BWindowScreen also loads an add_on (but I don't know which one, I 
should use the debugger to find it out).

> The problem is plain and simple: Be's BWindowScreen implementation is 
> outdated, and adheres to the BeOS R3 graphics drivers architecture.
> To be precise, you may _not_ use any function or struct found in the header 
> file: GraphicsCard.h.
> 

Oh! And I tought I had to look there :)
That's why I couldn't implement BWindowScreen correctly...



Other related posts: