Commit Graph
100 Commits
Author SHA1 Message Date
X512 5b81e2470e HDA: enable HDMI/DP digital audio output
Confirmed to work with NVIDIA GSP driver.

Change-Id: I911a5241fc034d3cc51f4f3cd318e6e3086b7a26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11066
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-07-04 11:49:50 +00:00
X512 18c2a40a99 MediaEventLooper: drain remaining messages on port after quit
This is required because clients may wait for reply and will freeze
otherwise.

Change-Id: I5d14b94d100444a1ee9ea049d7674740b78e284c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11065
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-06-03 17:34:16 +00:00
X512 244627a8f1 Cortex: fix deadlock on node deletion
Fixes #20121.

Change-Id: I6ae1fcd86de55ea6b93358a57e793197e8cce617
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11064
Reviewed-by: waddlesplash <[email protected]>
2026-06-03 17:28:53 +00:00
X512 d07b178718 Cortex: remove old BeOS Media Kit bug workaround
Allow to disconnect connections for `BFileInterface` node.

Change-Id: I7006aae0a36f6a8faa16def367e8c0f8cafd3f63
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11063
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-06-03 17:28:53 +00:00
X512 41c26c2888 MediaPlayer: fix unability to restart playback of video files
Doing `running = false;` on video playing completion cause video decoder thread
to terminate and unability to restart playback until opening some other file.

Fixes #15961.

Change-Id: Ib6aafb12cc748b7a05a72cf62707d4276b1a4c4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11062
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-03 17:28:53 +00:00
X512 de59fdde33 ListView: fix track session handling
Fix various track session handling related bugs like unexpected
selected item change when mouse button was not pressed inside list view
or not currently pressed at all.

Use `fTrack->is_active` to indicate that track session is active.

Remove `fTrack->buttons` because exact mouse button is never checked in
code.

Remove some redundant conditions.

Remove now not needed workaround in `BColorListView::MouseUp`.

Change-Id: Ic4ac846019bd71af008c936dd8d7d265326cba9a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10968
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
2026-05-11 16:55:07 +00:00
X512 29323c568f BPicture: fix DRAW_STRING command escapement_delta fields order
Change-Id: I4af041faf108c80c8232928b9bd39f43397aaada
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10586
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-04-05 14:50:48 +00:00
X512 1d0b703ac1 app_server: do not add screen_where twice to B_MOUSE_IDLE message
Message contents before this fix:
```
- B_MOUSE_IDLE:
    $target: B_PREFERRED_TOKEN
    screen_where:
      - !BPoint {x: 297, y: 280}
      - !BPoint {x: 297, y: 280}
```

Change-Id: If7ea26be13d2eacb5762b246d076db6d051dfe6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10654
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-04-04 15:24:26 +00:00
X512 dc2b843979 BPicture: fix SET_TRANSFORM command storage
`BAffineTransform` type has vtable and can't be saved as-is to file.

Change-Id: I8540caad9e440f50db7f7810ae25750c60c37ec4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10645
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-04-01 16:23:39 +00:00
X512 0a40b3a1ce BPicture: fix subpicture token storage
Picture token written for `BView::DrawPicture` and
`BView::ClipTo[Inverse]Picture` should be zero-based index in
subpictures array, not global app_server BPicture token.

Part of #1133.

Change-Id: I2a544aefb343650e8bad58c5d297f7b9d5d1dbb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10575
Reviewed-by: waddlesplash <[email protected]>
2026-03-24 14:33:50 +00:00
X512 043ad4d92d BPicture: fix font shear storage
`SET_FONT_SHEAR` store shear angle in radians and relative to up
direction in BeOS. Formula of conversion from `BFont::SetShear()` to
`SET_FONT_SHEAR` value:

`pictShear = (fontShear - 90) * (M_PI / 180.0f)`.

Part of #1133.

Change-Id: I089c003e6509e519866d83dfe145e5b0226d32b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10564
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-23 12:18:55 +00:00
X512 9e7b79a90e BPicture: fix BBitmap storage
BeOS save `BBitmap` data size `int32` field before bitmap data array.

