OSDN Git Service

Fix OpVectorShuffle with mixed vector widths
authorChris Forbes <chrisforbes@google.com>
Fri, 8 Mar 2019 18:41:05 +0000 (10:41 -0800)
committerChris Forbes <chrisforbes@google.com>
Fri, 8 Mar 2019 19:23:35 +0000 (19:23 +0000)
commit13eba6ca91d7e49624736eda33adfd561184514c
tree430f020e12ad0ab8447c89f9846e05f6a67627ed
parent53733a68a49a7ba88277774f79af054c153708df
Fix OpVectorShuffle with mixed vector widths

There is a subtle trap here -- almost all SPIRV instructions require vector
widths to match, but for OpVectorShuffle, the widths of the result
vector and the two sources are completely independent.

Fixes dEQP-VK.glsl.operator.unary_operator.plus.highp_vec2_vertex and many others.

Bug: b/127959969
Change-Id: Iaa2cc09fb510fa2ab07a6f53599af8dade553a9a
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26570
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/Pipeline/SpirvShader.cpp