Opened 7 years ago

Last modified 3 years ago

#9185 new bug

BDirectWindow::SupportsWindowMode() doesn't check for hardware cursor support

Reported by: jua Owned by: jackburton
Priority: normal Milestone: R1
Component: Kits/Game Kit Version: R1/alpha4.1
Keywords: BDirectWindow hardware cursor Cc: rudolfc
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

According to the BeBook, windowed mode for BDirectWindow should only work when the graphics accelerant supports hardware cursors (see the documentation on BDirectWindow::SupportsWindowMode()).

SupportsWindowMode() is supposed to check for it, however, in Haiku it only looks for B_PARALLEL_ACCESS. Using a BDirectWindow without hardware cursor causes any drawing in it to even draw over the mouse cursor.

The attached patch adds B_HARDWARE_CURSOR to the check.

Attachments (1)

Add-hw-cursor-check-to-SupportsWindowMode.patch (908 bytes) - added by jua 7 years ago.
Add hw cursor checking

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by jua

Add hw cursor checking

comment:1 Changed 7 years ago by jua

Has a Patch: set

comment:2 Changed 7 years ago by jua

I just learned about this ticket: http://dev.haiku-os.org/ticket/4356

If #4356 is implemented, this patch is not necessary anymore, because then hardware cursor is not a requirement for BDirectWindow... (although then there is no cursor in it).

comment:3 Changed 5 years ago by pulkomandy

Applying this as is would essentially make windowed BDirectWindow unusable, since very few of our drivers support hardware cursors. We should probably fix that first.

comment:4 Changed 4 years ago by waddlesplash

Has a Patch: unset

comment:5 Changed 3 years ago by rudolfc

Guys,

Let it please be noted that my drivers all have 100 procent correct working hardware cursors under beos version 5 and dano. Also, I have explicitly tested all these drivers in pan and scan modes to work correctly. (also this is very handy btw for testing hardware overlay's correct move_overlay routines, executed when overlay is in use and the hardware cursor is moving) in the drivers (since overlay is connected to CRTC's and don't care about virtual workspaces..)

These drivers are: Nvidia, matrox, neomagic and via. If its not working correctly, the problem lies somewhere else.

Bye!,

Rudolf.

Last edited 3 years ago by rudolfc (previous) (diff)

comment:6 Changed 3 years ago by rudolfc

Cc: rudolfc added

comment:7 Changed 3 years ago by rudolfc

BTW,

For these driver's there is HTML doc in the respective kerneldriver source folders, alongside the settings files for these drivers (all same style).

Rudolf.

Note: See TracTickets for help on using tickets.