purplemarshmallow / z64

Low level RDP plugin for zilmar spec N64 emulators
20 stars 8 forks source link

fb_info option doesn't work in ini #40

Closed LegendOfDragoon closed 7 years ago

LegendOfDragoon commented 7 years ago

Setting it to 1, doesn't allow me to enable fb reading.

purplemarshmallow commented 7 years ago

Yes I broke it...

purplemarshmallow commented 7 years ago

Does it work now? Sometimes it does not seem to read the config correctly

LegendOfDragoon commented 7 years ago

The regression is now gone. Thanks. There still appears to be a scaling issue though, but maybe due to not using the correct resolution.

Edit: actually just tried 640 x 480 and there's still an issue. here's what it looks like in Mario Kart image

I went back and tested original z64gl and it also has the scaling problem, so I guess I'll close the issue.

purplemarshmallow commented 7 years ago

I can't reproduce the scaling issue. I tested (E) and (U) versions. Maybe another driver specific bug

LegendOfDragoon commented 7 years ago

The odd thing is that I do not recall this issue happening when I tested Mario Kart in the past. Also when using Mesa3D, the issue still exists. Maybe I'll try downloading default config.

Edit: As I suspected, it was a config issue. I recently tried changing options. setting no_npot_fbos to 1, causes the issue.

cxd4 commented 7 years ago

That's a hack, though.

no_npot_fbos was only added because of crash reports some people had with NVIDIA cards.

NPOT means non-power-of-two support, so FBEs and textures don't need to be 32x32 64x64 etc.

purplemarshmallow commented 7 years ago

I don't think this is needed anymore. Every GPU should have non-power-of-two support these days. The ini says it's needed for the geforce 5900 for example. That's over 10 years old hardware...

cxd4 commented 7 years ago

I'm sure even the 5900 had NPOT support.

It must have just had some conditional bug with using it in conjunction with one of its other features in the Windows releases of its drivers, so ziggy put the feature in. If it obfuscates the code too much, go ahead and remove it I guess. I haven't looked for it, so I don't know.

LegendOfDragoon commented 7 years ago

I thought maybe I'd benefit from turning it on. For some reason I needed to use POT sized textures for Rice's D3D plugin, in order to get rid of stack hash errors.

When I googled POT textures, people recommended doing that for performance and hardware support. Personally I'd rather not use POT, since that costs more VRAM i think. I guess you can remove the code if you want. I wouldn't mind.

purplemarshmallow commented 7 years ago

It's only a few lines If it may have better performance I'll keep it for benchmarking

cxd4 commented 7 years ago

I doubt it. POT dimensions don't increase performance any more often than they increase compatibility if your driver is like 15 years old.

There were maybe two reasons why I ported angrylion's plugin to use POT dimensions in the OpenGL port, and neither of them apply to z64gl. If you go to the compatibility tab of Project64.exe or whatever and check "Run in 256 colors" then you'll find a driver that requires everything to be power-of-two. :)