The bug never showed up in the previous renderer because not all the values were used.
In the APi there are two functions for setting the view angles
void SetFieldOfView ( float left , float right , float top , float bottom ) ;
and
void SetFieldOfView ( float horizontal_fov , float vertical_fov ) ;
The first one, I assume all 4 values are copied directly to the hardware. The 2nd one will calculate the values for say the left side, then negate them for the right and bottom values.
When debugging lost world, on the very first frame it it sets these values 3 times. First two look right, last one ends up corrupted somehow.
This image shows the 2nd one, and the final one. The final one is broken. The values have been copied and negated, but in the final one it's copied the wrong value and negated it. Off by one error .. i guesss.
Could this be a possible CPU core bug? It effects games with 1.x and 2.x stepping so is not a transfer bug that I can see.
