OSDN Git Service

Don't treat SIMD::Float preferentially
authorNicolas Capens <capn@google.com>
Tue, 19 Mar 2019 18:28:18 +0000 (14:28 -0400)
committerNicolas Capens <nicolascapens@google.com>
Wed, 20 Mar 2019 14:38:30 +0000 (14:38 +0000)
commit5851ef46d2853271bdf2893aea2cd3827dbb41a7
treeb36dab40e498337c90b589bf97d5048cca96ebc3
parent3e485a4f3ec814d79dff15ae4b66cd860197548e
Don't treat SIMD::Float preferentially

Intermediate::Scalar was defined as RValue<SIMD::Float>, even though it
can hold integers as well. Use abstract Reactor values instead which
don't have a statically defined type.

This change does not yet avoid bitcasting on access. The EmitLoad()
implementation still assumes values come in as float.

Bug b/128539387

Change-Id: I18f449ebf68db7ddd81679d6d028911e6c02fc38
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26868
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
src/Pipeline/SpirvShader.hpp