[haiku-appserver] Re: 2d HW acceleration - what's the status?

  • From: Bryan Varner <bryan@xxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Tue, 31 Jul 2007 15:26:12 -0400

> We are using fill-rect, invert-rect and rect-to-rect-screen-blit. See the
> accelerant interface for details on those.

Ok, I saw those.

>> Am I correct in assuming that because everything is double buffered,
> that
>> the Painter never actually writes directly to the HW frame buffer?
>
> No, you are misinformed. Double buffering is only used for colorspaces
> other
> than 32 bits. If you can somehow run in 32 bits, then hardware
> acceleration
> is used and double buffering is _not_ used.

Ah, not to sound like an idiot, but what's the reason that we only use it
for 32bit?

>> Is there any form of documentation on how app_server interacts with
>> accelerants?
>
> see src/servers/app/drawing/AccelerantHWInterface.cpp and
> src/servers/app/drawing/DrawingEngine.cpp (FillRect, FillRegion,
> CopyRegion,
> InvertRect) with regard to how the sync token is used.

Ah, I missed DrawingEngine.cpp!1

This is exactly what I was looking for. A few other questions...

Has anyone looked into using fill-rect (accelerant) for drawing straight
lines? Is Painter->StraightLine(...) faster than the imposed overhead of
handing off the function to the GPU? Has anyone tried to find the 'happy
medium' where it becomes beneficial?

Just curious... This has piqued my interest.

Thanks for the feedback Stephen.

-Bryan




Other related posts: