mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/preproc: Do not make a copy of the buffer before returning it.
This commit is contained in:
committed by
Henri Verbeet
parent
586d8c9a52
commit
4d8e2d658a
Notes:
Henri Verbeet
2025-08-22 21:11:30 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1693
@@ -823,7 +823,6 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
static const struct vkd3d_shader_preprocess_info default_preprocess_info = {0};
|
||||
struct preproc_ctx ctx = {0};
|
||||
char *source_name = NULL;
|
||||
void *output_code;
|
||||
unsigned int i;
|
||||
|
||||
vkd3d_string_buffer_init(&ctx.buffer);
|
||||
@@ -900,16 +899,9 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
return VKD3D_ERROR_INVALID_SHADER;
|
||||
}
|
||||
|
||||
if (!(output_code = vkd3d_malloc(ctx.buffer.content_size)))
|
||||
{
|
||||
vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
memcpy(output_code, ctx.buffer.buffer, ctx.buffer.content_size);
|
||||
out->size = ctx.buffer.content_size;
|
||||
out->code = output_code;
|
||||
vkd3d_string_buffer_trace(&ctx.buffer);
|
||||
vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
|
||||
vkd3d_shader_code_from_string_buffer(out, &ctx.buffer);
|
||||
return VKD3D_OK;
|
||||
|
||||
fail:
|
||||
|
Reference in New Issue
Block a user