[PATCH vkd3d 06/11] vkd3d-shader: Use correct base index for relative addressing of aggregates.
Józef Kucia
joseph.kucia at gmail.com
Thu Feb 21 05:32:51 CST 2019
From: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
libs/vkd3d-shader/spirv.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 9838b7cdb113..8cbd8dac121e 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -2571,13 +2571,13 @@ static void vkd3d_dxbc_compiler_emit_dereference_register(struct vkd3d_dxbc_comp
}
else if (register_info->is_aggregate)
{
+ struct vkd3d_shader_register_index reg_idx = reg->idx[0];
+
if (reg->idx[1].rel_addr)
FIXME("Relative addressing not implemented.\n");
- if (reg->idx[0].rel_addr)
- indexes[index_count++] = vkd3d_dxbc_compiler_emit_register_addressing(compiler, ®->idx[0]);
- else
- indexes[index_count++] = vkd3d_dxbc_compiler_get_constant_uint(compiler, register_info->member_idx);
+ reg_idx.offset = register_info->member_idx;
+ indexes[index_count++] = vkd3d_dxbc_compiler_emit_register_addressing(compiler, ®_idx);
}
else
{
--
2.19.2
More information about the wine-devel
mailing list