emoose / OutRun2006Tweaks

Turning and spinning and spinning and turning, woah!
MIT License
305 stars 0 forks source link

[Bug]: New "UseNewTextureAllocator" setting breaks anti-aliasing in AMD card. #105

Open Telmator opened 1 month ago

Telmator commented 1 month ago

Tweaks version

outrun2006tweaks-1a4c22b4f8c6c5684c07a49fccc3d646a0889441

UseNewTextureAllocator_false UseNewTextureAllocator_true OutRun2006Tweaks.log The new UseNewTextureAllocator setting set as "true" is breaking anti-aliasing in my AMD card, tried with several driver versions. My card is a Sapphire 6800 XT, and forcing the AA through the Adrenalin panel does not work either. Once I disable "UseNewTextureAllocator" AA is working again.

I'm calling the antialiasing feature with DX/ANTIALIASING = 2 in the "outrun2006.ini" file.

Attaching sample screenshots.

emoose commented 1 month ago

Looks like it might be related to mip-mapping, the new allocator code is meant to handle that but maybe something could be broken there.

(AFAIK D3D9 is supposed to generate mip-maps when the texture itself is missing them, wonder if the perf/stuttering fix from the new allocator could just be because it's not generating mip-maps now...)

Have any non-AMD users also noticed a graphical downgrade with UseNewTextureAllocator?

Tenome commented 1 month ago

1080 TI, seems fine to me. I'm presuming the second one in OP is the incorrect one right? Though I do force extra AA through the GPU control panel.

image

Telmator commented 1 month ago

Hi @Tenome . Yes, the second one is the one where I applied UseNewTextureAllocator=true. AA is missing there, you can see that in the road marks in the distance. Unfortunately forcing AA via Adrenalin does not work (and I saw many posts of people complaining that it does not work in many titles).

Telmator commented 1 month ago

I'm getting a black screen now with the latest action (outrun2006tweaks-859fd70e1c0057180f5bb73fd66b8f96fd26c3d2.zip) if I use UseNewTextureAllocator=true. Which is weird because it worked for me initially but now after replacing textures with new ones from Github, the whole thing is broken. Even if I remove the custom textures/load files altogether. With this setting the screen is black when launching the game.

Tenome commented 1 month ago

I experienced the same after installing action cf2c7ee. Downgrading back down to 0.5 4650516 fixed it, so presumably the fix for AMD minmaps messed something up regarding textures (because they don't have generated minmaps?), or the new texture allocator got borked somehow. What's weird is that the other textures are also replacements, but only the background image didn't load. Maybe it's in the incorrect DXT compression level and somehow gets messed up in the later version.

OR2006C2C_xOIWAzKpj8

emoose commented 1 month ago

Ah reproduced it after I disabled custom textures, seems UI is asking for 0 mips (telling D3D to gen mips as needed), so our code ends up writing 0 textures...

There's not really much point to genning mips for UI since they'll only use main mip level though, added something to force it to 1 mip in latest action.

(not really sure why using custom textures didn't hit the bug though, it should have had the same black screen issue really, odd)

Tenome commented 1 month ago

We seem to be back, thanks for the quick fix.

image

Telmator commented 1 month ago

I just tested this and the black screen was returned when you had all your texture files in folders, inside "load". If you had .dds files inside "load" the black screen was gone.

Tenome commented 1 month ago

Sounds like it's somehow interfering with the EnableTextureCache feature, which requires the textures to be in their own folders.

emoose commented 1 month ago

@Telmator that's with the new build from https://github.com/emoose/OutRun2006Tweaks/actions/runs/10335785581? Or do you mean that's how it was before?

Telmator commented 1 month ago

That was with the previous build, thank you. The new build works OK.