Commit 17286816 authored by Gert Wollny's avatar Gert Wollny Committed by Marge Bot

r600/sfn: Don't emit inline constants in the r600 IR

This can be handled when lowering to assembly, and it makes testing
for indirect buffer and sampler access easier.
Signed-off-by: Gert Wollny's avatarGert Wollny <gert.wollny@collabora.com>
Part-of: <mesa/mesa!4714>
parent 9bc6c135
......@@ -526,33 +526,12 @@ int ValuePool::allocate_with_mask(unsigned index, unsigned mask, bool pre_alloc)
PValue ValuePool::literal(uint32_t value)
{
const uint32_t float_1 = 0x3f800000;
const uint32_t float_05 = 0x3f000000;
auto l = m_literals.find(value);
if (l != m_literals.end())
return l->second;
switch (value) {
case 0:
m_literals[0] = PValue(new InlineConstValue(ALU_SRC_0, 0));
return m_literals[0];
case 1:
m_literals[1] = PValue(new InlineConstValue(ALU_SRC_1_INT, 0));
return m_literals[1];
case float_1:
m_literals[float_1] = PValue(new InlineConstValue(ALU_SRC_1, 0));
return m_literals[float_1];
case float_05:
m_literals[float_05] = PValue(new InlineConstValue(ALU_SRC_0_5, 0));
return m_literals[float_05];
case 0xffffffff:
m_literals[0xffffffff] = PValue(new InlineConstValue(ALU_SRC_M_1_INT, 0));
return m_literals[0xffffffff];
default:
m_literals[value] = PValue(new LiteralValue(value));
return m_literals[value];
}
m_literals[value] = PValue(new LiteralValue(value));
return m_literals[value];
}
}
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