vkd3d-shader/spirv: Introduce a Static Single Assignment register type.

This commit is contained in:
Conor McCarthy
2023-05-18 15:51:53 +10:00
committed by Alexandre Julliard
parent a67a85989f
commit 3249723972
Notes: Alexandre Julliard 2023-09-25 22:27:18 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/320
3 changed files with 55 additions and 2 deletions

View File

@@ -1070,6 +1070,10 @@ static void shader_dump_register(struct vkd3d_d3d_asm_compiler *compiler, const
shader_addline(buffer, "undef");
break;
case VKD3DSPR_SSA:
shader_addline(buffer, "sr");
break;
default:
shader_addline(buffer, "<unhandled_rtype(%#x)>", reg->type);
break;
@@ -1185,7 +1189,7 @@ static void shader_dump_register(struct vkd3d_d3d_asm_compiler *compiler, const
{
shader_print_subscript_range(compiler, reg->idx[1].offset, reg->idx[2].offset);
}
else
else if (reg->type != VKD3DSPR_SSA)
{
/* For descriptors in sm < 5.1 we move the reg->idx values up one slot
* to normalise with 5.1.