mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/spirv: Use the register index count in default register dereferences.
This commit is contained in:
parent
a2b3f70d8e
commit
d46250a59b
Notes:
Alexandre Julliard
2023-05-26 22:16:37 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/213
@ -3378,11 +3378,11 @@ static void spirv_compiler_emit_dereference_register(struct spirv_compiler *comp
|
||||
}
|
||||
else
|
||||
{
|
||||
if (reg->idx[1].rel_addr || (reg->idx[1].offset == ~0u && reg->idx[0].rel_addr))
|
||||
if (reg->idx_count && reg->idx[reg->idx_count - 1].rel_addr)
|
||||
FIXME("Relative addressing not implemented.\n");
|
||||
|
||||
/* Handle arrayed registers, e.g. v[3][0]. */
|
||||
if (reg->idx[1].offset != ~0u && !register_is_descriptor(reg))
|
||||
if (reg->idx_count > 1 && !register_is_descriptor(reg))
|
||||
indexes[index_count++] = spirv_compiler_emit_register_addressing(compiler, ®->idx[0]);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user