OSDN Git Service

Add support for OpFRem
authorChris Forbes <chrisforbes@google.com>
Fri, 15 Mar 2019 21:50:47 +0000 (14:50 -0700)
committerChris Forbes <chrisforbes@google.com>
Sat, 16 Mar 2019 05:00:45 +0000 (05:00 +0000)
commit1a4c712171ff98d8768aa1f2ff94d95c559d2096
treea3f85bd620052eb2283af934f492a16b8273f582
parent0e4d6ffbd4c8b51181c801b3b6e54e37fccf99c0
Add support for OpFRem

This is the `other` remainder from OpFMod, which we already had.
Uses the existing RValue<Float4> % RValue<Float4> operator wiring; the
only plumbing I had to fix was that llvm emits a call to fmodf, which
was made available in ExternalFunctionSymbolResolver.

Test: dEQP-VK.spirv_assembly.instruction.compute.opfrem.all
Test: dEQP-VK.spirv_assembly.instruction.graphics.frem.*
Bug: b/126873455
Change-Id: I81fbfd8f9e5cab6ac2f16319edda031a122e3a4d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27370
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/Pipeline/SpirvShader.cpp
src/Reactor/LLVMReactor.cpp