MCPcopy Create free account
hub / github.com/DISTRHO/DPF / nvgCreateGL

Function nvgCreateGL

dgl/src/NanoVG.cpp:137–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

135// -----------------------------------------------------------------------
136
137START_NAMESPACE_DGL
138
139NVGcontext* nvgCreateGL(int flags)
140{
141#if defined(DISTRHO_OS_WINDOWS)
142# if defined(__GNUC__) && (__GNUC__ >= 9)
143# pragma GCC diagnostic push
144# pragma GCC diagnostic ignored "-Wcast-function-type"
145# endif
146 static bool needsInit = true;
147# define DGL_EXT(PROC, func) \
148 if (needsInit) func = (PROC) wglGetProcAddress ( #func ); \
149 DISTRHO_SAFE_ASSERT_RETURN(func != nullptr, nullptr);
150# define DGL_EXT2(PROC, func, fallback) \
151 if (needsInit) { \
152 func = (PROC) wglGetProcAddress ( #func ); \
153 if (func == nullptr) func = (PROC) wglGetProcAddress ( #fallback ); \
154 } DISTRHO_SAFE_ASSERT_RETURN(func != nullptr, nullptr);
155DGL_EXT(PFNGLACTIVETEXTUREPROC, glActiveTexture)
156DGL_EXT(PFNGLATTACHSHADERPROC, glAttachShader)
157DGL_EXT(PFNGLBINDATTRIBLOCATIONPROC, glBindAttribLocation)
158DGL_EXT(PFNGLBINDBUFFERPROC, glBindBuffer)
159DGL_EXT(PFNGLBUFFERDATAPROC, glBufferData)
160DGL_EXT(PFNGLCOMPILESHADERPROC, glCompileShader)
161DGL_EXT(PFNGLCREATEPROGRAMPROC, glCreateProgram)
162DGL_EXT(PFNGLCREATESHADERPROC, glCreateShader)
163DGL_EXT(PFNGLDELETEBUFFERSPROC, glDeleteBuffers)
164DGL_EXT(PFNGLDELETEPROGRAMPROC, glDeleteProgram)
165DGL_EXT(PFNGLDELETESHADERPROC, glDeleteShader)
166DGL_EXT(PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray)
167DGL_EXT(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray)
168DGL_EXT(PFNGLGENBUFFERSPROC, glGenBuffers)
169DGL_EXT(PFNGLGETPROGRAMIVPROC, glGetProgramiv)
170DGL_EXT(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog)
171DGL_EXT(PFNGLGETSHADERIVPROC, glGetShaderiv)
172DGL_EXT(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog)
173DGL_EXT(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation)
174DGL_EXT(PFNGLLINKPROGRAMPROC, glLinkProgram)
175DGL_EXT(PFNGLSHADERSOURCEPROC, glShaderSource)
176DGL_EXT(PFNGLSTENCILOPSEPARATEPROC, glStencilOpSeparate)
177DGL_EXT(PFNGLUNIFORM1IPROC, glUniform1i)
178DGL_EXT(PFNGLUNIFORM2FVPROC, glUniform2fv)
179DGL_EXT(PFNGLUNIFORM4FVPROC, glUniform4fv)
180DGL_EXT(PFNGLUSEPROGRAMPROC, glUseProgram)
181DGL_EXT(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer)
182DGL_EXT(PFNGLBLENDFUNCSEPARATEPROC, glBlendFuncSeparate)
183# ifdef DGL_USE_NANOVG_FBO
184DGL_EXT(PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus)
185DGL_EXT2(PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer, glBindFramebufferEXT)
186DGL_EXT2(PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer, glBindRenderbufferEXT)
187DGL_EXT2(PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers, glDeleteFramebuffersEXT)
188DGL_EXT2(PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers, glDeleteRenderbuffersEXT)
189DGL_EXT2(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D, glFramebufferTexture2DEXT)
190DGL_EXT2(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer, glFramebufferRenderbufferEXT)
191DGL_EXT2(PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers, glGenFramebuffersEXT)
192DGL_EXT2(PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers, glGenRenderbuffersEXT)
193DGL_EXT2(PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage, glRenderbufferStorageEXT)
194# endif

Callers 1

NanoVGMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected