FWGS / xash3d-fwgs

Xash3D FWGS engine
1.57k stars 236 forks source link

VBO problems on AMD card #104

Closed revelator closed 2 years ago

revelator commented 4 years ago

Continued from other post.

VBO's act up on my AMD card R9 390 causing world bleed, this happens when using certain types of weapons like the portal gun from opposing force or the flashlight.

Made a proposal for porting the idtech4 VBO code to xash since that one works like a charm on this card and any other i have used.

A bonus to that would be the ability to get rid of immediate mode completely. Not sure the speed gain would be the best point of this since half-life 1 hardly uses any stuff that really requires gfx muscle, but it would open up the possibility for some more advanced rendering techniques.

a1batross commented 4 years ago

or the flashlight

I did not digged through idtech4 source code so much, but maybe the big difference between idtech4 and GoldSrc's rendering is how it handles the dynamic light.

In GoldSrc(and so does Xash too) dynamic light is completely on CPU. The CPU draws the lighting on lightmap and updates the texture on GPU. You can even enable r_showtextures and turn on the flashlight to look how it works.

You may change r_vbo_dlightmode to 0 or 1 and look if it helps.

revelator commented 4 years ago

Aye was aware the flashlight actually used a texture for emulating a lightbeam, not sure why it seems to break world rendering when vbo's are on though :S.

In a working case it should just do the same as immediate mode albeit a good deal faster, so im not sure what is going on.

On my old nvidia 560 card it works like a charm, but my AMD card seems to have issues with it to such a degree that it breaks, no matter the driver version.

Sadly this is not the first time i have run into things that worked on nvidia but broke completely with AMD, idtech4 comes to mind here since i been working for years on my own port and while i thought i could declare success i soon found out to my great dismay that all my changes while working great on my nvidia card broke it for everyone using an AMD card :S.

It would be nice to have it working though :)

a1batross commented 2 years ago

VBO is not recommended to use, and it was disabled by default.