GPU: Enabled Metal test cases.
This commit enabled the metal gpu backend test cases. These test cases will currently fail, but are by default disabled.
This commit is contained in:
parent
d2728868c0
commit
f0ce95b7b9
|
@ -14,7 +14,9 @@ namespace blender::gpu {
|
|||
|
||||
void GPUTest::SetUp()
|
||||
{
|
||||
GPU_backend_type_selection_set(gpu_backend_type);
|
||||
GHOST_GLSettings glSettings = {0};
|
||||
glSettings.context_type = draw_context_type;
|
||||
CLG_init();
|
||||
ghost_system = GHOST_CreateSystem();
|
||||
ghost_context = GHOST_CreateOpenGLContext(ghost_system, glSettings);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "testing/testing.h"
|
||||
|
||||
#include "GHOST_C-api.h"
|
||||
#include "GPU_platform.h"
|
||||
|
||||
struct GPUContext;
|
||||
|
||||
|
@ -18,12 +19,14 @@ namespace blender::gpu {
|
|||
class GPUTest : public ::testing::Test {
|
||||
private:
|
||||
GHOST_TDrawingContextType draw_context_type = GHOST_kDrawingContextTypeNone;
|
||||
eGPUBackendType gpu_backend_type;
|
||||
GHOST_SystemHandle ghost_system;
|
||||
GHOST_ContextHandle ghost_context;
|
||||
struct GPUContext *context;
|
||||
|
||||
protected:
|
||||
GPUTest(GHOST_TDrawingContextType draw_context_type) : draw_context_type(draw_context_type)
|
||||
GPUTest(GHOST_TDrawingContextType draw_context_type, eGPUBackendType gpu_backend_type)
|
||||
: draw_context_type(draw_context_type), gpu_backend_type(gpu_backend_type)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -33,15 +36,35 @@ class GPUTest : public ::testing::Test {
|
|||
|
||||
class GPUOpenGLTest : public GPUTest {
|
||||
public:
|
||||
GPUOpenGLTest() : GPUTest(GHOST_kDrawingContextTypeOpenGL)
|
||||
GPUOpenGLTest() : GPUTest(GHOST_kDrawingContextTypeOpenGL, GPU_BACKEND_OPENGL)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
#define GPU_TEST(test_name) \
|
||||
#define GPU_OPENGL_TEST(test_name) \
|
||||
TEST_F(GPUOpenGLTest, test_name) \
|
||||
{ \
|
||||
test_##test_name(); \
|
||||
}
|
||||
|
||||
#ifdef WITH_METAL_BACKEND
|
||||
class GPUMetalTest : public GPUTest {
|
||||
public:
|
||||
GPUMetalTest() : GPUTest(GHOST_kDrawingContextTypeMetal, GPU_BACKEND_METAL)
|
||||
{
|
||||
}
|
||||
};
|
||||
# define GPU_METAL_TEST(test_name) \
|
||||
TEST_F(GPUMetalTest, test_name) \
|
||||
{ \
|
||||
test_##test_name(); \
|
||||
}
|
||||
#else
|
||||
# define GPU_METAL_TEST(test_name)
|
||||
#endif
|
||||
|
||||
#define GPU_TEST(test_name) \
|
||||
GPU_OPENGL_TEST(test_name) \
|
||||
GPU_METAL_TEST(test_name)
|
||||
|
||||
} // namespace blender::gpu
|
||||
|
|
Loading…
Reference in New Issue