assert(force_uncompressed_stack >= 0);
}
-void
-fs_visitor::push_force_sechalf()
-{
- force_sechalf_stack++;
-}
-
-void
-fs_visitor::pop_force_sechalf()
-{
- force_sechalf_stack--;
- assert(force_sechalf_stack >= 0);
-}
-
/**
* Returns true if the instruction has a flag that means it won't
* update an entire destination register.
}
}
assert(force_uncompressed_stack == 0);
- assert(force_sechalf_stack == 0);
/* This must come after all optimization and register allocation, since
* it inserts dead code that happens to have side effects, and it does
void push_force_uncompressed();
void pop_force_uncompressed();
- void push_force_sechalf();
- void pop_force_sechalf();
void emit_dummy_fs();
fs_reg *emit_fragcoord_interpolation(ir_variable *ir);
const unsigned dispatch_width; /**< 8 or 16 */
int force_uncompressed_stack;
- int force_sechalf_stack;
};
/**
{
if (force_uncompressed_stack > 0)
inst->force_uncompressed = true;
- else if (force_sechalf_stack > 0)
- inst->force_sechalf = true;
inst->annotation = this->current_annotation;
inst->ir = this->base_ir;
inst->saturate = c->key.clamp_fragment_color;
pop_force_uncompressed();
- push_force_sechalf();
color.sechalf = true;
inst = emit(MOV(fs_reg(MRF, first_color_mrf + index + 4, color.type),
color));
+ inst->force_sechalf = true;
inst->saturate = c->key.clamp_fragment_color;
- pop_force_sechalf();
color.sechalf = false;
}
}
this->nr_params_remap = 0;
this->force_uncompressed_stack = 0;
- this->force_sechalf_stack = 0;
this->spilled_any_registers = false;