https://bugs.freedesktop.org/show_bug.cgi?id=94459
Bug ID: 94459 Summary: FLT_TO_INT rounding issues on pre R800 cards Product: Mesa Version: unspecified Hardware: All OS: All Status: NEW Severity: minor Priority: medium Component: Drivers/Gallium/r600 Assignee: dri-devel@lists.freedesktop.org Reporter: siro@das-labor.org QA Contact: dri-devel@lists.freedesktop.org
Running WINE tests with Gallium Nine enabled I found the following test to fail on pre R800 cards. The failing test is from wine d3d9/tests/visual.c test_mova(). It can be found here: https://source.winehq.org/ident?_i=test_mova&_remember=1
To issue doesn't exists on radeonsi, softpipe and R800+.
The problem seems to be TGSI_OPCODE_ARR that should round on FLT_TO_INT, but pre R800 cards truncate instead. This might result in wrong addressing, as TGSI_OPCODE_ARR is expected to round. If the card doesn't support rounding on FLT_TO_INT, r600 driver should insert a rounding instruction.
Tested with latest mesa git on RV770.