59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
/* SPDX-FileCopyrightText: 2023 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 */
|
|
|
|
#include "testing/testing.h"
|
|
|
|
#include "CLG_log.h"
|
|
|
|
#include "BLI_math_color.h"
|
|
|
|
#include "GPU_context.h"
|
|
#include "GPU_debug.h"
|
|
#include "GPU_init_exit.h"
|
|
#include "gpu_testing.hh"
|
|
|
|
#include "GHOST_C-api.h"
|
|
|
|
#include "BKE_global.h"
|
|
|
|
namespace blender::gpu {
|
|
|
|
void GPUTest::SetUp()
|
|
{
|
|
prev_g_debug_ = G.debug;
|
|
G.debug |= G_DEBUG_GPU | G_DEBUG_GPU_RENDERDOC;
|
|
|
|
CLG_init();
|
|
GPU_backend_type_selection_set(gpu_backend_type);
|
|
GHOST_GPUSettings gpuSettings = {};
|
|
gpuSettings.context_type = draw_context_type;
|
|
gpuSettings.flags = GHOST_gpuDebugContext;
|
|
ghost_system = GHOST_CreateSystem();
|
|
ghost_context = GHOST_CreateGPUContext(ghost_system, gpuSettings);
|
|
GHOST_ActivateGPUContext(ghost_context);
|
|
context = GPU_context_create(nullptr, ghost_context);
|
|
GPU_init();
|
|
|
|
BLI_init_srgb_conversion();
|
|
|
|
GPU_context_begin_frame(context);
|
|
GPU_debug_capture_begin();
|
|
}
|
|
|
|
void GPUTest::TearDown()
|
|
{
|
|
GPU_debug_capture_end();
|
|
GPU_context_end_frame(context);
|
|
|
|
GPU_exit();
|
|
GPU_context_discard(context);
|
|
GHOST_DisposeGPUContext(ghost_system, ghost_context);
|
|
GHOST_DisposeSystem(ghost_system);
|
|
CLG_exit();
|
|
|
|
G.debug = prev_g_debug_;
|
|
}
|
|
|
|
} // namespace blender::gpu
|