mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
r600/sfn: allocate pinned registers as SSA
Don't allocate the helper_invocation register as pinned, because it is not an SSA value. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205>
This commit is contained in:
parent
b623e1a0ef
commit
4d4411588b
2 changed files with 3 additions and 1 deletions
|
|
@ -256,7 +256,7 @@ FragmentShader::do_allocate_reserved_registers()
|
|||
}
|
||||
|
||||
if (m_sv_values.test(es_helper_invocation)) {
|
||||
m_helper_invocation = value_factory().allocate_pinned_register(next_register++, 0);
|
||||
m_helper_invocation = value_factory().temp_register(0, false);
|
||||
}
|
||||
|
||||
return next_register;
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ ValueFactory::allocate_pinned_register(int sel, int chan)
|
|||
|
||||
auto reg = new Register(sel, chan, pin_fully);
|
||||
reg->set_flag(Register::pin_start);
|
||||
reg->set_flag(Register::ssa);
|
||||
m_pinned_registers.push_back(reg);
|
||||
return reg;
|
||||
}
|
||||
|
|
@ -162,6 +163,7 @@ ValueFactory::allocate_pinned_vec4(int sel, bool is_ssa)
|
|||
RegisterVec4 retval(sel, is_ssa, {0, 1, 2, 3}, pin_fully);
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
retval[i]->set_flag(Register::pin_start);
|
||||
retval[i]->set_flag(Register::ssa);
|
||||
m_pinned_registers.push_back(retval[i]);
|
||||
}
|
||||
return retval;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue