mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-compiler: Clean up the shader code in all failure paths (Valgrind).
This commit is contained in:
parent
2a101cf697
commit
9047dad4bc
Notes:
Alexandre Julliard
2024-04-03 00:22:07 +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/751
@ -718,7 +718,7 @@ int main(int argc, char **argv)
|
|||||||
struct vkd3d_shader_spirv_target_info spirv_target_info = {0};
|
struct vkd3d_shader_spirv_target_info spirv_target_info = {0};
|
||||||
struct vkd3d_shader_hlsl_source_info hlsl_source_info = {0};
|
struct vkd3d_shader_hlsl_source_info hlsl_source_info = {0};
|
||||||
bool close_input = false, close_output = false;
|
bool close_input = false, close_output = false;
|
||||||
struct vkd3d_shader_compile_info info;
|
struct vkd3d_shader_compile_info info = {0};
|
||||||
struct vkd3d_shader_code output_code;
|
struct vkd3d_shader_code output_code;
|
||||||
struct options options;
|
struct options options;
|
||||||
FILE *input, *output;
|
FILE *input, *output;
|
||||||
@ -876,7 +876,6 @@ int main(int argc, char **argv)
|
|||||||
if (messages)
|
if (messages)
|
||||||
fputs(messages, stderr);
|
fputs(messages, stderr);
|
||||||
vkd3d_shader_free_messages(messages);
|
vkd3d_shader_free_messages(messages);
|
||||||
vkd3d_shader_free_shader_code(&info.source);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Failed to compile shader, ret %d.\n", ret);
|
fprintf(stderr, "Failed to compile shader, ret %d.\n", ret);
|
||||||
@ -893,6 +892,7 @@ int main(int argc, char **argv)
|
|||||||
fail = 0;
|
fail = 0;
|
||||||
vkd3d_shader_free_shader_code(&output_code);
|
vkd3d_shader_free_shader_code(&output_code);
|
||||||
done:
|
done:
|
||||||
|
vkd3d_shader_free_shader_code(&info.source);
|
||||||
free(options.compile_options);
|
free(options.compile_options);
|
||||||
if (close_output)
|
if (close_output)
|
||||||
fclose(output);
|
fclose(output);
|
||||||
|
Loading…
Reference in New Issue
Block a user