Implement writing B10G11R11 in the Blitter
Implement writing B10G11R11 in the Blitter

This does not yet handle rounding correctly, nor are Inf and NaN
input values dealt with.

Note that the Vulkan 1.1.117 spec refers to
https://www.khronos.org/registry/DataFormat/specs/1.2/dataformat.1.2.html#11bitfp
for the specification on the interpretation of 11- and 10-bit floating-
point formats, while that spec itself states that:
"Note that in general conversion from a real number to any
representation may require rounding, truncation and special value
management rules which are beyond the scope of a data format
specification and may be documented in APIs which generate these
formats."

The Vulkan spec however does not document any specific conversion
requirement (in contrast, it does for the shared exponent format).

Bug: b/138944025
Change-Id: If59adfb02f2793f69a028d379a03c05f9a12bd89
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34828
Presubmit-Ready: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Tested-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Ben Clayton <1f693eb7158dc33015048c09d6712f74dabddf79@google.com>

google/swiftshader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,bkaradzic/SwiftShader