mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/fx: Add a helper to print literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
committed by
Henri Verbeet
parent
b098af3ef8
commit
d403705de9
Notes:
Henri Verbeet
2025-06-11 20:37:36 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1559
@@ -4901,6 +4901,11 @@ static void fx_parse_fxlc_argument(struct fx_parser *parser, struct fxlc_arg *ar
|
||||
arg->address = fxlvm_read_u32(code);
|
||||
}
|
||||
|
||||
static void fx_print_fxlc_literal(struct fx_parser *parser, uint32_t address, struct fxlvm_code *code)
|
||||
{
|
||||
vkd3d_string_buffer_print_f32(&parser->buffer, code->cli._4[address]);
|
||||
}
|
||||
|
||||
static void fx_print_fxlc_argument(struct fx_parser *parser, const struct fxlc_arg *arg, struct fxlvm_code *code)
|
||||
{
|
||||
uint32_t count;
|
||||
@@ -4917,11 +4922,11 @@ static void fx_print_fxlc_argument(struct fx_parser *parser, const struct fxlc_a
|
||||
}
|
||||
|
||||
vkd3d_string_buffer_printf(&parser->buffer, "(");
|
||||
vkd3d_string_buffer_print_f32(&parser->buffer, code->cli._4[arg->address]);
|
||||
fx_print_fxlc_literal(parser, arg->address, code);
|
||||
for (unsigned int i = 1; i < code->comp_count; ++i)
|
||||
{
|
||||
vkd3d_string_buffer_printf(&parser->buffer, ", ");
|
||||
vkd3d_string_buffer_print_f32(&parser->buffer, code->cli._4[arg->address + (code->scalar ? 0 : i)]);
|
||||
fx_print_fxlc_literal(parser, arg->address + (code->scalar ? 0 : i), code);
|
||||
}
|
||||
vkd3d_string_buffer_printf(&parser->buffer, ")");
|
||||
break;
|
||||
|
Reference in New Issue
Block a user