copies_and_blitting: fix ambiguous signed normalized 1.0 value
Below tests copy floats to signed normalized 8-bit values.
In that process it happens that 1.0 float value is copied to 8_snorm
elements as: {0x00, 0x00, 0x80, 0x3f}
According to spec, on SNORM values:
"Note that while zero is exactly expressible in this representation,
one value (-128 in the example) is outside the representable range,
and must be clamped before use."
The problem occurs when 0x80 == 128 value is copied to buffer:
as it falls outside of <-1,1> range, it may be clamped to 0x81 (both values
represent -1.0 SNORM value).
The change here processes all result and expected data buffers to remove
all ambiguites by converting to float and back to signed normalized format.
Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.r32_sfloat.a8b8g8r8_snorm_pack32.*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.r32_sfloat.r8g8b8a8_snorm.*
Components: Vulkan
VK-GL-CTS issue: 563
Change-Id: I175665f39811cf6a80862967ad0a9bb8e13527e9