61 lines
1.3 KiB
C++
61 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;
|
|
};
|
|
|
|
# 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;
|
|
};
|
|
|
|
# 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;
|
|
};
|
|
|
|
# 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
|