{
Instruction *insert = new Instruction(sw::Shader::OPCODE_INSERT);
- Temporary address(this);
- lvalue(insert->dst, address, dst);
+ lvalue(insert->dst, dst);
insert->src[0].type = insert->dst.type;
insert->src[0].index = insert->dst.index;
{
Instruction *mov1 = new Instruction(sw::Shader::OPCODE_MOV);
- Temporary address(this);
- int swizzle = lvalue(mov1->dst, address, dst);
+ int swizzle = lvalue(mov1->dst, dst);
source(mov1->src[0], src);
mov1->src[0].swizzle = swizzleSwizzle(mov1->src[0].swizzle, swizzle);
}
}
- int OutputASM::lvalue(sw::Shader::DestinationParameter &dst, Temporary &address, TIntermTyped *node)
+ int OutputASM::lvalue(sw::Shader::DestinationParameter &dst, TIntermTyped *node)
{
+ Temporary address(this);
TIntermTyped *root = nullptr;
unsigned int offset = 0;
unsigned char mask = 0xF;
void destination(sw::Shader::DestinationParameter ¶meter, TIntermTyped *argument, int index = 0);
void copy(TIntermTyped *dst, TIntermNode *src, int offset = 0);
void assignLvalue(TIntermTyped *dst, TIntermTyped *src);
- int lvalue(sw::Shader::DestinationParameter &dst, Temporary &address, TIntermTyped *node);
+ int lvalue(sw::Shader::DestinationParameter &dst, TIntermTyped *node);
int lvalue(TIntermTyped *&root, unsigned int &offset, sw::Shader::Relative &rel, unsigned char &mask, Temporary &address, TIntermTyped *node);
sw::Shader::ParameterType registerType(TIntermTyped *operand);
bool hasFlatQualifier(TIntermTyped *operand);