Part of #1133.

Change-Id: I5706b87ca19f2e71e242b98eea6d69bc8ec14558
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10555
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-20 21:50:48 +00:00
X512 02683a08de View: optimize Fill/StrokePolygon with raw points array argument
Converting points array to `BPolygon` has significant cost, including
heap allocation, when drawing a lot of polygons.

Change-Id: I81e6b4031bac4beadcc79412c58eedddffc00a82
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10337
Reviewed-by: waddlesplash <[email protected]>
2026-03-05 02:42:51 +00:00
X512 685d305a5b video_mixer: fix build and crash, add to image
Change-Id: I3c58538666313e74134fb6f1f5fc0c697b213cca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3033
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-02-04 09:49:13 +00:00
X512 5be8e81fc8 app_server/AS_GET_BOUNDINGBOXES_STRINGS: store each array independently
Do not use array interleaving.

It is more consistent and removes special case for protocol definition
driven inspection tools.

Change-Id: I5034e344c2c8611d21f8809dd67acc4864dd1d3e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10214
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-09 21:30:25 +00:00
X512 2a4448e033 PicturePlayer: Use C++ virtual interface instead of C function table
Also use C function table instead of `void*` table function casts.

Improve type safety and readability.

Change-Id: Ie5f544b5c2bb9f2333fe3353462325dbfb4453ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9656
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-01-04 22:56:43 +00:00
X512 ceaf2dd2d6 app_server: add gradient stroke support
TODO: HTML5 remote desktop client.

Change-Id: Ie2a32c4a498462578476d29a7000ea0b6f86810b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9625
Reviewed-by: waddlesplash <[email protected]>
2026-01-04 22:56:43 +00:00
X512 457cf2a9bf app_server: remove unreferenced server protocol commands
Change-Id: I48ec8a823bfc8660975cb6647b36f809f31374d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10164
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-28 11:54:57 +00:00
X512 31f0983fb2 remove accidentally set executable file bit
Change-Id: I6eb500ee8dc3ad0e699c3c3ec5e07d4a75264eb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9686
Reviewed-by: waddlesplash <[email protected]>
2025-10-10 15:31:55 +00:00
X512 47538c534f ClientMemoryAllocator: use map and reference count
- Resolve TODO about using map for server area_id lookup.

- Remove server cloned area delete request logic because it is less
  efficient and robust. Cloned area delete request messages may be
  missed if client message queue is full so it may cause cloned area
  leak.

- Implement reference counting for cloned areas instead.

Change-Id: Ie434ad36c2761ab0df00d341d55a6cea67b69830
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9667
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-06 15:10:48 +00:00
X512 5247c8c14f app_server: add screen ID for BScreen::ReadBitmap
For consistency and future multiple screen support.

Change-Id: I65363a0476d6244dfc9d2a3f26546fc43a9394f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9679
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-06 15:10:16 +00:00
X512 b6f74b4905 app_server: do not pass BAffineTransform as-is over server link
BAffineTransform is not POD type and contains vtable. Reading it from
byte stream as-is will cause vtable corruption.

Change-Id: I1371444444ffa47f77a88f5f82b3fe6ea031b14c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9660
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-09-23 01:54:28 +00:00
X512 508ff7e831 app_server: consolidate BRegion sending format
Change-Id: I6ba33fb3583f1292af7119c16964f7bec16aef54
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9629
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-09-08 16:42:25 +00:00
X512 647aba7574 ServerLink: move Read*/Attach* method implementations to LinkSender/Receiver
Change-Id: Ib4dec3348b1438bbdfbaf18146d8aebb1978c39c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9631
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-09-08 16:42:25 +00:00
X512 03d4f24535 BPicture: fix clipping region storage
Part of #1133.

Change-Id: I0d727056dd7302f5a320987b83a27c9571e9684f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9609
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-08-25 14:32:39 +00:00
X512 ecc2dea520 TokenSpace: fix GCC 2 build
Change-Id: Iab645e1219cb3aeba21a01815fc0abc8c7b84b4e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9582
Reviewed-by: waddlesplash <[email protected]>
2025-08-06 16:52:33 +00:00
X512 2a70c45937 TokenSpace: fix token wraparound
Fix bug that allocating/freeing a lot of BHandler cause token wraparound
and overwriting existing assigned tokens.

