So the visual issue. This is due to the SGX (driver? hardware?) having trouble when texture coordinates are large.
Texture coordinates are within 0.0 - 1.0 range, to cover the whole texture. But you go with bigger or lower value. Depending on the mode use, the effect is different, but usually, you are using GL_REPEAT, meaning that everything outside [0,1] is put back on this interval. So using a texcoord of 10.5 is the same as using 0.5
You use that kind of thing when you want to textured a large area, composed of many triangles (think, a large mountain or wall of a building). The texture on the wall, or mountain, or whatever, is a relatively small texture (compare to the object) that is repeated on the object. Meaning that if the first triangle may have TexCoord in [0,1] interval, farther triangles will have much bigger (or lower) value, to keep continuity in the texture applied...
The fix in Xash3D is that, durring the computation of those texture coordinates, I force the use of the lowest value possible (as no special care is taken on that side) for the TexCoord per surface (calculating the min value, and then subtracting that value to each texcoord). That fixes the visual artifact (and hopefully don't introduce any side effect).
About the FPS, I'm not sure. I have "benched" only the introduction scene, with the train, and have not benched elsewhere. So I cannot say if there was a slow down (I haven't noticed slow down, only slight speed up). But you can use the Archive function on the repo to download older version and try you savegame to see if there is a significant change in FPS (I'm interested in your feedback).
CounterStrike, I must say I haven't tested that in a long time (I'm not into multiplayer FPS, only Single Player ones). I'll have to check and see how to fix that.