Opened 8 years ago

Last modified 7 days ago

#9185 new bug

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

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


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 8 years ago.
Add hw cursor checking

Download all attachments as: .zip

Change History (9)

by jua, 8 years ago

Add hw cursor checking

comment:1 by jua, 8 years ago

patch: 01

comment:2 by jua, 8 years ago

I just learned about this ticket:

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 by pulkomandy, 6 years ago

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 by waddlesplash, 5 years ago

patch: 10

comment:5 by rudolfc, 5 years ago


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.



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

comment:6 by rudolfc, 5 years ago

Cc: rudolfc added

comment:7 by rudolfc, 5 years ago


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


comment:8 by pulkomandy, 7 days ago

Milestone: R1R1.1
Note: See TracTickets for help on using tickets.