Files
test2/source/blender/draw/tests/draw_testing.hh
Jeroen Bakker 72d3e43a3b Vulkan: Enable Draw Manager Test Cases
This PR enabled the draw manager test cases when compiling with
`WITH_VULKAN_BACKEND=On`. Currently they should pass all the tests
in draw_pass_test.cc that also pass for OpenGL. The draw_visibility
test seems to be faulty (also for OpenGL).

The vulkan backend doesn't have all the features implemented to
pass the Eevee testcases and are expected to fail.

Pull Request: https://projects.blender.org/blender/blender/pulls/110994
2023-08-10 21:41:52 +02:00

61 lines
1.3 KiB
C++

/* SPDX-FileCopyrightText: 2023 Blender Foundation
*
* 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