VOGONS

Common searches


First post, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Hello, so I just got a new PC (one of those minis with a laptop APU / integrated graphics), the only downside I'm having which seems to be a thing with all AMD GPUs is the lack of being able to force MSAA (and anisotropic filtering) with older games, apparently the settings in the Adrenalin software (AMDs control panel) only affects DirectX9 games, unlike my old laptop with its Nvidia 960M.

One thing I have been using is ddrawcompat which is working really well with everything I've used it with, and anisotropic filtering seems to work? At least it says its active in the ddrawcompat log, however MSAA crashes any game I try it with which is really unfortunate because a lot of these games looked really nice on my "older" laptop and I would assume AA would work even with any current Nvidia GPU too (whatever AA Nvidia uses for these older games).

The log does state that MSAA is supported too

Supported MSAA modes: msaa(7), msaa2x(4), msaa4x(2), msaa8x(2)

I've tried each of the above and they all result in a crash. Here's my DDrawCompat.ini

Antialiasing            = msaa8x(2)
DesktopResolution = app
DisplayResolution = app
RenderColorDepth = 16d10
SoftwareDevice = app
TextureFilter = af16x

I also tried using SoftwareDevice = hal but that also results in a crash.

If anyone has a modern AMD GPU and has gotten MSAA to work kindly share thanks.

One other problem although this is more to do with DxWnd and I should ask on sourceforge but, as you mightve noticed in my DDrawCompat.ini I have "RenderColorDepth = 16d10", this is really good for some games because it restores the dithering which most always just doesn't show at all, however if I use DxWnd it basically ignores the color depth stuff and will either have no dithering or even worse, color banding.

Last edited by AaronS on 2024-02-11, 22:30. Edited 1 time in total.

Reply 1 of 11, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

SoftwareDevice = hal probably forces HEL to use HAL which could crash (because some HEL features may be unavailable in HAL)

DxWnd has its own color emulation and it will overtake everything, even what is being processed by DDC or dgVoodoo2. A way to disable it would be to set DirectX/Emulation to None, it could have a few more effects as well.

The DDC dithering is probably a filter over the actual dithering effect, I think DxWnd has a filter for it as well in DirectX tab/Filters section of it but I never tried.

You may report the MSAA issue on it's github instead (although Narzoul has been lately a little inactive on replying)

previously known as Discrete_BOB_058

Reply 2 of 11, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Okay on the MSAA front: I tried dgvoodoo2's DirectX tab to force MSAA 8x and AF 16X and it works! Problem is dgvoodoo2 is to my knowledge only for ddraw? I also wanted something for DX8 games too, but at least I know its possible on AMD GPUs now, not sure why they don't support doing this through their own drivers.

The DDC dithering is probably a filter over the actual dithering effect

You might be right because it looks to me like it kind of moves when the screen moves, kind of like a noise filter, I could be wrong though. I haven't managed to readd the dithering with anything else I've tried so far so yeah it could be something DDC is doing on its own.

If possible I'd rather just have DxWnd do all this stuff so I don't need to mess with other wrappers but I don't think there's any kind of AA/AF stuff in DxWnd. I noticed you can install a proxy for ddraw and d3d8 but when I try to do this I get an error

"Proxy ddraw install failed while copying dxwnd.dll file
Check files on game folder"

The game isn't in Program Files or anywhere that needs admin so I don't know if there's anywhere else I can get these files to manually copy them in there and play about with it?

Reply 3 of 11, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
AaronS wrote on 2024-02-03, 20:57:

Okay on the MSAA front: I tried dgvoodoo2's DirectX tab to force MSAA 8x and AF 16X and it works! Problem is dgvoodoo2 is to my knowledge only for ddraw? I also wanted something for DX8 games too, but at least I know its possible on AMD GPUs now, not sure why they don't support doing this through their own drivers.

dgV2 is upto D3D9. There are d3d8 and d3d9 dlls as well!

The DDC dithering is probably a filter over the actual dithering effect

AaronS wrote on 2024-02-03, 20:57:

You might be right because it looks to me like it kind of moves when the screen moves, kind of like a noise filter, I could be wrong though. I haven't managed to readd the dithering with anything else I've tried so far so yeah it could be something DDC is doing on its own.

As far as I remember he declined a request for hw dithering a few months ago, so it must be a filter

AaronS wrote on 2024-02-03, 20:57:
If possible I'd rather just have DxWnd do all this stuff so I don't need to mess with other wrappers but I don't think there's a […]
Show full quote

If possible I'd rather just have DxWnd do all this stuff so I don't need to mess with other wrappers but I don't think there's any kind of AA/AF stuff in DxWnd. I noticed you can install a proxy for ddraw and d3d8 but when I try to do this I get an error

"Proxy ddraw install failed while copying dxwnd.dll file
Check files on game folder"

The game isn't in Program Files or anywhere that needs admin so I don't know if there's anywhere else I can get these files to manually copy them in there and play about with it?

