mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-08-29 14:38:19 +00:00
* Support both X11 and Wayland in the same build. - Works for both Vulkan and OpenGL. - Remove --with-wayland from genie options. - Vulkan loads all three extensions for surface creation instead of only one. - Add width and height parameter to GlContext::createSwapChain(), which is needed for EGL to create a SwapChain with the given window size. - Dirty-fix the example-22-windows to recreate the FrameBuffer by first destroying and then recreating to make sure the window is released of its swapchain. - Fix dbgText glitch in example-22-windows. - Remove old X11-related dependencies for GLFW3. * Formatting.
51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
/*
|
|
* Copyright 2011-2024 Branimir Karadzic. All rights reserved.
|
|
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
|
|
*/
|
|
|
|
#ifndef BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD
|
|
#define BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD
|
|
|
|
#if BGFX_USE_HTML5
|
|
|
|
namespace bgfx { namespace gl
|
|
{
|
|
struct SwapChainGL;
|
|
|
|
struct GlContext
|
|
{
|
|
GlContext()
|
|
: m_current(NULL)
|
|
, m_primary(NULL)
|
|
, m_msaaContext(false)
|
|
{
|
|
}
|
|
|
|
void create(uint32_t _width, uint32_t _height, uint32_t _flags);
|
|
void destroy();
|
|
void resize(uint32_t _width, uint32_t _height, uint32_t _flags);
|
|
|
|
uint64_t getCaps() const;
|
|
SwapChainGL* createSwapChain(void* _nwh, int _width, int _height);
|
|
void destroySwapChain(SwapChainGL* _swapChain);
|
|
void swap(SwapChainGL* _swapChain = NULL);
|
|
void makeCurrent(SwapChainGL* _swapChain = NULL);
|
|
|
|
void import(int webGLVersion);
|
|
|
|
bool isValid() const
|
|
{
|
|
return NULL != m_primary;
|
|
}
|
|
|
|
SwapChainGL* m_current;
|
|
SwapChainGL* m_primary;
|
|
// true when MSAA is handled by the context instead of using MSAA FBO
|
|
bool m_msaaContext;
|
|
};
|
|
} /* namespace gl */ } // namespace bgfx
|
|
|
|
#endif // BGFX_USE_HTML5
|
|
|
|
#endif // BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD
|