5#include "testing/testing.h"
22 static GHOST_SystemHandle ghost_system_;
23 static GHOST_ContextHandle ghost_context_;
24 static GPUContext *context_;
27 std::string debug_group_name_;
35 void SetUp()
override;
39#ifdef WITH_OPENGL_BACKEND
40class GPUOpenGLTest :
public GPUTest {
42 static void SetUpTestSuite()
48 static void TearDownTestSuite()
50 GPUTest::TearDownTestSuite();
54class GPUOpenGLWorkaroundsTest :
public GPUTest {
56 static void SetUpTestSuite()
58 GPUTest::SetUpTestSuite(GHOST_kDrawingContextTypeOpenGL,
63 static void TearDownTestSuite()
65 GPUTest::TearDownTestSuite();
68# define GPU_OPENGL_TEST(test_name) \
69 TEST_F(GPUOpenGLTest, test_name) \
73 TEST_F(GPUOpenGLWorkaroundsTest, test_name) \
78# define GPU_OPENGL_TEST(test_name)
81#ifdef WITH_METAL_BACKEND
82class GPUMetalTest :
public GPUTest {
84 static void SetUpTestSuite()
88 static void TearDownTestSuite()
90 GPUTest::TearDownTestSuite();
94class GPUMetalWorkaroundsTest :
public GPUTest {
96 static void SetUpTestSuite()
98 GPUTest::SetUpTestSuite(GHOST_kDrawingContextTypeMetal,
102 static void TearDownTestSuite()
104 GPUTest::TearDownTestSuite();
107# define GPU_METAL_TEST(test_name) \
108 TEST_F(GPUMetalTest, test_name) \
110 test_##test_name(); \
112 TEST_F(GPUMetalWorkaroundsTest, test_name) \
114 test_##test_name(); \
117# define GPU_METAL_TEST(test_name)
120#ifdef WITH_VULKAN_BACKEND
121class GPUVulkanTest :
public GPUTest {
123 static void SetUpTestSuite()
125 GPUTest::SetUpTestSuite(GHOST_kDrawingContextTypeVulkan,
129 static void TearDownTestSuite()
131 GPUTest::TearDownTestSuite();
135class GPUVulkanWorkaroundsTest :
public GPUTest {
137 static void SetUpTestSuite()
139 GPUTest::SetUpTestSuite(GHOST_kDrawingContextTypeVulkan,
144 static void TearDownTestSuite()
146 GPUTest::TearDownTestSuite();
149# define GPU_VULKAN_TEST(test_name) \
150 TEST_F(GPUVulkanTest, test_name) \
152 test_##test_name(); \
154 TEST_F(GPUVulkanWorkaroundsTest, test_name) \
156 test_##test_name(); \
159# define GPU_VULKAN_TEST(test_name)
162#define GPU_TEST(test_name) \
163 GPU_OPENGL_TEST(test_name) \
164 GPU_METAL_TEST(test_name) \
165 GPU_VULKAN_TEST(test_name)
167#define BLOCK_GPU_TEST_ON(device_type, os_type, driver_type, backend_type) \
168 if (!blender::tests::should_ignore_blocklist() && \
169 GPU_type_matches_ex(device_type, os_type, driver_type, backend_type)) \
@ G_DEBUG_GPU_FORCE_WORKAROUNDS
@ G_DEBUG_GPU_SHADER_DEBUG_INFO
@ G_DEBUG_GPU_COMPILE_SHADERS
GHOST C-API function and type declarations.
GHOST_TDrawingContextType
static void TearDownTestSuite()
static void SetUpTestSuite(GHOST_TDrawingContextType draw_context_type, GPUBackendType gpu_backend_type, int32_t g_debug_flags)