vkd3d-shader/spirv: Propagate errors from vkd3d_spirv_stream_append().

This commit is contained in:
Giovanni Mascellani 2024-09-19 14:25:27 +02:00 committed by Henri Verbeet
parent 637a3cabe7
commit 35d3161f9d
Notes: Henri Verbeet 2024-09-20 17:31:54 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1090

View File

@ -2075,12 +2075,16 @@ static bool vkd3d_spirv_compile_module(struct vkd3d_spirv_builder *builder,
if (builder->invocation_count)
vkd3d_spirv_build_op_execution_mode(&builder->execution_mode_stream,
builder->main_function_id, SpvExecutionModeInvocations, &builder->invocation_count, 1);
vkd3d_spirv_stream_append(&stream, &builder->execution_mode_stream);
vkd3d_spirv_stream_append(&stream, &builder->debug_stream);
vkd3d_spirv_stream_append(&stream, &builder->annotation_stream);
vkd3d_spirv_stream_append(&stream, &builder->global_stream);
vkd3d_spirv_stream_append(&stream, &builder->function_stream);
if (!vkd3d_spirv_stream_append(&stream, &builder->execution_mode_stream)
|| !vkd3d_spirv_stream_append(&stream, &builder->debug_stream)
|| !vkd3d_spirv_stream_append(&stream, &builder->annotation_stream)
|| !vkd3d_spirv_stream_append(&stream, &builder->global_stream)
|| !vkd3d_spirv_stream_append(&stream, &builder->function_stream))
{
vkd3d_spirv_stream_free(&stream);
return false;
}
if (!(code = vkd3d_calloc(stream.word_count, sizeof(*code))))
{