[Intel-gfx] Pixel-perfect frame checks in IGT Chamelium tests and CRC
chihchung at google.com
chihchung at google.com
Fri Jun 16 04:08:43 UTC 2017
Paul Kocialkowski於 2017年6月15日星期四 UTC+8下午9時57分09秒寫道:
>
> Hi,
>
> So far, there are two ways of testing for pixel-perfect frames using the
> Chamelium that are in IGT. The first one grabs a full frame from the
> Chamelium
> and compares it pixel-to-pixel with the cairo reference, which works well
> for
> DP/HDMI.
>
> For VGA, this is probably not the case (because the link is analogue). In
> that
> case, I will look into implementing some fuzzy testing, probably inspired
> by
> what piglit (probably) does to compare output frames with references.
>
> For pixel-perfect testing, grabbing a full frame and testing it with
> memcmp
> comes with a significant time penalty (about 2 seconds for 1080p). The
> Chamelium
> also provides a CRC mechanism that is faster and does not require
> retrieving the
> frame, that IGT currently also supports. It compares the CRC calculated by
> the
> Chamelium (implemented in the HDL) with a hardcoded reference value.
>
> This approach currently fails for me (the values I get don't match the
> hardcoded
> reference). There are reasons why it is not really reasonable: fonts
> rendering
> may change between machines (e.g. use of anti-aliasing) and cairo version
> changes could introduce slight rendering changes too (not to mention
> changes in
> the test pattern itself). So instead of comparing the CRC with a hardcoded
> reference value, I think it would make a lot more sense to actually
> calculate
> the CRC based on the cairo image that is the actual reference (and that we
> should assume may change between runs/machines).
>
> I am currently looking into the CRC calculation mechanism used by the
> Chamelium
> and trying to reproduce it in C code. Is this a known algorithm for which
> a
> reference/optimized implementation exists, or something custom that the
> folks
> over at Google came up with?
>
> Any thoughts, comments or suggestions?
>
I feel bad about the stupid hash algorithm I came up with, but here is the
document:
https://docs.google.com/document/d/1_HjEMA8fBoHkUbpUZq-OXtITfiomCb1HBKN07T-POlY/edit#heading=h.jqek3kkh9qjm
You can also ask it to hash just part of the frame instead of the whole
frame (i.e. cropping before hashing).
Thanks,
Chih-Chung Chang
>
> Cheers!
>
> --
> Paul Kocialkowski <paul.kocialkowski at linux.intel.com>
> Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170615/2460c035/attachment.html>
More information about the Intel-gfx
mailing list