Fix storing of non-float SPIR-V constants
Reactor Float scalar and vector constants may not fully preserve the
bit pattern of the values they were constructed from. Specifically,
signaling NaN values (sNaN) may become quiet NaN values (qNaN). Thus
they should not be used for storing SPIR-V constant objects to memory.
Interpret the data as integer instead. Note Object::constantValue is
already a uint32_t array.
Bug: b/140302841
Change-Id: Ifd51eec9d2b7adab8fef5de74e2e30d080a28fd5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35909
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by:
Nicolas Capens <nicolascapens@google.com>
Reviewed-by:
Chris Forbes <chrisforbes@google.com>
Showing
Please
register
or
sign in
to comment