[Mesa-dev] XCOM: Enemy Unknown vs. NaN texture unit LOD bias
Kenneth Graunke
kenneth at whitecape.org
Tue Jul 11 06:25:41 UTC 2017
Hello,
Mesa master has been hitting assert failures when running "XCOM: Enemy
Unknown" since commit f8d69beed49c64f883bb8ffb28d4960306baf575, where we
started asserting that the SAMPLER_STATE LOD Bias value actually fits in
the correct number of bits.
Apparently, XCOM calls
glTexEnv(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, val);
to set the texture unit LOD bias...but according to gdb, the value is:
-nan(0x7ffff3)
In i965, we do CLAMP(lod bias, -16, 15)...but NaN ends up failing both
the < min and > max comparisons, so it slips through. But, that raises
the question...what value *should* we be using? 0? Min? Max?
I couldn't find any immediately applicable GL spec text. Anyone know of
any? If not, does DirectX mandate something?
I wrote a hack to check isnan and replace it with 0, which gets the game
working again, but...it seems like we could have this problem in a lot of
other places too...and I'm not sure what the right answer is.
https://cgit.freedesktop.org/~kwg/mesa/commit/?h=xcom&id=6a1c0515b760c943eb547cced754b465aa3bd4ca
Thanks for any advice :)
--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170710/f84f4f45/attachment.sig>
More information about the mesa-dev
mailing list