Change-Id: I12527126644bca1793a8475dc487f131e6f83437
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9533
Reviewed-by: waddlesplash <[email protected]>
2025-08-03 22:50:25 +00:00
X512 c5f7786d06 BPicture: fix BeOS flattened format compatibility
- BeOS store strings with `int32` size prefix.

- Corrected `B_PIC_DRAW_STRING` field order to match BeOS.

Part of #1133.

Change-Id: I354fbf3e8a093ee21a87a6400a036751b442955b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9307
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Stephan Aßmus <[email protected]>
2025-05-27 12:56:03 +00:00
X512 a73ec86407 Shape: remove unused code
Change-Id: I5fc23415aa79d216f04cdf0481794b3fa4c35bdf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9304
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-05-21 20:23:53 +00:00
X512 1ab126b49f BPopUpMenu: install shortcuts into menu window instead of caller window
This reverts commit a502215d78.

Do not overwrite caller window shortcuts with popup menu shortcuts, otherwise shortcuts will stop working after closing popup menu.

Fixes #19439.

Change-Id: I2199ebd1d8cbfc6212c8fb9c1b6291f0d39ecb46
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9216
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-04-28 14:34:42 +00:00
X512 2b5263a0d9 drivers/framebuffer: do not attempt to map whole PCI BAR
Mapping whole PCI bar breaks 3D acceleration drivers that need to map
GPU memory with different caching attibutes, triggering caching
attributes mismatch KDL.

Change-Id: I41eaf56031f7095e259ed4c390c5e3fcdf99bc58
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9149
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-03-31 20:58:37 +00:00
X512 c02537f91b BPicture: add missing WriteSetBlendingMode method.
Actual blending mode writing is still disabled for now. According to
previous commit messages it cause problems with BView::Begin/EndLayer
API.

Change-Id: Ib3c58b05a949e556e9f14a57822b20cd259e12d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8559
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-03-23 10:30:14 +00:00
X512 2e46e092db drivers/input: fix unkillable input_server
Change-Id: I8bcad3a166ccf45bac0832e9cfbdfbf601abbd13
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9138
Reviewed-by: waddlesplash <[email protected]>
2025-03-20 17:37:01 +00:00
X512 0a80f7f0e2 MediaPlayer: add 25% video scale menu option
Useful for high resolution video on low resolution screen.

Change-Id: I9e8c5ee4eee4ea39b14af896d126d412d087aa16
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9132
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-03-18 11:22:55 +00:00
X512 71368ea719 BPicture: remove point count argument from private draw bezier callback
Fill/StrokeBezier always have 4 points so passing point count is not
needed. Point count is not passed to BView drawing API and not stored in
BPicture data.

Change-Id: Iddb32bd493143d4450acfb76bdc56fc02136448e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8560
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-02-26 19:00:33 +00:00
X512 44cc18e1c4 app_server: make AS_SET_DECORATOR use the same error handling as other setters
Change-Id: Ia094099caddf2e53b0a5af814516e182c4404227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8816
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-01-10 03:40:22 +00:00
X512 aa453612ef app_server: remove GPU->GPU rect shifting code
It is not used anymore and is very slow on real hardware because it read
GPU memory by CPU.

Change-Id: I06f7ca072220b758d849921e844bb2aa75342e2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8680
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-12-18 17:26:41 +00:00
X512 8ea4167e8b kernel/vm: use DoublyLinkedList for VMCache areas list
Change-Id: I0c6a231f245fa542f5d90959755de1e6ba39eb8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8685
Reviewed-by: waddlesplash <[email protected]>
2024-12-17 17:53:47 +00:00
X512 a681d5a772 app_server: drop obsolete comment
Change-Id: I78bf3b72e6f93c510201450fe9d792f37462f9b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8679
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-14 15:15:12 +00:00
X512 5b2ecc7859 app_server: remove UpdateQueue
- It is a dead code that was not enabled for a long time.

