summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2025-05-22 10:30:48 +0300
committerMarge Bot <marge-bot@fdo.invalid>2025-06-02 10:28:06 +0000
commitdba66b250c1801e7856a9346e7bde9837fbd3dfe (patch)
treeeed4ba8d2f180b37b4a2559aaaad91346a7ee00f
parentacae827458083e280a23177e8bf79dce3e4aeeea (diff)
ext_external_objects: use piglit_set_destroy_func instead of atexit
Usage of atexit causes crash with validation layers and we would like to run validation on vulkan tests. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/1011>
-rw-r--r--tests/spec/ext_external_objects/vk_buf_exchange.c6
-rw-r--r--tests/spec/ext_external_objects/vk_depth_display.c6
-rw-r--r--tests/spec/ext_external_objects/vk_image_display.c6
-rw-r--r--tests/spec/ext_external_objects/vk_image_display_multiple_textures.c6
-rw-r--r--tests/spec/ext_external_objects/vk_image_display_overwrite.c6
-rw-r--r--tests/spec/ext_external_objects/vk_image_overwrite.c6
-rw-r--r--tests/spec/ext_external_objects/vk_ping_pong.c6
-rw-r--r--tests/spec/ext_external_objects/vk_pix_buf_update_errors.c6
-rw-r--r--tests/spec/ext_external_objects/vk_semaphores.c6
-rw-r--r--tests/spec/ext_external_objects/vk_semaphores2.c6
-rw-r--r--tests/spec/ext_external_objects/vk_stencil_display.c6
-rw-r--r--tests/spec/ext_external_objects/vk_vert_buf_reuse.c7
-rw-r--r--tests/spec/ext_external_objects/vk_vert_buf_update_errors.c6
13 files changed, 40 insertions, 39 deletions
diff --git a/tests/spec/ext_external_objects/vk_buf_exchange.c b/tests/spec/ext_external_objects/vk_buf_exchange.c
index 412b36077..567d41734 100644
--- a/tests/spec/ext_external_objects/vk_buf_exchange.c
+++ b/tests/spec/ext_external_objects/vk_buf_exchange.c
@@ -75,7 +75,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -107,7 +107,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_ARB_texture_storage");
piglit_require_extension("GL_ARB_pixel_buffer_object");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -296,7 +296,7 @@ gl_init()
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_depth_display.c b/tests/spec/ext_external_objects/vk_depth_display.c
index abc7a77a7..cb472ec9c 100644
--- a/tests/spec/ext_external_objects/vk_depth_display.c
+++ b/tests/spec/ext_external_objects/vk_depth_display.c
@@ -59,7 +59,7 @@ static void
gl_subtest_cleanup(void);
static void
-cleanup(void);
+cleanup(void *data);
static enum piglit_result
run_subtest(int case_num);
@@ -131,7 +131,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init()) {
fprintf(stdout, "Failed to initialize Vulkan, skipping the test.\n");
@@ -405,7 +405,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_image_display.c b/tests/spec/ext_external_objects/vk_image_display.c
index 5e00b600d..ff2dc29dc 100644
--- a/tests/spec/ext_external_objects/vk_image_display.c
+++ b/tests/spec/ext_external_objects/vk_image_display.c
@@ -75,7 +75,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -106,7 +106,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -293,7 +293,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_image_display_multiple_textures.c b/tests/spec/ext_external_objects/vk_image_display_multiple_textures.c
index 5a8fa6cca..ea934ca05 100644
--- a/tests/spec/ext_external_objects/vk_image_display_multiple_textures.c
+++ b/tests/spec/ext_external_objects/vk_image_display_multiple_textures.c
@@ -75,7 +75,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -110,7 +110,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -310,7 +310,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_image_display_overwrite.c b/tests/spec/ext_external_objects/vk_image_display_overwrite.c
index 4b357aa7f..d6a279c36 100644
--- a/tests/spec/ext_external_objects/vk_image_display_overwrite.c
+++ b/tests/spec/ext_external_objects/vk_image_display_overwrite.c
@@ -99,7 +99,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -137,7 +137,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -379,7 +379,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_image_overwrite.c b/tests/spec/ext_external_objects/vk_image_overwrite.c
index b2cd68739..db4fa2f55 100644
--- a/tests/spec/ext_external_objects/vk_image_overwrite.c
+++ b/tests/spec/ext_external_objects/vk_image_overwrite.c
@@ -116,7 +116,7 @@ static bool
gl_draw_texture(enum fragment_type fs_type, uint32_t w, uint32_t h);
static void
-cleanup(void);
+cleanup(void *data);
void
piglit_init(int argc, char **argv)
@@ -130,7 +130,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_memory_object");
piglit_require_extension("GL_EXT_memory_object_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init())
piglit_report_result(PIGLIT_SKIP);
@@ -346,7 +346,7 @@ gl_draw_texture(enum fragment_type fs_type, uint32_t w, uint32_t h)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup_ctx(&vk_core);
diff --git a/tests/spec/ext_external_objects/vk_ping_pong.c b/tests/spec/ext_external_objects/vk_ping_pong.c
index deeebba18..7e30f4e2d 100644
--- a/tests/spec/ext_external_objects/vk_ping_pong.c
+++ b/tests/spec/ext_external_objects/vk_ping_pong.c
@@ -93,7 +93,7 @@ static void
gl_cleanup(void);
static void
-cleanup(void);
+cleanup(void *data);
static struct vk_ctx vk_core;
static struct vk_buf vk_bo;
@@ -118,7 +118,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
int single_sem = -1;
for (int a = 1; a < argc; a++) {
@@ -445,7 +445,7 @@ gl_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
gl_cleanup();
vk_cleanup();
diff --git a/tests/spec/ext_external_objects/vk_pix_buf_update_errors.c b/tests/spec/ext_external_objects/vk_pix_buf_update_errors.c
index 32b870ddd..566994573 100644
--- a/tests/spec/ext_external_objects/vk_pix_buf_update_errors.c
+++ b/tests/spec/ext_external_objects/vk_pix_buf_update_errors.c
@@ -74,7 +74,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -120,7 +120,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_ARB_texture_storage");
piglit_require_extension("GL_ARB_pixel_buffer_object");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
w = piglit_width;
h = piglit_height;
@@ -337,7 +337,7 @@ gl_init()
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_semaphores.c b/tests/spec/ext_external_objects/vk_semaphores.c
index a83d8465f..b34f3b70a 100644
--- a/tests/spec/ext_external_objects/vk_semaphores.c
+++ b/tests/spec/ext_external_objects/vk_semaphores.c
@@ -74,7 +74,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -108,7 +108,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -334,7 +334,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_semaphores2.c b/tests/spec/ext_external_objects/vk_semaphores2.c
index 7e0158e60..fffa4246d 100644
--- a/tests/spec/ext_external_objects/vk_semaphores2.c
+++ b/tests/spec/ext_external_objects/vk_semaphores2.c
@@ -104,7 +104,7 @@ vk_init(uint32_t w,
VkImageLayout depth_end_layout);
static void
-cleanup(void);
+cleanup(void *data);
static void
vk_cleanup(void);
@@ -139,7 +139,7 @@ void piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init(piglit_width, piglit_height, 1, num_samples, num_levels, num_layers,
color_format, depth_format,
@@ -352,7 +352,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_stencil_display.c b/tests/spec/ext_external_objects/vk_stencil_display.c
index c57040402..46d7b0826 100644
--- a/tests/spec/ext_external_objects/vk_stencil_display.c
+++ b/tests/spec/ext_external_objects/vk_stencil_display.c
@@ -59,7 +59,7 @@ static void
gl_subtest_cleanup(void);
static void
-cleanup(void);
+cleanup(void *data);
static enum piglit_result
run_subtest(int case_num);
@@ -130,7 +130,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_EXT_semaphore");
piglit_require_extension("GL_EXT_semaphore_fd");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init()) {
fprintf(stdout, "Failed to initialize Vulkan, skipping the test.\n");
@@ -403,7 +403,7 @@ vk_cleanup(void)
}
static void
-cleanup(void)
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_vert_buf_reuse.c b/tests/spec/ext_external_objects/vk_vert_buf_reuse.c
index 597212bbc..b8df7aa5f 100644
--- a/tests/spec/ext_external_objects/vk_vert_buf_reuse.c
+++ b/tests/spec/ext_external_objects/vk_vert_buf_reuse.c
@@ -58,7 +58,7 @@ static struct vk_renderer vk_rnd;
static GLuint gl_disp_tex;
static GLuint gl_disp_vk_prog;
-static void cleanup();
+static void cleanup(void *data);
static void vk_cleanup();
static bool vk_init();
static bool gl_init();
@@ -120,7 +120,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_ARB_texture_storage");
piglit_require_extension("GL_ARB_pixel_buffer_object");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init()) {
fprintf(stdout, "Failed to initialize Vulkan, skipping the test.\n");
@@ -232,6 +232,7 @@ static void
vk_cleanup()
{
vk_destroy_buffer(&vk_core, &vk_vb);
+ vk_destroy_buffer(&vk_core, &vk_tmp_buf);
vk_destroy_ext_image(&vk_core, &vk_color_att.obj);
vk_destroy_ext_image(&vk_core, &vk_depth_att.obj);
vk_destroy_renderer(&vk_core, &vk_rnd);
@@ -239,7 +240,7 @@ vk_cleanup()
}
static void
-cleanup()
+cleanup(void *data)
{
vk_cleanup();
}
diff --git a/tests/spec/ext_external_objects/vk_vert_buf_update_errors.c b/tests/spec/ext_external_objects/vk_vert_buf_update_errors.c
index f6972f960..63e3d0709 100644
--- a/tests/spec/ext_external_objects/vk_vert_buf_update_errors.c
+++ b/tests/spec/ext_external_objects/vk_vert_buf_update_errors.c
@@ -35,7 +35,7 @@ config.khr_no_error_support = PIGLIT_HAS_ERRORS;
PIGLIT_GL_TEST_CONFIG_END
-static void cleanup();
+static void cleanup(void *data);
static void vk_cleanup();
static bool vk_init();
@@ -86,7 +86,7 @@ piglit_init(int argc, char **argv)
piglit_require_extension("GL_ARB_texture_storage");
piglit_require_extension("GL_ARB_pixel_buffer_object");
- atexit(cleanup);
+ piglit_set_destroy_func(cleanup, NULL);
if (!vk_init()) {
fprintf(stdout, "Failed to initialize Vulkan, skipping the test.\n");
@@ -194,7 +194,7 @@ vk_cleanup()
}
static void
-cleanup()
+cleanup(void *data)
{
vk_cleanup();
}