mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
This commit is contained in:
committed by
Alexandre Julliard
parent
ba1ee27b4b
commit
efe800f7f0
Notes:
Alexandre Julliard
2024-01-18 23:19:44 +01: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/491
@@ -831,6 +831,13 @@ static void shader_print_uint_literal(struct vkd3d_d3d_asm_compiler *compiler,
|
||||
prefix, compiler->colours.literal, i, compiler->colours.reset, suffix);
|
||||
}
|
||||
|
||||
static void shader_print_uint64_literal(struct vkd3d_d3d_asm_compiler *compiler,
|
||||
const char *prefix, uint64_t i, const char *suffix)
|
||||
{
|
||||
vkd3d_string_buffer_printf(&compiler->buffer, "%s%s%"PRIu64"%s%s",
|
||||
prefix, compiler->colours.literal, i, compiler->colours.reset, suffix);
|
||||
}
|
||||
|
||||
static void shader_print_hex_literal(struct vkd3d_d3d_asm_compiler *compiler,
|
||||
const char *prefix, unsigned int i, const char *suffix)
|
||||
{
|
||||
@@ -1223,6 +1230,12 @@ static void shader_dump_register(struct vkd3d_d3d_asm_compiler *compiler, const
|
||||
if (reg->dimension == VSIR_DIMENSION_VEC4)
|
||||
shader_print_double_literal(compiler, ", ", reg->u.immconst_f64[1], "");
|
||||
}
|
||||
else if (reg->data_type == VKD3D_DATA_UINT64)
|
||||
{
|
||||
shader_print_uint64_literal(compiler, "", reg->u.immconst_u64[0], "");
|
||||
if (reg->dimension == VSIR_DIMENSION_VEC4)
|
||||
shader_print_uint64_literal(compiler, "", reg->u.immconst_u64[1], "");
|
||||
}
|
||||
else
|
||||
{
|
||||
shader_addline(buffer, "<unhandled data type %#x>", reg->data_type);
|
||||
|
Reference in New Issue
Block a user