diff options
author | Edward O'Callaghan <[email protected]> | 2016-12-06 10:43:17 +1100 |
---|---|---|
committer | Edward O'Callaghan <[email protected]> | 2016-12-12 16:50:15 +1100 |
commit | 5e6b2b05a5d6c09f103db59e7dcda10ccfeceae5 (patch) | |
tree | 87f5af2f977dc2ce128c9e6d10a10941e90a1bf5 /docs/llvmpipe.html | |
parent | 35c5a9a64df013a385b7bb5291c24a2f300ef57b (diff) |
virgl: Fix a strict-aliasing violation in the encoder
As per the C spec, it is illegal to alias pointers to different
types. This results in undefined behaviour after optimization
passes, resulting in very subtle bugs that happen only on a
full moon..
Use a memcpy() as a well defined coercion between the double
to uint64_t interpretations of the memory.
V.2: Use static_assert() instead of assert().
V.3: Use C99 compat STATIC_ASSERT() over C11 static_assert().
Signed-off-by: Edward O'Callaghan <[email protected]>
Acked-by: Dave Airlie <[email protected]>
Diffstat (limited to 'docs/llvmpipe.html')
0 files changed, 0 insertions, 0 deletions