I managed to get working B_MOVE_DISPLAY on radeon_hd: VideoStreams: Media Kit-like 3D hardware acceleration kit for Haiku - #37 by X512.
Ok, looking good apart from register access. I will have a look for these in docs, maybe you could try them then?
Update: Looks like the registers should be the same adresses and content.
I would expect DISPLAY_A or B to be in use, but also a C exists, maybe you could add that to see if it does something:
0x7219C = Primary C base adress, PRI_SURF_C, I think that’s INTEL_DISPLAY_A_SURFACE;
0x72188 = primary stride C adress;
0x721A4 = Primary offset C adress.
The other option to test is check if in mode.cpp, function ‘set_frame_buffer_registers’ executes the top part of the ‘if’ statement, or the ‘else’ part. Looks like it should be the upper part, if that works if forced, an extra check for your chipset series should be added there.
That’s about it what I can find quickly…
Where documentation is available?
@X512 yours:
specifically:
See page 724 and a few beyond. Personally I compare this stuff often to the Ivy version to see for probable changes needed.
I made it working! Register PRI_OFFSET (0x701a4) works with formula h_display_start + v_display_start << 16
.
I’d say we should update that in the driver then
Hi, I am hoping someone can give me a little guidance. I have a laptop with Intel HD Graphics 620.
device/type 0x3
device/subtype 0
device/interface 0
device/vendor 0x8086
device/id 0x5916
I am trying to determine if this device is just not supported by our driver or if I have a bug to be reported. I have tried to determine this myself, but I’m just lost.
Thanks
Donald
I just tried hrev55421 64 bit
I don’t know if it is related, but with webpositive, on my laptop with intel hd 4000 (card ID 0x0166), I see some progress, finally I see accelerated and smooth 1080p movies, this one here in particular with lion cubs on Rumble. I can set some videos at this resolution and they go great, (same other videos dont play but I think it depends on some codec that is missing on HAIKU. On Rumble web+ works a little better, I can change the resolution of the videos, while on Youtube I can’t)
That problem persists, but I tried to do other tests, I change the number of colors and it works, only when I change the resolution I get blackscreen.
your Id’ are not in there (5916)
driver.cpp\intel_extreme\graphics\drivers\kernel\add-ons\src - haiku - Haiku’s main repository (haiku-os.org)
Your chip are from the Kaby Lake family
My newest build is i5-10600k (Comet Lake) which uses UHD630 built in graphics. It could be a while before it is supported!
So i’ve updated the driver just now in git: hrev55436. If all is right it should now work without the patch @X512. If not, please let me know what’s needed extra and/or different… Thanks!
For the record, I created a ticket, but it has not much info yet:
https://dev.haiku-os.org/ticket/17264
Hope this will help getting it solved at some point
I also have problem that app_server start freeze and load CPU after running accelerant test. Maybe retrace semaphore problem.
Accelerant cloning unfortunately not working. It returns error when attempting to clone. Cloning accelerant should perform better and cause less conflicts when app_server is running.
Also is it hard to implement hardware alpha blitting support? Software alpha blitting is slow because it use slow video memory reading.
Sorry, don’t know. I never looked at intel’s acceleration engine yet.
I am testing BWindowScreen atm on the intel driver and it seems to fail, so I’ll fix that if possible. Cloning I did not test yet (normally I am testing with a video consumer node which does that and displays video on a secondary graphics card: don’t even know if I can activate a second card alongside intel atm, and besides I don’t know if video overlay is supported on the intel driver, which the node needs (or scaled_filtered_blit)
I can imagine that the retrace semaphore isn’t working on your card since a lot does not work there yet (setting modes).
It works for Intel graphics. At least GLTeapot shows 60 FPS. I also made BDirectWindow tearing tests with retrace semaphore.
ah ok, then there’s another problem there. Maybe the DPMS thing again?
Matrix channel user reported screen with artifacts. Any Ideas why this can happen?