Józef Kucia : vkd3d-shader: Implement relative addressing for arrayed registers.
Module: vkd3d Branch: master Commit: 7fde0ac78f3a666dff5cb7bf1451f006c258a7a2 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=7fde0ac78f3a666dff5cb7bf... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Tue Feb 12 17:41:32 2019 +0100 vkd3d-shader: Implement relative addressing for arrayed registers. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-shader/spirv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 886dbb1..9833fd9 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -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, ®->idx[0]); } if (index_count)
participants (1)
-
Alexandre Julliard