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
|
|
|
*/
|
|
|
|
|
2013-11-14 09:54:36 +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
|
|
|
|
|
2015-03-22 08:11:59 +03:00
|
|
|
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)
|
2022-08-04 16:51:38 +03:00
|
|
|
, m_msaaContext(false)
|
2013-07-22 01:44:53 +04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2022-08-04 16:51:38 +03: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
|
|
|
|
2015-08-18 04:07:00 +03: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;
|
2014-04-05 16:44:29 +04:00
|
|
|
GLuint m_depthStencilRbo;
|
2022-08-04 16:51:38 +03:00
|
|
|
// true when MSAA is handled by the context instead of using MSAA FBO
|
|
|
|
bool m_msaaContext;
|
2013-07-22 01:44:53 +04:00
|
|
|
};
|
2015-03-22 08:11:59 +03:00
|
|
|
} /* namespace gl */ } // namespace bgfx
|
2013-07-22 01:44:53 +04:00
|
|
|
|
|
|
|
#endif // BX_PLATFORM_IOS
|
|
|
|
|
2013-11-14 09:54:36 +04:00
|
|
|
#endif // BGFX_GLCONTEXT_EAGL_H_HEADER_GUARD
|