- Asynchrous back to front framebuffer copying breaks update session
logic and introduce flickering artefacts.

Change-Id: Ifefd711e8dcd900443ba976f5efe128744fef2ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8617
Reviewed-by: Axel Dörfler <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-10 21:32:33 +00:00
X512 03f77fd7d9 app_server: drop legacy 2D hardware acceleration
- It is not enabled for a long time and is actually a dead code.

- It was tested before that it is actually slower on < 15 year old
  hardware so it have no any benefits. Modern CPUs have no problems
  with simple memory filling/copying operations. More complex
  acceleration operations are not supported in current accelerant driver
  API.

- It breaks double buffering and reintroduce flickering artefacts.

- It is incompatible with antialiased CPU drawing because GPU
  framebuffer memory reading is deadly slow and reading is required for
  alpha blending operation. So rendering buffer must be in CPU memory,
  offscreen GPU buffer can't be used.

- Hardware 2D acceleration for modern hardware is usually implemented
  using generic GPU rendering APIs such as OpenGL or Vulkan.

Change-Id: Ifb93c80cca4fc5f072e3166b29fc63b643ddb437
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8616
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-12-10 21:32:33 +00:00
X512 8776466030 BRect: add 2 argument width, height constructor
Left top position will be set to zero.

It is a common pattern to define `BRect` value with only width and height so it allow to simplify code a bit.

Change-Id: Ie14644843324c9e5bcc55e7cfbd557a8884559d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8535
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-11-11 16:56:19 +00:00
X512 2b0aa4245b BShape: use BShape::Private class to access private methods.
Avoid declaring random friend classes in public header. Allow to access
private methods from arbitrary source if needed.

Change-Id: Iac2cf0ca59e483aa0657e3fe1fc47080c661cf8b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8534
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-11-11 16:56:19 +00:00
X512 e892302909 BShape: add move construction and assignment support
GCC 2 support is also provided with `MoveFrom` method.

Change-Id: Ifedaf0b1406a5a2cb6bf3465249cea0f360e06d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8531
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-11-11 16:56:19 +00:00
X512 80fcf2df19 BRegion: add move construction and assignment support
GCC 2 support is also provided with `MoveFrom` method.

Change-Id: Ibd062f501fdeb5538ade6c84dcafb61cff70cc32
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8529
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-11-11 16:56:19 +00:00
X512 4bfc14b6c7 libroot: add posix_devctl() from POSIX.1-2024
Change-Id: I2ae748b2febcdeca0256e9033119dcf9988ccc74
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8556
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2024-11-10 20:08:54 +00:00
X512 30be30f25d Application: do not delete port owned by app_server
Change-Id: I99dbee8ed7900eda8bf0024e0893449e1b217255
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8516
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-11-01 16:07:04 +00:00
X512 cfe81d33f1 View: use ServerLink::AttachShape
No protocol change intended.

Change-Id: If2ca573a3b6763c62ab1ae0d8a11f783d6ecc233
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8473
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-10-20 22:30:56 +00:00
X512 2141d2fe3a input: fix KEY_power key code conflict with japanese \_ key
- This key code is inherited from BeOS, where it was used for the power
  key on Apple ADB keyboards
- Since then, we have introduced a new system for "multimedia" keys,
  that uses HID key codes directly instead of defining our own mappings
- The PS2 driver was using the HID keycode, but the USB driver was still
  using the BeOS defined one
- Japanese keyboards, which have a few more keys than US and European
  ones, reused the same keycode for something else

Since the power key does not need to be mapped by the keymap, move it
out of the way by using the HID keycode (key codes larger than 0x7f
cannot be mapped to UTF8 symbols). Remove all mentions of the use of
0x6b as a keycode for the power key, but add a note in the documentation
that BeOS did this.

To avoid further confusions, complete the documentation of extra
keycodes, and remove some definitions from keyboard_mouse_driver.h that
should have been in InterfaceDefs.h.

