mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
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 <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
This commit is contained in:
parent
9bc6c135ac
commit
172868167e
1 changed files with 2 additions and 23 deletions
|
|
@ -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];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue