void GLESRender::Swap(TngWindow* wnd) { if (__eglDisplay && __eglSurface) { int rc =eglSwapBuffers(__eglDisplay, __eglSurface); if (rc != EGL_TRUE) { EGLint error = eglGetError(); if (error == EGL_BAD_NATIVE_WINDOW) { if (OS::state__->window != NULL) { destroyEGLSurface(); Log::GetLog()->Printf(Log::SYS_CHN,"recreate gles surface"); CreateRenderDevice(wnd); } else { Log::GetLog()->Printf(Log::SYS_CHN,"widow is null"); } } else { Log::GetLog()->Printf(Log::SYS_CHN,"other error %d",error); } } // else // { // Log::GetLog()->Printf(Log::DBG_CHN,"swap"); // } } }
TRenderDevice::TRenderDevice(TRenderWindow* renderwindow): RenderWindow(renderwindow), RenderTarget(0), ViewPort(0), RenderSize(0), SwapChain(0) { CreateRenderDevice(); }