vkd3d-shader: Implement relative addressing for arrayed registers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2019-02-12 17:41:32 +01:00 committed by Alexandre Julliard
parent d30afc37c4
commit 7fde0ac78f
1 changed files with 2 additions and 2 deletions

View File

@ -2589,12 +2589,12 @@ static void vkd3d_dxbc_compiler_emit_dereference_register(struct vkd3d_dxbc_comp
}
else
{
if (reg->idx[0].rel_addr || reg->idx[1].rel_addr)
if (reg->idx[1].rel_addr)
FIXME("Relative addressing not implemented.\n");
/* Handle arrayed registers, e.g. v[3][0]. */
if (reg->idx[1].offset != ~0u)
indexes[index_count++] = vkd3d_dxbc_compiler_get_constant_uint(compiler, reg->idx[0].offset);
indexes[index_count++] = vkd3d_dxbc_compiler_emit_register_addressing(compiler, &reg->idx[0]);
}
if (index_count)