While researching this, I also found that some keys specific to Korean
keyboards were declared in the wrong place, as mapped codes instead of
unmapped ones (checked that by looking at the HID driver, which emits
these raw keycodes, and confirming that the mapped ones are not used in
any keymaps. Also added a note about the mapping of the extra modifier
keys in Japanese keyboards, which I think may be a problem since these
map to invalid UTF-8 byte sequences, but this is what the existing
keymap does, so leaving it as is for now until we can determine if this
can be changed or if we have to keep it that way.

Change-Id: I6a198a0840cba7739bdc78e0c65e5d8fd23956c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8047
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-08-19 16:00:25 +00:00
X512 ebe72d868b build: put each package build entry to separate line, adjust code style
Change-Id: Ib682fc276a08131e69fcdaa2cdba8c22d9e54a1a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8004
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-08-12 20:40:07 +00:00
X512 e2c588b594 build: put each image build target to separate line
It helps to simplify to view difference and apply patches.

No functional changes.

Change-Id: Ia29368eceaeb3306990c09da77c4527eff87c72a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7932
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-08-08 16:21:35 +00:00
X512 05c46731b8 GLInfo: fix double free
BView and BColumn are owned by its parent objects and deleted automatically.

Fix crash on exit.
Fixes #14535
Fixes #18331

Change-Id: If4bc4268542d4975b60f8f42c2868ec8a1a0a83f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7901
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alexander von Gluck <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-07-25 17:34:19 +00:00
X512 65a86bce72 kernel/fd: use function table to identify file descriptor type
It allows introducing new file descriptor types without editing enumeration every time. Anonymous FDs will be needed for Mesa
OpenGL/Vulkan drivers to reference GPU memory buffers and other driver objects that can be referenced as FDs from userland.

This change breaks private VFS API compatibility.
No behavior changes intended.

Change-Id: Iac109aad420b0b6aae704b38619436e01dcf4969
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7838
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-07-23 20:23:19 +00:00
X512 372509626a kernel/riscv64/arch_debug: port from x86 version
Change-Id: I917d7d81c83098d3b42551190338c73f221450d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7897
Reviewed-by: waddlesplash <[email protected]>
2024-07-23 17:29:16 +00:00
X512 747004e221 tracker: fix file name edit field misalignment
Font size have no direct relation with actual text line height and is a
choose of a font designer. Ascend + descent formula should be used to
calculate actual text line height.

`BRect` `right` and `bottom` coordinates are inclusive so it means for
example `BRect(0, 0, 15, 15)` width is 16 pixels.
`BRect::Width`/`Height` methods returns `right - left` and
`bottom - top` accordingly so actual size in pixels bigger by one. There
is some confusion that string width and rect width have a difference by one.

Change-Id: If29f8a2e6804a90e63dd2d92580160160229392f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7668
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-05-19 08:57:07 +00:00
X512 8b5f785b6a kits/package: allow to set BPackageResolvable to parsed string
Change-Id: I8ebb46b12a8af229d05994eb3cdd2d8180edc903
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7555
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-03-28 14:37:49 +00:00
X512 02463fb461 kernel/int: consolidate interrupt vector number to int32
This is no-op for 32 bit platforms because `int32` is defined as `long` there.

Change interrupt vector number from 64 bits to 32 bits for 64 bit platforms.

Change-Id: I52d1ad616cab16488804e9733c7afaf772a670ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7507
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2024-03-06 16:03:45 +00:00
X512 629f071bb9 pci: extend MSI interrupt vector number to 32 bits
Also increase MSI message data size to 32 bits according to PCIe spec.

Remove 0xff check for MSI interrupts because it is potentially valid
interrupt vector number. Reject 0xff only for legacy pin interrupts.

- MSI-X supports up to 2048 interrupts per device that do not fit to
`uint8`.

- Non-x86 systems may use separate interrupt vector ranges for
hard-wired interrupts and MSI interrupts so `uint8` is not enough to
represent all of them.

Change-Id: Iaf9ffb197ec23db0f97ffe3ea756d28d7bfc8705
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7433
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-02-28 23:17:42 +00:00
X512 1701b7b537 usb_webcam/uvc: fix 64 bit build
Change-Id: I17ae9fd139283b98684c4156bea0d2bb25113654
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7435
Reviewed-by: waddlesplash <[email protected]>
2024-02-27 19:19:55 +00:00
X512 d72ca12e19 app_server/BitmapManager: fix memory leak caused by missing token remove
`BTokenSpace::NewToken` put all allocated tokens into `fTokenMap` so
`BTokenSpace::RemoveToken` should be called for tokens that become unused to avoid infinite `fTokenMap` growth.

Change-Id: I0aee709234143ceaf4416d63b38fb2a26eb8f891
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7417
Reviewed-by: Axel Dörfler <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-02-19 14:30:21 +00:00
X512 0e268215f3 app_server/Screen: fix finalization order to avoid use after free
Change-Id: I41ba464a365be9449dfd47b2248746b9a338769e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7416
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
2024-02-19 14:29:37 +00:00
X512 e925863d95 kernel/DPC: allow adding callback to queue if already added (will do nothing)
It caused DPC list corruption when adding already added callback before
this change.

Change-Id: I81928795f91c6cf46fe3be4a8a042e07b9203161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7363
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-02-01 14:42:14 +00:00
X512 3433ec7334 vfs/preallocate: fix file descriptor leak
Fixes #18724.

Change-Id: I1a17a36106d13853888342a397ecd03087b1fdcf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7299
Reviewed-by: waddlesplash <[email protected]>
2024-01-06 15:20:09 +00:00
X512 21fa9b3bb4 registrar: use smaller minimal timer interval
Fixes #4576.

Change-Id: Ie0788ba9b48597bb9cead20b3125af251b5b59cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2888
Reviewed-by: Fredrik Holmqvist <[email protected]>
2024-01-03 19:18:46 +00:00
X512 0bb43cbf5a poke: map area into client team in POKE_MAP_MEMORY ioctl
After this change `POKE_UNMAP_MEMORY` ioctl will became redurant and
an alias for `delete_area()`. Areas will be automatically deleted
on team exit.

Change-Id: I336b49c2281abf064e1bf28d908c7b2c5afd4df0
2023-12-23 22:26:26 -05:00
X512 b5ba4badb3 app_server: clear background immediately on expose
Reduce stamping artifacts when application slowly responds to redraw requests.

This fixes and reintroduces logic previously removed in hrev53711.
Previous logic was incorrect as it didn't take the possibility of multiple
invalidations of different kinds (expose, update request) into account.
Now separate update and expose regions are maintained and only expose region
is cleared immediately.

Change-Id: I0fd98cb1b45ccec285154e8c0d8e3a1400d156d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6067
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-13 11:31:27 +00:00
X512 33365c2a0d AbstractSocket: do not bind AF_LOCAL socket when connecting
Fix connection error for AF_LOCAL sockets.

Change-Id: I2e822f34e64434ccdbdd484f1647de2a8a6232d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7166
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-11 18:09:42 +00:00
X512 f866c78257 poke: fix setting area name in POKE_MAP_MEMORY ioctl
Fix regression caused hrev52304

Change-Id: Ibadaed3a098d33787c18f243c55c546ff8c2d03b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7099
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-11-13 08:19:39 +00:00
X512 81c282f4b5 bus_managers/pci: dynamically register host controllers
Fixes handling of multiple PCI host controllers.

Change-Id: Iba79f2aa51b88d37bb6f5ec02d5cd3f470284ddb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6958
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-10-07 01:30:05 +00:00
X512 84a57f9a2d riscv/mmu: fix some code typos in hrev57298 that lead to boot failure
Change-Id: If0b2fded13ac079e505038fb51d05f7cfcb3d161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6953
Reviewed-by: waddlesplash <[email protected]>
2023-09-25 21:20:56 +00:00
X512 98895d0417 riscv64/mmu: use struct bitfield for flags and std::atomic
Fixes some PTE concurrent access bugs.

Change-Id: I09ec56861fae389a8a3e228b17a3921b85202c8b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6949
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-09-25 15:50:59 +00:00
X512 f83058d1ed elf: add PT_RISCV_ATTRIBUTES program header
Attribute is ignored for now.

It is supposed to check ABI compatiblity and reject loading incompatible images.
Haiku currently do not use multiple ABIs for RISC-V so it is safe to ignore attributes.

PT_RISCV_ATTRIBUTES program header is produced by default in GCC 13 and Clang 17.

Change-Id: I4659e9bacbf34a2a0bc16b34c2aaa37232d700fa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6948
Reviewed-by: David Karoly <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-09-25 15:20:13 +00:00
X512 f8bd82e198 xhci: report link status for USB 3 ports
The values come from XHCI table 5-27.

PS_PLS_MASK is the same as PORT_STATUS_SS_LINK_STATE.

Change-Id: Ie54abcda0c33738fe7dc5caa4e4f3abae3b40adc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6488
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-07-31 21:44:21 +00:00
X512 ae65daec10 kernel/riscv64: remove unused code
Change-Id: Ia140c962b3ae70faac3c9ae19125b0e245326586
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6743
Reviewed-by: waddlesplash <[email protected]>
2023-07-24 21:18:04 +00:00
X512 eb4b22adca virtio_mmio: fix logic
- Use separate descriptor count. Queue length and descriptor count do not need to be the same.

- Assotiate cookies with descriptors, not used queue index.

- Use mask instead of modulo operator for better efficiency (queue length is always power of 2).

Change-Id: I5f053287e2a0cfad8da25053c63c42aa06fb238d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6710
Reviewed-by: waddlesplash <[email protected]>
2023-07-24 21:00:56 +00:00
X512 0235c04759 util/Bitmap: add more utility methods
Change-Id: I021c2fafa01266e8a38c1cb2fd748fd89a4b75bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6742
Reviewed-by: waddlesplash <[email protected]>
2023-07-24 21:00:56 +00:00
X512 da70563f7f interface/Size: fix -Wdeprecated-enum-float-conversion warning
Change-Id: I8ca131f57495f974a79292a42ba5ce42a47d2437
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6702
Reviewed-by: waddlesplash <[email protected]>
2023-07-15 13:10:33 +00:00
X512 1d9ad3fad7 mmu/riscv64: implement global page mapping support
ASID allocation is not supported yet, so always use ASID 0 for user pages for now.

Change-Id: I021e77dae692c22984bc625dd0588362bece45b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6698
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-07-11 17:34:31 +00:00
X512 5d39116f10 fdt: copy FDT data from kernel_args to kernel heap
Change-Id: Id7b18c582357b8eeaa2e6b7956da3db35ebded3a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6599
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-06-30 00:29:58 +00:00
X512 2075595c78 fdt: expose FDT data to userland
Change-Id: I05c935735f54874630c641bf8ab7cbd378b71ba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6598
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2023-06-30 00:29:58 +00:00
X512 4a6b1e401c repo/riscv64: Bump HaikuPorts build-packages for riscv64
Change-Id: Idba2bc58c46deaa182ad27011b5a99e3231afe56
2023-06-16 14:44:48 -05:00
X512 edd8e471a6 xhci: fix root hub endpoint companion descriptor size
Fixes "SuperSpeed device without an endpoint companion descriptor!" error on riscv64.

Change-Id: Ie4d02997f17b68ea89bb3f3c8ab1ead99a2fc07a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6596
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-06-11 21:55:51 +00:00
X512 b3e608ab9f keymaps/Japanese: Japanese keymap do not use Alt Gr key
Set modifier keys as following:
- Right Cmd -> Right Alt
- Right Opt -> Right Win

Change-Id: I61a193a7690fca8486ecd2c17eb672d24d69e241
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6471
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-05-25 17:38:43 +00:00
X512 ef240bfffa makefile-engine: fix for riscv64
Change-Id: I85c18ce812db65606ef6aba64f81b80872618263
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4317
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-05-20 14:05:57 +00:00
X512 fe3f797dc8 kernel: fully remove arch_check_syscall_restart
Currently there are only stub implementations that are never used.

Change-Id: I00dc42cad7d24f40761b93e325d3df8683745b57
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6441
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-05-17 05:34:59 +00:00
X512 6550124ea0 riscv64: implement memory barriers
Change-Id: Ied9e6dad38968cee6e828dff6ec413e6281086cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6436
Reviewed-by: waddlesplash <[email protected]>
2023-05-10 20:55:18 +00:00
X512 b3fc3bc71d kernel/arch/riscv64: disable debug stack trace when sending signal
Writing stack trace outside of kernel debug mode may cause locking
related assert violation.

Change-Id: I7c77dd8a8de2831d528b6307b19a576398c1edb9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5256
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-04-30 23:47:26 +00:00
X512 b01b40745e kernel/arch/riscv64: restore SSTATUS register first
It cause to disable interrupts needed for correct trap frame restore.

Change-Id: I8b60023c9a878eb147796e76adb344c377cfcf11
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5255
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: X512 <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-04-30 23:46:57 +00:00
X512 3b91d73bce bus & drivers: drop PCI_x86
Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-04-25 15:54:32 +00:00
X512 f33c8f9ce2 busses/pci/designware: add
Change-Id: I43dfc8a4b4fabe7b892e98aa192db95ba1b9378f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6225
Reviewed-by: waddlesplash <[email protected]>
2023-04-25 15:54:32 +00:00
X512 912bdb2aca busses/pci/ecam: add
Change-Id: I8decef75a2d7f30bb5d45fc4774037d6a92bc161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6223
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-04-25 15:54:32 +00:00
X512 a23ac85fa9 bus_managers/pci: split PCI controller to separate add-on
busses/pci/x86: add
Other add-ons are in following commits.

Change-Id: I7a77bfaef0e8995917b4b54c8369d7075533ec26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6220
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-04-25 15:54:32 +00:00
X512 97b7c7719d bus_managers/pci: move MSI handling to generic code
Change-Id: I6194838b7b46222f720fc328bb4512fdb88a9c8a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6222
Reviewed-by: Adrien Destugues <[email protected]>
2023-04-25 15:54:32 +00:00
X512 e942269a1f pci: generic MSI interrupts support
Change-Id: Ib4fd23f6bca867a2b428bf2651234d719ee08672
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6221
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-04-25 15:54:32 +00:00
X512 0ec55fb069 framebuffer: fix NULL framebuffer address for non-x86
Change-Id: Ib24d4c04da102f40907002f59550635616b9a290
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6313
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-04-11 15:57:01 +00:00
X512 11e68e0c54 apps/haiku3d: Swap then unlock to fix rendering on glvnd
* The old non-EGL OpenGL kit did some weird stuff (tm) trying
  to fix Be's mistakes around OpenGL locking.
* The EGL libglvnd OpenGL kit (coming soon) no longer does wierd
  unlocking behaviours. This fixes a "white screen" for Haiku3D

Change-Id: I2a6804098516c0cd9ec63ccd1eb25c0813452933
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6267
Reviewed-by: waddlesplash <[email protected]>
2023-03-30 20:03:20 +00:00
X512 a83ee8cf77 build: enable network driver build for riscv64
Change-Id: I954c78a98103abdf98ed96e1a639e9d9e2f0ddc8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6235
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Automation <[email protected]>
2023-03-20 22:14:15 +00:00
X512 5865e68ef2 kernel/riscv: timer freq calculation, interrupt handling fixes
Change-Id: Ibe8b260a49c1b6e51df06f82b6c3a066c44accb1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6219
Reviewed-by: X512 <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 16:52:27 +00:00
X512 604b6f7e9b fdt: implement '#address-cells', '#size-cells' support
Change-Id: Ic1c1e75b9352d676da6f07ebd05b0491bd41f7a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6218
Reviewed-by: Alex von Gluck IV <[email protected]>
2023-03-20 16:52:27 +00:00
X512 408a7e27d9 kernel: implement clear_caches for riscv64
Change-Id: I28296725ce22b47e94481abf794b92cf4ffd98a5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6217
Tested-by: Automation <[email protected]>
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-03-20 14:24:26 +00:00