Commit 88e698a4 by Sean Risser

Add OpCopyLogical

This operand was added in SPIR-V 1.4. It allows copying from similar, but inequal types. Otherwise it functions identically as OpCopyObject. Tests: dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopylogical.* Bug: b/173046235 Change-Id: Ibf46185c79dde05f52743425b570d5ef978830cf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50508Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Tested-by: 's avatarSean Risser <srisser@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
parent 6d612051
...@@ -673,6 +673,7 @@ SpirvShader::SpirvShader( ...@@ -673,6 +673,7 @@ SpirvShader::SpirvShader(
case spv::OpGroupNonUniformLogicalOr: case spv::OpGroupNonUniformLogicalOr:
case spv::OpGroupNonUniformLogicalXor: case spv::OpGroupNonUniformLogicalXor:
case spv::OpCopyObject: case spv::OpCopyObject:
case spv::OpCopyLogical:
case spv::OpArrayLength: case spv::OpArrayLength:
// Instructions that yield an intermediate value or divergent pointer // Instructions that yield an intermediate value or divergent pointer
DefineResult(insn); DefineResult(insn);
...@@ -1955,6 +1956,7 @@ SpirvShader::EmitResult SpirvShader::EmitInstruction(InsnIterator insn, EmitStat ...@@ -1955,6 +1956,7 @@ SpirvShader::EmitResult SpirvShader::EmitInstruction(InsnIterator insn, EmitStat
return EmitSampledImageCombineOrSplit(insn, state); return EmitSampledImageCombineOrSplit(insn, state);
case spv::OpCopyObject: case spv::OpCopyObject:
case spv::OpCopyLogical:
return EmitCopyObject(insn, state); return EmitCopyObject(insn, state);
case spv::OpCopyMemory: case spv::OpCopyMemory:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment