diff options
Diffstat (limited to 'src/osd/modules/render/bgfx/target.cpp')
-rw-r--r-- | src/osd/modules/render/bgfx/target.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/osd/modules/render/bgfx/target.cpp b/src/osd/modules/render/bgfx/target.cpp new file mode 100644 index 00000000000..b8026060b04 --- /dev/null +++ b/src/osd/modules/render/bgfx/target.cpp @@ -0,0 +1,26 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +//============================================================ +// +// target.cpp - Render target abstraction for BGFX layer +// +//============================================================ + +#include "target.h" + +bgfx_target::bgfx_target(std::string name, bgfx::TextureFormat::Enum format, uint32_t width, uint32_t height, bool filter) + : bgfx_texture(name, format, width, height, nullptr, BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP | (filter ? 0 : (BGFX_TEXTURE_MIN_POINT | BGFX_TEXTURE_MAG_POINT | BGFX_TEXTURE_MIP_POINT))) +{ + m_target = bgfx::createFrameBuffer(1, &m_handle, false); +} + +bgfx_target::bgfx_target(std::string name, void *handle, uint32_t width, uint32_t height) + : bgfx_texture(name, bgfx::TextureFormat::RGBA8, width, height, nullptr, BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP | BGFX_TEXTURE_MIN_POINT | BGFX_TEXTURE_MAG_POINT | BGFX_TEXTURE_MIP_POINT) +{ + m_target = bgfx::createFrameBuffer(handle, width, height); +} + +bgfx_target::~bgfx_target() +{ + bgfx::destroyFrameBuffer(m_target); +} |