mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader: Introduce struct vkd3d_shader_source_list.
This commit is contained in:
Notes:
Henri Verbeet
2025-08-07 20:51:41 +02:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1671
@@ -57,6 +57,39 @@ uint32_t vkd3d_parse_integer(const char *s)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool vkd3d_shader_source_list_append(struct vkd3d_shader_source_list *l, const char *source)
|
||||
{
|
||||
char *s;
|
||||
|
||||
if (!(s = vkd3d_strdup(source)))
|
||||
return false;
|
||||
|
||||
if (!vkd3d_array_reserve((void **)&l->sources, &l->capacity, l->count + 1, sizeof(*l->sources)))
|
||||
{
|
||||
vkd3d_free(s);
|
||||
return false;
|
||||
}
|
||||
l->sources[l->count++] = s;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void vkd3d_shader_source_list_cleanup(struct vkd3d_shader_source_list *l)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < l->count; ++i)
|
||||
{
|
||||
vkd3d_free((void *)l->sources[i]);
|
||||
}
|
||||
vkd3d_free(l->sources);
|
||||
}
|
||||
|
||||
void vkd3d_shader_source_list_init(struct vkd3d_shader_source_list *l)
|
||||
{
|
||||
memset(l, 0, sizeof(*l));
|
||||
}
|
||||
|
||||
void vkd3d_string_buffer_init(struct vkd3d_string_buffer *buffer)
|
||||
{
|
||||
buffer->buffer_size = 16;
|
||||
|
||||
Reference in New Issue
Block a user