Files
test2/source/blender/draw/tests/draw_testing.hh
Clément Foucault 0b2a178efc Fix: DRW: Uninitialized mutex in tests
Tests were calling the submission mutex without
init. Adding functions to expose only setting
up the submission mutex instead of the full
DRW context (which is uneeded here).
2025-04-16 21:38:19 +02:00

64 lines
1.3 KiB
C++

/* SPDX-FileCopyrightText: 2023 Blender Authors
*
* SPDX-License-Identifier: Apache-2.0 */
#include "gpu_testing.hh"
namespace blender::draw {
/* Base class for draw test cases. It will setup and tear down the GPU part around each test. */
#ifdef WITH_OPENGL_BACKEND
class DrawOpenGLTest : public blender::gpu::GPUOpenGLTest {
public:
void SetUp() override;
void TearDown() override;
};
# define DRAW_OPENGL_TEST(test_name) \
TEST_F(DrawOpenGLTest, test_name) \
{ \
test_##test_name(); \
}
#else
# define DRAW_OPENGL_TEST(test_name)
#endif
#ifdef WITH_METAL_BACKEND
class DrawMetalTest : public blender::gpu::GPUMetalTest {
public:
void SetUp() override;
void TearDown() override;
};
# define DRAW_METAL_TEST(test_name) \
TEST_F(DrawMetalTest, test_name) \
{ \
test_##test_name(); \
}
#else
# define DRAW_METAL_TEST(test_name)
#endif
#ifdef WITH_VULKAN_BACKEND
class DrawVulkanTest : public blender::gpu::GPUVulkanTest {
public:
void SetUp() override;
void TearDown() override;
};
# define DRAW_VULKAN_TEST(test_name) \
TEST_F(DrawVulkanTest, test_name) \
{ \
test_##test_name(); \
}
#else
# define DRAW_VULKAN_TEST(test_name)
#endif
#define DRAW_TEST(test_name) \
DRAW_OPENGL_TEST(test_name) \
DRAW_METAL_TEST(test_name) \
DRAW_VULKAN_TEST(test_name)
} // namespace blender::draw