Zebediah Figura : tests: Store resources in a fixed-size array.
Alexandre Julliard
julliard at winehq.org
Tue Apr 12 15:33:41 CDT 2022
Module: vkd3d
Branch: master
Commit: e208d87847e1d3e426a1a69755e8e0c6aaccc3c8
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=e208d87847e1d3e426a1a69755e8e0c6aaccc3c8
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Mon Apr 11 12:18:29 2022 -0500
tests: Store resources in a fixed-size array.
We will need to allocate some structures in the Vulkan backend; this is easier
if we don't need to worry about allocating them dynamically.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tests/shader_runner.c | 5 +++--
tests/shader_runner.h | 4 +++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/tests/shader_runner.c b/tests/shader_runner.c
index 0aca7830..2bdc6bd1 100644
--- a/tests/shader_runner.c
+++ b/tests/shader_runner.c
@@ -327,7 +327,9 @@ static void set_resource(struct shader_runner *runner, struct resource *resource
}
}
- runner->resources = realloc(runner->resources, (runner->resource_count + 1) * sizeof(*runner->resources));
+ if (runner->resource_count == MAX_RESOURCES)
+ fatal_error("Too many resources declared.\n");
+
runner->resources[runner->resource_count++] = resource;
}
@@ -846,7 +848,6 @@ out:
if (runner->resources[i])
runner->ops->destroy_resource(runner, runner->resources[i]);
}
- free(runner->resources);
fclose(f);
diff --git a/tests/shader_runner.h b/tests/shader_runner.h
index 8dc77673..3bfbf48d 100644
--- a/tests/shader_runner.h
+++ b/tests/shader_runner.h
@@ -87,6 +87,8 @@ struct input_element
unsigned int index;
};
+#define MAX_RESOURCES 32
+
struct shader_runner
{
const struct shader_runner_ops *ops;
@@ -98,7 +100,7 @@ struct shader_runner
uint32_t *uniforms;
size_t uniform_count, uniform_capacity;
- struct resource **resources;
+ struct resource *resources[MAX_RESOURCES];
size_t resource_count;
struct sampler *samplers;
More information about the wine-cvs
mailing list