Well you rather ask this in their threads, since usually there are other files to be copied as well. I usually do dxwnd.dll, d3d8.dll, disasm.dll, 3 libogg files.

previously known as Discrete_BOB_058

Reply 4 of 11, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Thanks for the tip on DxWnd selecting "None" for DirectX, everything is working great now with DxWnd+dgv2. I have one last question if you or anyone knows before I ask on the actual projects' pages because a response here is quicker: I get the "pixel shift" thing where the game is shifted right and down (apparently its half a pixel), ddrawcompat has a fix for this known as "AlternatePixelCenter":

Direct3D 9 and older versions have the (0, 0) pixel coordinate at the center of the top-left pixel instead of at the top-left corner of it. Therefore, applications should shift their vertex coordinates by a half pixel when trying to render a textured quad with perfect 1:1 texel-to-pixel mapping. Refer to the Directly Mapping Texels to Pixels (Direct3D 9) article of the Windows API documentation for details.

Unfortunately, many old applications didn't get this right, causing various display glitches, such as horizontal or vertical lines around sprite edges or at the edges of the screen, or hard to read text. Resolution scaling, antialiasing and texture filtering overrides can make this issue worse. Enabling this setting may correct some of these glitches.

(https://github.com/narzoul/DDrawCompat/wiki/C … natepixelcenter)

I assume either DxWnd or dgv2 has this somewhere in their settings?

(when I use this with ddrawcompat it dioes fix the outline on the left and top of the screen)

Reply 5 of 11, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
AaronS wrote on 2024-02-11, 19:51:
Thanks for the tip on DxWnd selecting "None" for DirectX, everything is working great now with DxWnd+dgv2. I have one last quest […]
Show full quote

Thanks for the tip on DxWnd selecting "None" for DirectX, everything is working great now with DxWnd+dgv2. I have one last question if you or anyone knows before I ask on the actual projects' pages because a response here is quicker: I get the "pixel shift" thing where the game is shifted right and down (apparently its half a pixel), ddrawcompat has a fix for this known as "AlternatePixelCenter":

Direct3D 9 and older versions have the (0, 0) pixel coordinate at the center of the top-left pixel instead of at the top-left corner of it. Therefore, applications should shift their vertex coordinates by a half pixel when trying to render a textured quad with perfect 1:1 texel-to-pixel mapping. Refer to the Directly Mapping Texels to Pixels (Direct3D 9) article of the Windows API documentation for details.

Unfortunately, many old applications didn't get this right, causing various display glitches, such as horizontal or vertical lines around sprite edges or at the edges of the screen, or hard to read text. Resolution scaling, antialiasing and texture filtering overrides can make this issue worse. Enabling this setting may correct some of these glitches.

(https://github.com/narzoul/DDrawCompat/wiki/C … natepixelcenter)

I assume either DxWnd or dgv2 has this somewhere in their settings?

(when I use this with ddrawcompat it dioes fix the outline on the left and top of the screen)

If I am not wrong, PixelShifting is a deep driver level feature, something DxWnd doesn't primarily target. I don't know if dgVoodoo2 has it, I didn't see it yet, but maybe you can directly ask in the dgVoodoo2 thread about your problem.

previously known as Discrete_BOB_058

Reply 7 of 11, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
AaronS wrote on 2024-02-11, 22:29:

Sadly dgv2's github is read-only, so can only hope they see this thread. Thanks anyway, for now I can live with it.

There's a dgVoodoo2 forum in Vogons...
dgVoodoo General

previously known as Discrete_BOB_058

Reply 8 of 11, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Problem solved! Actually wish I'd read the pcgamingwiki page would've saved me so much time:

dgVoodoo 2 can force both MSAA as well as SSAA though this might cause graphical artifacts in some games. […]
Show full quote

dgVoodoo 2 can force both MSAA as well as SSAA though this might cause graphical artifacts in some games.

Force SSAA:
Install dgVoodoo 2 for the game along with the dgVoodooCpl.exe configuration tool.
Launch the configuration tool.
On the General tab set the Scaling mode to Stretched, keep aspect ratio as this will ensure that dgVoodoo will downsample any higher resolution.
Open the relevant graphics API tab and set the desired resolution.
Click on Apply to save the changes and OK to close the configuration tool.

I had no idea it could do SSAA this way I thought MSAA was the only option, but since I have a 1440p monitor, the game is running 640X480 and then I put in 1920X1440 into dgvoodoo2, set the MSAA to none for good measure, and it looks so damn sharp now its incredible! On top of that, the half pixel shift thing isn't a problem now neither, perfect!

Reply 10 of 11, by AaronS

User metadata
Rank Newbie
Rank
Newbie

I mean I don't think its actually antialiasing it, its just that its a high resolution so there's no jaggies in the first place 🤣

I'm curious though if the anisotropic filtering is working, is there a game where its obvious if its on or off to check?