mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/spirv: Handle "LiteralInteger" operands.
This commit is contained in:
Notes:
Henri Verbeet
2025-03-10 15:22:45 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1382
@@ -320,6 +320,13 @@ static void spirv_parser_print_id(struct spirv_parser *parser,
|
||||
prefix, parser->colours.id, id, parser->colours.reset, suffix);
|
||||
}
|
||||
|
||||
static void spirv_parser_print_uint_literal(struct spirv_parser *parser,
|
||||
struct vkd3d_string_buffer *buffer, const char *prefix, uint32_t i, const char *suffix)
|
||||
{
|
||||
vkd3d_string_buffer_printf(buffer, "%s%s%u%s%s",
|
||||
prefix, parser->colours.literal, i, parser->colours.reset, suffix);
|
||||
}
|
||||
|
||||
static void spirv_parser_print_opcode(struct spirv_parser *parser,
|
||||
struct vkd3d_string_buffer *buffer, const char *name)
|
||||
{
|
||||
@@ -456,6 +463,10 @@ static bool spirv_parser_parse_operand(struct spirv_parser *parser, struct vkd3d
|
||||
*result_id = spirv_parser_read_u32(parser);
|
||||
return true;
|
||||
|
||||
case SPIRV_PARSER_OPERAND_TYPE_LITERAL_INTEGER:
|
||||
spirv_parser_print_uint_literal(parser, buffer, " ", spirv_parser_read_u32(parser), "");
|
||||
return true;
|
||||
|
||||
default:
|
||||
spirv_parser_warning(parser, VKD3D_SHADER_ERROR_SPV_NOT_IMPLEMENTED,
|
||||
"Unhandled operand type \"%s\".", info->name);
|
||||
|
Reference in New Issue
Block a user