mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 03:38:06 +02:00
Implement dst opcode
This commit is contained in:
parent
3c558e17f0
commit
bd38f4d921
3 changed files with 26 additions and 1 deletions
|
|
@ -280,3 +280,25 @@ llvm::Value * Instructions::dph(llvm::Value *in1, llvm::Value *in2)
|
|||
return vectorFromVals(dph, dph, dph, dph);
|
||||
}
|
||||
|
||||
llvm::Value * Instructions::dst(llvm::Value *in1, llvm::Value *in2)
|
||||
{
|
||||
ExtractElementInst *y1 = new ExtractElementInst(in1, unsigned(1),
|
||||
name("y1"),
|
||||
m_block);
|
||||
ExtractElementInst *z = new ExtractElementInst(in1, unsigned(2),
|
||||
name("z"),
|
||||
m_block);
|
||||
ExtractElementInst *y2 = new ExtractElementInst(in2, unsigned(1),
|
||||
name("y2"),
|
||||
m_block);
|
||||
ExtractElementInst *w = new ExtractElementInst(in2, unsigned(3),
|
||||
name("w"),
|
||||
m_block);
|
||||
BinaryOperator *ry = BinaryOperator::create(Instruction::Mul,
|
||||
y1, y2,
|
||||
name("tyuy"),
|
||||
m_block);
|
||||
return vectorFromVals(ConstantFP::get(Type::FloatTy, APFloat(1.f)),
|
||||
ry, z, w);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ public:
|
|||
llvm::Value *dp3(llvm::Value *in1, llvm::Value *in2);
|
||||
llvm::Value *dp4(llvm::Value *in1, llvm::Value *in2);
|
||||
llvm::Value *dph(llvm::Value *in1, llvm::Value *in2);
|
||||
llvm::Value *dst(llvm::Value *in1, llvm::Value *in2);
|
||||
llvm::Value *lit(llvm::Value *in1);
|
||||
llvm::Value *madd(llvm::Value *in1, llvm::Value *in2,
|
||||
llvm::Value *in2);
|
||||
|
|
|
|||
|
|
@ -209,7 +209,9 @@ translate_instruction(llvm::Module *module,
|
|||
out = instr->dp4(inputs[0], inputs[1]);
|
||||
}
|
||||
break;
|
||||
case TGSI_OPCODE_DST:
|
||||
case TGSI_OPCODE_DST: {
|
||||
out = instr->dst(inputs[0], inputs[1]);
|
||||
}
|
||||
break;
|
||||
case TGSI_OPCODE_MIN:
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue