ManaPlus
naclgles.cpp
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2015-2019 The ManaPlus Developers
4  * Copyright (C) 2019-2021 Andrei Karas
5  *
6  * This file is part of The ManaPlus Client.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 #if defined(__native_client__) && defined(USE_OPENGL)
23 
24 #include "render/nacl/naclgles.h"
25 
26 #include "logger.h"
27 
29 
30 #include <ppapi_simple/ps.h>
31 
32 #include <ppapi/c/ppb_graphics_3d.h>
33 #include <ppapi/c/ppb_opengles2.h>
34 
35 #include <ppapi/gles2/gl2ext_ppapi.h>
36 
37 #include "debug.h"
38 
39 const struct PPB_OpenGLES2* gles2Interface = nullptr;
40 PP_Resource gles2Context = 0;
41 const struct PPB_Graphics3D_1_0 *graphics3dInterface = nullptr;
42 
43 void NaclGles::initGles()
44 {
45  gles2Interface = static_cast<const PPB_OpenGLES2*>(
46  PSGetInterface(PPB_OPENGLES2_INTERFACE));
47  graphics3dInterface = static_cast<const PPB_Graphics3D_1_0*>(
48  PSGetInterface(PPB_GRAPHICS_3D_INTERFACE_1_0));
49  gles2Context = glGetCurrentContextPPAPI();
50 
51  logger->log("InitGles: %p, %d",
52  reinterpret_cast<const void*>(gles2Interface),
53  gles2Context);
54 }
55 
56 #endif // defined(__native_client__) && defined(USE_OPENGL)
void log(const char *const log_text,...)
Definition: logger.cpp:269
Logger * logger
Definition: logger.cpp:89