58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
/**
|
|
******************************************************************************
|
|
* Xenia : Xbox 360 Emulator Research Project *
|
|
******************************************************************************
|
|
* Copyright 2014 Ben Vanik. All rights reserved. *
|
|
* Released under the BSD license - see LICENSE in the root for more details. *
|
|
******************************************************************************
|
|
*/
|
|
|
|
#include "xenia/gpu/gl4/gl4_gpu.h"
|
|
|
|
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
|
#include "xenia/gpu/gl4/gl4_graphics_system.h"
|
|
|
|
DEFINE_bool(thread_safe_gl, false,
|
|
"Only allow one GL context to be active at a time.");
|
|
|
|
DEFINE_bool(gl_debug_output, false, "Dump ARB_debug_output to stderr.");
|
|
DEFINE_bool(gl_debug_output_synchronous, true,
|
|
"ARB_debug_output will synchronize to be thread safe.");
|
|
|
|
DEFINE_bool(vendor_gl_extensions, true,
|
|
"Enable vendor-specific (NV, AMD, etc) GL extensions.");
|
|
|
|
DEFINE_bool(disable_framebuffer_readback, false,
|
|
"Disable framebuffer readback.");
|
|
DEFINE_bool(disable_textures, false, "Disable textures and use colors only.");
|
|
|
|
namespace xe {
|
|
namespace gpu {
|
|
namespace gl4 {
|
|
|
|
void InitializeIfNeeded();
|
|
void CleanupOnShutdown();
|
|
|
|
void InitializeIfNeeded() {
|
|
static bool has_initialized = false;
|
|
if (has_initialized) {
|
|
return;
|
|
}
|
|
has_initialized = true;
|
|
|
|
//
|
|
|
|
atexit(CleanupOnShutdown);
|
|
}
|
|
|
|
void CleanupOnShutdown() {}
|
|
|
|
std::unique_ptr<GraphicsSystem> Create() {
|
|
InitializeIfNeeded();
|
|
return std::make_unique<GL4GraphicsSystem>();
|
|
}
|
|
|
|
} // namespace gl4
|
|
} // namespace gpu
|
|
} // namespace xe
|