Fixed Float4 -> UInt4 conversion
It appears the Nucleus::createFPToUI function is broken and does
not yield the correct values for one pixel out of 4 when the f2u
operation is used. By manually rewriting the conversion using
signed int conversion and some arithmetic, the issue is solved.
This fixes at least 130 failures and also fixes many other tests
which were passing only due to the threshold being too lenient,
but which were showing obvious visual artefacts.
This affects, to the very least:
dEQP.functional.fbo.blit.conversion
dEQP.functional.shaders.functions.datatypes
dEQP.functional.shaders.operator.binary_operator
... and any other test using the f2u operation.
Change-Id: If38dad6b6ae8198f40e863d0847fa5080a2997e3
Reviewed-on: https://swiftshader-review.googlesource.com/7354Tested-by:
Alexis Hétu <sugoi@google.com>
Reviewed-by:
Nicolas Capens <capn@google.com>
Showing
Please
register
or
sign in
to comment