bgfx/src/glcontext_eagl.h

63 lines
1.3 KiB
C
Raw Normal View History

2013-07-22 01:44:53 +04:00
/*
2022-01-15 22:59:06 +03:00
* Copyright 2011-2022 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
2013-07-22 01:44:53 +04:00
*/
#ifndef BGFX_GLCONTEXT_EAGL_H_HEADER_GUARD
#define BGFX_GLCONTEXT_EAGL_H_HEADER_GUARD
2013-07-22 01:44:53 +04:00
#if BX_PLATFORM_IOS
namespace bgfx { namespace gl
2013-07-22 01:44:53 +04:00
{
2014-09-08 04:17:38 +04:00
struct SwapChainGL;
2013-07-22 01:44:53 +04:00
struct GlContext
{
GlContext()
2016-03-11 12:33:46 +03:00
: m_current(0)
, m_context(0)
, m_fbo(0)
, m_colorRbo(0)
, m_depthStencilRbo(0)
, m_msaaContext(false)
2013-07-22 01:44:53 +04:00
{
}
void create(uint32_t _width, uint32_t _height, uint32_t _flags);
2013-07-22 01:44:53 +04:00
void destroy();
2015-04-07 07:31:26 +03:00
void resize(uint32_t _width, uint32_t _height, uint32_t _flags);
2014-09-08 04:17:38 +04:00
uint64_t getCaps() const;
2014-09-08 04:17:38 +04:00
SwapChainGL* createSwapChain(void* _nwh);
2014-11-30 20:06:47 +03:00
void destroySwapChain(SwapChainGL* _swapChain);
2014-09-08 04:17:38 +04:00
void swap(SwapChainGL* _swapChain = NULL);
void makeCurrent(SwapChainGL* _swapChain = NULL);
2013-07-22 01:44:53 +04:00
void import();
2014-09-08 04:17:38 +04:00
GLuint getFbo()
{
return m_fbo;
}
2013-07-22 01:44:53 +04:00
bool isValid() const
{
return 0 != m_context;
}
2016-03-11 12:33:46 +03:00
SwapChainGL* m_current;
2013-07-22 01:44:53 +04:00
void* m_context;
GLuint m_fbo;
GLuint m_colorRbo;
GLuint m_depthStencilRbo;
// true when MSAA is handled by the context instead of using MSAA FBO
bool m_msaaContext;
2013-07-22 01:44:53 +04:00
};
} /* namespace gl */ } // namespace bgfx
2013-07-22 01:44:53 +04:00
#endif // BX_PLATFORM_IOS
#endif // BGFX_GLCONTEXT_EAGL_H_HEADER_GUARD