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).
64 lines
1.3 KiB
C++
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
|