VOGONS


Hardware overlay support

Topic actions

Reply 20 of 25, by Falcosoft

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2022-12-28, 13:33:

...
[*]This also adds a question for the desktop movie app, if it really needs overlay, is it definitely because of the support for DDSCAPS_OVERLAY or something else?[/list]

Desktop movie has an indirect dependency on real HW overlays. Namely it relies on "Overlay Mixer" Directshow renderer to achieve seamless desktop background movie playing with minimal system resource usage.
If no HW overlay is found then Desktop movie cannot create a fully working Directshow graph since Overlay Mixer refuses connections to its pins.
https://learn.microsoft.com/en-us/windows/win … ay-mixer-filter

The Overlay Mixer uses DirectDraw for rendering. It requires an overlay surface on the graphics card...
To test whether the graphics driver supports hardware overlay, call IDirectDraw7::GetCaps. If the dwMaxVisibleOverlays field in the DDCAPS structure is greater than zero, the driver supports hardware overlay.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 21 of 25, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Falcosoft wrote on 2022-12-29, 09:02:
Desktop movie has an indirect dependency on real HW overlays. Namely it relies on "Overlay Mixer" Directshow renderer to achieve […]
Show full quote
BEEN_Nath_58 wrote on 2022-12-28, 13:33:

...
[*]This also adds a question for the desktop movie app, if it really needs overlay, is it definitely because of the support for DDSCAPS_OVERLAY or something else?[/list]

Desktop movie has an indirect dependency on real HW overlays. Namely it relies on "Overlay Mixer" Directshow renderer to achieve seamless desktop background movie playing with minimal system resource usage.
If no HW overlay is found then Desktop movie cannot create a fully working Directshow graph since Overlay Mixer refuses connections to its pins.
https://learn.microsoft.com/en-us/windows/win … ay-mixer-filter

The Overlay Mixer uses DirectDraw for rendering. It requires an overlay surface on the graphics card...
To test whether the graphics driver supports hardware overlay, call IDirectDraw7::GetCaps. If the dwMaxVisibleOverlays field in the DDCAPS structure is greater than zero, the driver supports hardware overlay.

DxWnd creates caps to ensure the dwMaxVisibleOverlays value is 0x1 and DDSCAPS_OVERLAY is YES (I tested attaching dxview.exe to it). It then throws the overlay surface at the primary surface. So it must be some hooking problem, or DirectShow that it doesn't handle well. Anyways I appreciate the effort and the answers, the entire overlay development will take a while, and if dgVoodoo2 adds it too, it shall not be that soon.

previously known as Discrete_BOB_058

Reply 22 of 25, by Laser

User metadata
Rank Newbie
Rank
Newbie

Hardware overlay was used generally by video capture programs, picture viewers, video players, DVD players ,,also some games used it like the godfather etc
on the Commodore Amiga this overlay feature was called PIP ( picture in picture)

what basically does is realtime scale/resize of the image or video captured
this feature was used by the old TV capture cards for a better TV quality of image, fast rezising scaling etc also used by the drivers of old webcams

Hardware overlay worked until winvista, but winvista disabled aero when a program which uses overlay launchs because overlay was incompatible with the Aero transparences etc yet in windows vista Hardware overlay programs cause crashes and problems etc

So on win 7 and later this feature was disabled by Microsoft so basically if you want to use a program which uses overlay the best way to go is WinXP + GFX card which support 100% winxp : ex a geforce 950

and Im almost sure the last geforce seriess which support hardware overlay are the 900 series (maxwell)

BTT, I was trying to make to work hardware overlay on win 10 here using such registry keys cited her in this thread but nothing worked here, the overlay demo don't work here, also the program Dscaler 4.15 which uses overlay to capture video does not work neither

anyways some of the info here in this thread is incorrect so I will try to investigate a bit to find a clear way to make hardware overlay works in win 10 and win 11
see ya soon

Reply 23 of 25, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Not related to dgVoodoo2rectly, but it seems like modern AMD cards have overlay support? GetCaps returns-

OVERLAYARITHSTRETCHY+OVERLAYSHRINKX+OVERLAYSHRINKY+OVERLAYSTRETCHX+OVERLAYSTRETCHY+OVERLAYDEINTERLACE+OVERLAYFILTER+OVERLAYARITHSTRETCHY

which isn't present on my Nvidia GF10 card

previously known as Discrete_BOB_058

Reply 24 of 25, by Armitage Shanks

User metadata
Rank Newbie
Rank
Newbie

G'day,

I'm very sorry it's taken me so long to get back to you. I have been so distracted with work on XpressGraphics that I might as well have been living under a rock. In a cave. I checked out this thread like you suggested.

BEEN_Nath_58 wrote on 2022-11-28, 17:08:

Actually HW Directdraw overlays work on Win8 if the above mentioned registry key is set for the application. What is more HW overlays seemingly work better on Win8 than on Win7 since no Aero/Basic theme switching happens.

I never actually tried DirectDraw Overlays in Win8 because at that time I was reverse engineering my Wacom pen/screen, capturing packets with RawInput and drawing with Direct2D. The last time I physically wrote code for them and had them running was Win7.

BEEN_Nath_58 wrote on 2022-11-28, 17:08:

Out of curiosity I took the risk to end dwm.exe on my main machine and it killed explorer and restarted all open windows, it also lost the background momentarily, but there was no adverse effect on the UI, the only extreme effect was the driver crashed on 7th or the 8th time ending dwm.exe with Code-43.

🤣. I did this on Windows 11 except I went for explorer.exe instead. DO NOT DO THIS! Ugh. I cannot stress this enough. If this forum supported fonts, I'd be using Impact in 36pt, bold and underlined. I lost a LOT of work. It dismantled Windows entirely, took away the task bar, killed every running task, closed every open window and if it wasn't for my knowledge of Win+R, would have forced a soft restart.

One thing I DO recommend, though, is going into Task Manager and dropping the priority of dwm.exe process from High to Normal, go to Set Affinity, uncheck "All Processors" and park it on the last two logical cores of your CPU. it's a <censored> resource pig. If you're running a game or app that uses DirectX in windowed mode, it sits there, using a variable amount of RAM/VRAM, nibbling away at your CPU for 5-8%. Desktop Windows Manager on contemporary Windows is a joke. It was a joke when they released it with Vista and it's a joke now. All it does is offer eye-candy and pig out on system resources. Microsoft came up with it JUST to compete with MacOS Quartz. Why does DirectX 12 not support fullscreen-exclusive mode? DWM.

Reply 25 of 25, by Armitage Shanks

User metadata
Rank Newbie
Rank
Newbie

G'day,

Laser wrote on 2023-07-12, 10:56:

Hardware overlay was used generally by video capture programs, picture viewers, video players, DVD players ,,also some games used it like the godfather etc
on the Commodore Amiga this overlay feature was called PIP ( picture in picture)

I'm going to have to gently counter you on that remark. The Commodore Amiga never had, nor does it have, a feature by that name. Using features such as the Copper, dual playfields and hardware sprites, you could simulate picture-in-picture effects, but there is no specific feature called PIP.

However, the Apollo Computer family of Vampire accelerators (I have an Icedrake in my A1200 and a Manticore in my A600) do have a PIP feature implemented in FPGA. It's extremely good, but then, so is the Vampire IV (RTG on an A600 is better than words can describe) and so is the Amiga ☺