VOGONS


First post, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Hi,
Test Drive Ferrari Racing Legends has problem with full screen MSAA for transparent textures with ATI/AMD video cards and I use dgVoodoo for resolve this problem.
With dgVoodoo on cars not reflected environing objects (buildings, trees and etc.). I test with dgVoodo 2.6, 2.7, 2.73, 2.79.3, WIP 89.3
With dgVoodoo on glass no problem with environing objects reflections, some lighting reflect from cars.
Left is original with reflected build, right - with dgVoodoo:
TDFerrari-original.jpg TDFerrari-dg-Voodoo.jpg

dgVoodoo config:
TDFerrari-dg-Voodoo-config.png

Win7 SP1 x64, AMD R9 280x, driver 20.7.2.

Test Drive FRL use x86 d3d9 render only, but If open TDFerrari.exe with CCF Explorer, you may see also d3d11_43.dll :
TDFerrari-d3d11-43.png

upd.
With uMod v2.r53 I found texture for cars reflection. Texture with DXT5 format, 8x8 size, filled white color (255,255,255 = #ff #ff #ff) with transparent 196 = #C4. I fill texture with black color without changing transparent and replace with uMod v2.r53, and I see result as with dgVoodoo.

Reply 2 of 10, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Dege, good day.
Changing video card not reslove porblem.
But after changing all settings in dgVoodoo Control panel, without manual changing in dgVoodoo.conf, I found problem. It's texture filtering and set "Force point sampling" resolve problem with environing reflection on cars. It's work with dgVoodoo v2.79.3 and WIP 89.3. But picture, of course, is very "hard" with "sand" effect and banding sky . With all other filtering (app driven...force anisotropic 16) no environing reflection on cars.

Game work only with Virtal 3d and GeForce 9800 GT (with empty in dgVoodoo.conf: AdapterIDType, VendorID, DeviceID, SubsystemID, RevisionID). With other select in settings "Videocard" game is crash. Interesting, for settings GeForce 9800 GT with 512mb MSI Afterburner (RivaTunerStatisticServer) show сonsuming 1040mb video memory without MSAA for FullHD resolution, in native d3d9 mode game consuming only 750 mb video memory.

offtopic:
If use dgVoodoo and DXVK far trees rendering with order dithering and trees shadows too. I try set in dgVoodoo.conf Dithering=disabled, DitheringEffect=pure32bit, no changes. In native d3d9 no dithering for trees and trees shadows. It's bug or patch for resolve MSAA problem for transparent textures with ATI/AMD video cards?

Reply 3 of 10, by Dege

User metadata
Rank l33t
Rank
l33t

I checked out this game and found several problems:

- with D3D11 the car reflection is indeed missing, it's because of a D3D11 API limitation (compared to D3D9)
- with D3D12 the reflections are present but the game locks up in a deadlock when starting a race
- With both of them casual black squares appear on the screen during the gameplay

I workarounded the D3D11 limitation and fixed the 2 other problems as well, but I don't understand the dithering issue. dgVoodoo forces pure 32 (at least) bit rendering by default and D3D9 does not support dithering anyway, so it shouldn't be applied at all. So I think the trees must be another issue. Could you plz post a screenshot about it?

Reply 4 of 10, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Dege, good day.

Unchanged keys in menu

A-green = Enter
B-red = Esc
Y-yellow = R
X-blue = F
In Showcase (press key F) for rotate car use NumPad 4 and NumPad 6

Very many bugs on track Monza GT (1958) after the first turn to the finish. It's second track in Campain > Golden > A good foundation > Formula for success. Or Quick race, Track: Monza GT (1958).
The trees are not always buggy, while driving they are sometimes displayed normally, sometimes with bug.
Native d3d9 if set in game Option > Video > Anti-Aliasing = Normal / High (need restart game):
TDFerrari-tree-d3d9-native-AA-high.jpg
Trees and plants in this game very simple - it's flat object or two cross textures. May be I wrong, but I remember some bugs for transparent textures if use full screen MSAA. With nVidia cards and Anti-Aliasing = Normal / High in Test Drive FRL no this problem, and many other games too.
After read again old text, I am not sure that they are interconnected. Half Life 2, What's Transparency AA? , and this
Easy way use SMAA / FXAA or disable AA. Manual change AA in driver give other problem - invisible menu and some objects. dgVoodoo or DXVK resolve AA problem in game.

Native d3d9 without AA. No dithering for rendering tree, plant, wire fence and shadows for this objects. Zoom x4: shadow of trees on steering wheel, trees without dithering.
TDFerrari-tree-shadow-d3d9-native.jpg TDFerrari-tree-shadow-d3d9-native-zoom1.png TDFerrari-tree-shadow-d3d9-native-zoom2.png

dgVoodoo 2.79.3 and WIP 89.3 without AA. In dgVoodo.conf set Dithering = disabled (default is "forcealways"). Zoom x4: shadow of trees on steering wheel, trees with dithering, shadow of trees on car.
TDFerrari-tree-shadow-dg-Voodoo-WIP-8-93-pic1a.jpg TDFerrari-tree-shadow-dg-Voodoo-WIP-8-93-pic1a-zoom1.png TDFerrari-tree-shadow-dg-Voodoo-WIP-8-93-pic1a-zoom2.png TDFerrari-tree-shadow-dg-Voodoo-WIP-8-93-pic1b-zoom.png

dgVoodoo 2.79.3 and WIP 89.3 without AA. For other car with big hood. Shadow of trees with dithering on steering wheel, dashboard, hands.
TDFerrari-tree-shadow-dg-Voodoo-WIP-8-93-pic2a.jpg

For example, with DXVK dithering more intensive. AA is disable.
TDFerrari-tree-shadow-DXVK-1-10-3.jpg TDFerrari-tree-shadow-DXVK-1-10-3-zoom1.png TDFerrari-tree-shadow-DXVK-1-10-3-zoom2.png TDFerrari-tree-shadow-DXVK-1-10-3-zoom3.png

If use together dgVoodoo and DXVK can see other bug - diagonal line of black squares from the left lower corner to the upper right.
TDFerrari-d3d9-dg-Voodoo-d3d11-0-to-DXVK.jpg

Example DDS tree texture. Tree layers: color, alpha, color+alpha. Around tree many green background, as on native screen with Anti-Aliasing = Normal / High.

Attachments

Reply 5 of 10, by Dege

User metadata
Rank l33t
Rank
l33t

Thanks for the extensive report.
I gave that track a try but unfortunately couldn't reproduce the issue, everything was just fine. I tested it with 'dgVoodoo internal'/GF 9800 GT through DX11/12 but nothing changed (ingame MSAA is also disabled):

Test-Drive-Ferrari-Racing-Legends-2023-02-09-19-18-30.png

Could you attach your dgVoodoo cfg plz? The dotted pattern is not dithering, I don't know where it comes from.
Maybe 'alpha-to-coverage' enabled somewhere in the frame rendering process (but how)?

Reply 6 of 10, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Dege, good day.
My apologies for a long wait. I read you message "ingame MSAA is also disabled", and I made some AA tests for understanding what mode AA used in game. I think you will be interested, I found some strange with enabled AA in dgVoodoo (maybe only for me).

You have AMD video card or other?

I think config not give result, because I use original config and Control panel for small changes. For save your time I compared original config with my, and found all difference:

[General]
OutputAPI = d3d11_fl11_0 (default is = bestavailable )
Adapters = 1 (default is = all )

[DirectX]
VRAM = 3072 (default is = 256 )

Current dgVoodoo.conf for WIP 89.3 , I removed comments for easy analytics

Version = 0x280
;--------------------------------------------------------------------------
[General]

OutputAPI = d3d11_fl11_0
Adapters = 1
FullScreenOutput = default
FullScreenMode = true
ScalingMode = unspecified
ProgressiveScanlineOrder = false
EnumerateRefreshRates = false

Brightness = 100
Color = 100
Contrast = 100
InheritColorProfileInFullScreenMode = true

KeepWindowAspectRatio = true
CaptureMouse = true
CenterAppWindow = false

;--------------------------------------------------------------------------
[GeneralExt]

DesktopResolution =
DesktopBitDepth =
DeframerSize = 1
ImageScaleFactor = 1
CursorScaleFactor = 0
DisplayROI =
Resampling = bilinear
PresentationModel = auto
FreeMouse = false
WindowedAttributes =
FullscreenAttributes =
FPSLimit = 0
Environment =
SystemHookFlags =

;--------------------------------------------------------------------------
[Glide]

VideoCard = voodoo_2
OnboardRAM = 8
MemorySizeOfTMU = 4096
NumberOfTMUs = 2
TMUFiltering = appdriven
DisableMipmapping = false
Resolution = unforced
Antialiasing = appdriven

EnableGlideGammaRamp = true
ForceVerticalSync = true
ForceEmulatingTruePCIAccess = false
16BitDepthBuffer = false
3DfxWatermark = true
3DfxSplashScreen = false
PointcastPalette = false
EnableInactiveAppState = false

;--------------------------------------------------------------------------
[GlideExt]

DitheringEffect = pure32bit
Dithering = forcealways
DitherOrderedMatrixSizeScale = 0

;--------------------------------------------------------------------------
[DirectX]

DisableAndPassThru = false

VideoCard = internal3D
VRAM = 3072
Filtering = appdriven
KeepFilterIfPointSampled = false
DisableMipmapping = false
Resolution = unforced
Antialiasing = appdriven

AppControlledScreenMode = true
DisableAltEnterToToggleScreenMode = true

Bilinear2DOperations = false
PhongShadingWhenPossible = false
ForceVerticalSync = false
dgVoodooWatermark = true
FastVideoMemoryAccess = false

;--------------------------------------------------------------------------
[DirectXExt]

AdapterIDType =
VendorID =
DeviceID =
SubsystemID =
RevisionID =

DefaultEnumeratedResolutions = all
ExtraEnumeratedResolutions =
EnumeratedResolutionBitdepths = all

DitheringEffect = pure32bit
Dithering = forcealways
DitherOrderedMatrixSizeScale = 0
DepthBuffersBitDepth = appdriven
Default3DRenderFormat = argb8888

MaxVSConstRegisters = 256

NPatchTesselationLevel = 0

DisplayOutputEnableMask = 0xffffffff

MSD3DDeviceNames = false
RTTexturesForceScaleAndMSAA = true
SmoothedDepthSampling = true
DeferredScreenModeSwitch = false
PrimarySurfaceBatchedUpdate = false

;--------------------------------------------------------------------------
[Debug]

Info = enable
Warning = enable
Error = enable
MaxTraceLevel = 0

;LogToFile = false

We need to separate the problems.

1. Bug with Rectangular tree. I see this bug without dgVoodoo. He maybe separated from bug 2, or be "parent" for bug 2. No need resolve.

Your screen without AA (aliasing around mirror). But I see bug if forced set in driver MSAA/SSAA or set in game Anti-Aliasing = Normal / High / FXAA. If use Reshade with FXAA or dgVoodoo MSAA or dgVoodoo with set AA in game - no rectangular trees.
I found this post dated 2013 year https://steamcommunity.com/app/211970/discuss … 27315330543807/

2. Ordered dithering or "dotted pattern" for trees, trees shadow, wire fence shadow. If only I see this bug, probably my problem. No need resolve.

I see this effect only with dgVoodoo or DXVK. In native mode it's OK.
Your screen without "dotted pattern", so there is no problem with shadows. Maybe I not right, but I not see difference between ordered dither and dotted pattern for visualise. Maybe for rendering it's important difference.
Maybe it's combine only my software/hardware with dgVoodoo. Maybe dither it's hardware/firmare method for replace transparency/alpha for some format textures for AMD video card? You say "D3D9 does not support dithering anyway", dgVoodoo may changing texture format after wrap to DX11? Very many "maybe".
Before send this, I use Regedit and found in AMD driver hive with two keys AAAMethod_DEF = 0 (not sure, Adaptive AA or Alpha AA) and DitherAlpha_NA = 1, I will try change this keys, but not soon. But in native mode it's OK.

3. No reflection.
I don't have an idea. If I understand, you know how to fix it.

About AA. I made some AA tests with game, for see how many video memory used.

Game used video memory (mb) = Total used memory - Used other programs (AMD control panel, browser and etc.). I get memory with GPU-Z Memory Used (dedicated) = RivaTunerStatisticServer on track Monza GP (1958).

Native d3d9, AA driver=App, change AA only in game:
426=790-364 in game AA=Off
426=790-364 in game AA=MLAA
711=1075-364 in game AA=Normal (Rectangular tree )
713=1077-364 in game AA=High (Rectangular tree )
717=1081-364 in game AA=FXAA (Rectangular tree )

Native d3d9, in game AA=Off, change AA only in driver before start game (all with Rectangular tree ):
546=1039-493 AA driver MSAA=2
547=1039-492 AA driver Adaptive MSAA=2
547=1038-491 AA driver SSAA=2
660=1151-491 AA driver MSAA=4
660=1151-491 AA driver SSAA=4
907=1398-491 AA driver MSAA=8

With dgVoodoo, in game AA=Off, change AA in dgVoodoo or driver before start game:
727=1153-426 dgVoodo MSAA=Off, AA driver=App
718=1153-435 dgVoodo MSAA=App, AA driver=App
728=1176-448 dgVoodo MSAA=App, AA driver MSAA=2,4,8 (driver MSAA not work)
1370=1796-426 dgVoodo MSAA=2, AA driver=App
1391=1848-457 dgVoodo MSAA=2, AA driver MSAA=2
2096=2522-426 dgVoodo MSAA=4, AA driver=App

My ideas about results:
1. Are you sure MSAA in dgVoodoo it's MSAA? dgVoodo MSAA=2 use 1370 mb, it's more more than set in driver MSAA=8 with 907mb memory. Even if dgVoodoo without MSAA use +301mb (727-426) than native mode without AA in driver and game AA=off. For dgVoodo MSAA=8 not enough 3072mb vs 907mb for set in driver MSAA=8 with FullHD.
2. Consuming video memory in game with set in game AA=Normal / High / FXAA it's +50mb more then with driver MSAA=4 (717mb vs 660mb), but 190mb less then driver MSAA=8 (717mb vs 907mb). Activate MSAA/SSAA in driver give rectangular tree too. In game AA Normal / High seems like MSAA. In game FXAA it's myabe combined MSAA+FXAA, because use very many memory for standart FXAA, but near if driver MSAA=4.
3. dgVoodoo MSAA=App work as MSAA=Off. I start game after change AA in driver, and will try change AA in driver than game already run, AA not work and game always use 728 mb. In native d3d9 AA driver setings work normal before and after start game.
4. dgVoodoo MSAA + driver SSAA = made little blur for all screen. Test in dgVoodo 2.79.3 and WIP 89.3.
Zoom x2 (lefft picture is dgVoodoo MSAA=2 with AA driver SSAA=2; right picture dgVoodoo MSAA=2 with AA driver=App/ MSAA )
dg-Voodo-MSAA-2-AA-driver-SSAA-2-smooth-picture.png dg-Voodo-MSAA-2-AA-driver-App.png

P.S. I use Google translate for correcting text errors, for correct translate for other languages. But Google translation kill my brain last 5-7 years, after as all people may add "my version translate" for word or phrase. The quality of the translation has get down.

Reply 7 of 10, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Thanks much for WIP 89.4. Now reflection work in Showcase, on track with "back"car view and "speedometer and tachometer" view. "Hood" view and "Cockpit/Cabin" without reflections. Default, key F - for change view. Unchanged NumPad arrows keys for look around on track.
Bug/futures with dgVoodoo MSAA remained unchanged (see previous message about AA in last spoiler).

Reply 9 of 10, by slon1024

User metadata
Rank Newbie
Rank
Newbie

Sorry, I have only Win7 SP1 x64 and my hardware is not full compatible with Win10, Win11. Official microsoft.direct3d.d3d12on7.1.1.0.nupkg only for x64, but game x86. I tryed wrapp dgVoodoo WIP 89.3 (force set OutputAPI=d3d12_fl11_0 and d3d12_fl12_0 in dgVoodoo.conf ) to DXVK 1.10.3 with d3d12.dll (VKD3d-proton v2.6) and new DXVK 2.1, but game crash on start.