156 typedef void (GLAPIENTRY *glCompileShaderARBType)(GLhandleARB);
157 typedef void (GLAPIENTRY *glUseProgramObjectARBType)(GLhandleARB);
158 typedef void (GLAPIENTRY *glUniform1iARBType)(GLint, GLint);
159 typedef void (GLAPIENTRY *glUniform1fARBType)(GLint, GLfloat);
160 typedef void (GLAPIENTRY *glUniform1fvARBType)(GLint, GLsizei, const GLfloat *);
161 typedef void (GLAPIENTRY *glUniform2fARBType)(GLint, GLfloat, GLfloat);
162 typedef void (GLAPIENTRY *glUniform3fARBType)(GLint, GLfloat, GLfloat, GLfloat);
163 typedef void (GLAPIENTRY *glUniform3fvARBType)(GLint, GLsizei, const GLfloat *);
164 typedef void (GLAPIENTRY *glUniform4fARBType)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
165 typedef void (GLAPIENTRY *glUniform4fvARBType)(GLint, GLsizei, const GLfloat *);
166 typedef GLint (GLAPIENTRY *glGetUniformLocationARBType)(GLhandleARB, const GLcharARB *);
167 typedef void (GLAPIENTRY *glGetInfoLogARBType)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
168 typedef void (GLAPIENTRY *glGetProgramivARBType)(GLenum, GLenum, GLint *);
169 typedef void (GLAPIENTRY *glGetObjectParameterivARBType)(GLhandleARB, GLenum, GLint *);
170 typedef GLhandleARB (GLAPIENTRY *glCreateProgramObjectARBType)(void);
171 typedef void (GLAPIENTRY *glAttachObjectARBType)(GLhandleARB, GLhandleARB);
172 typedef void (GLAPIENTRY *glLinkProgramARBType)(GLhandleARB);
173 typedef void (GLAPIENTRY *glDeleteObjectARBType)(GLhandleARB);
174
175 /**
176 * REMIND: this caused an internal error in the MS compiler!?!?
177 *
178 *#define OGL_CHECK_FUNC_ERR(f) \
179 * J2dTrace1(J2D_TRACE_ERROR, "could not load function: %s", #f)
180 */
181
182 #define OGL_CHECK_FUNC_ERR(f) \
183 J2dRlsTraceLn(J2D_TRACE_ERROR, #f)
184
185 #define OGL_INIT_FUNC(f) \
186 OGL_J2D_MANGLE(f) = (OGL_FUNC_TYPE(f)) OGL_GET_PROC_ADDRESS(f)
187
188 #define OGL_INIT_AND_CHECK_FUNC(f) \
189 OGL_INIT_FUNC(f); \
190 if (OGL_J2D_MANGLE(f) == NULL) { \
191 OGL_CHECK_FUNC_ERR(f); \
192 return JNI_FALSE; \
193 }
194
195 #define OGL_INIT_EXT_FUNC(f) \
299 OGL_##action##_EXT_FUNC(glFramebufferRenderbufferEXT); \
300 OGL_##action##_EXT_FUNC(glCreateProgramObjectARB); \
301 OGL_##action##_EXT_FUNC(glAttachObjectARB); \
302 OGL_##action##_EXT_FUNC(glLinkProgramARB); \
303 OGL_##action##_EXT_FUNC(glCreateShaderObjectARB); \
304 OGL_##action##_EXT_FUNC(glShaderSourceARB); \
305 OGL_##action##_EXT_FUNC(glCompileShaderARB); \
306 OGL_##action##_EXT_FUNC(glUseProgramObjectARB); \
307 OGL_##action##_EXT_FUNC(glUniform1iARB); \
308 OGL_##action##_EXT_FUNC(glUniform1fARB); \
309 OGL_##action##_EXT_FUNC(glUniform1fvARB); \
310 OGL_##action##_EXT_FUNC(glUniform2fARB); \
311 OGL_##action##_EXT_FUNC(glUniform3fARB); \
312 OGL_##action##_EXT_FUNC(glUniform3fvARB); \
313 OGL_##action##_EXT_FUNC(glUniform4fARB); \
314 OGL_##action##_EXT_FUNC(glUniform4fvARB); \
315 OGL_##action##_EXT_FUNC(glGetUniformLocationARB); \
316 OGL_##action##_EXT_FUNC(glGetProgramivARB); \
317 OGL_##action##_EXT_FUNC(glGetInfoLogARB); \
318 OGL_##action##_EXT_FUNC(glGetObjectParameterivARB); \
319 OGL_##action##_EXT_FUNC(glDeleteObjectARB);
320
321 #define OGL_EXPRESS_ALL_FUNCS(action) \
322 OGL_EXPRESS_BASE_FUNCS(action) \
323 OGL_EXPRESS_EXT_FUNCS(action) \
324 OGL_EXPRESS_PLATFORM_FUNCS(action) \
325 OGL_EXPRESS_PLATFORM_EXT_FUNCS(action)
326
327 OGL_EXPRESS_ALL_FUNCS(EXTERN)
328
329 #endif /* OGLFuncs_h_Included */
|
156 typedef void (GLAPIENTRY *glCompileShaderARBType)(GLhandleARB);
157 typedef void (GLAPIENTRY *glUseProgramObjectARBType)(GLhandleARB);
158 typedef void (GLAPIENTRY *glUniform1iARBType)(GLint, GLint);
159 typedef void (GLAPIENTRY *glUniform1fARBType)(GLint, GLfloat);
160 typedef void (GLAPIENTRY *glUniform1fvARBType)(GLint, GLsizei, const GLfloat *);
161 typedef void (GLAPIENTRY *glUniform2fARBType)(GLint, GLfloat, GLfloat);
162 typedef void (GLAPIENTRY *glUniform3fARBType)(GLint, GLfloat, GLfloat, GLfloat);
163 typedef void (GLAPIENTRY *glUniform3fvARBType)(GLint, GLsizei, const GLfloat *);
164 typedef void (GLAPIENTRY *glUniform4fARBType)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
165 typedef void (GLAPIENTRY *glUniform4fvARBType)(GLint, GLsizei, const GLfloat *);
166 typedef GLint (GLAPIENTRY *glGetUniformLocationARBType)(GLhandleARB, const GLcharARB *);
167 typedef void (GLAPIENTRY *glGetInfoLogARBType)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
168 typedef void (GLAPIENTRY *glGetProgramivARBType)(GLenum, GLenum, GLint *);
169 typedef void (GLAPIENTRY *glGetObjectParameterivARBType)(GLhandleARB, GLenum, GLint *);
170 typedef GLhandleARB (GLAPIENTRY *glCreateProgramObjectARBType)(void);
171 typedef void (GLAPIENTRY *glAttachObjectARBType)(GLhandleARB, GLhandleARB);
172 typedef void (GLAPIENTRY *glLinkProgramARBType)(GLhandleARB);
173 typedef void (GLAPIENTRY *glDeleteObjectARBType)(GLhandleARB);
174
175 /**
176 * GL_NV_texture_barrier extension function typedef's
177 */
178 typedef void (GLAPIENTRY *glTextureBarrierNVType) (void);
179
180 /**
181 * REMIND: this caused an internal error in the MS compiler!?!?
182 *
183 *#define OGL_CHECK_FUNC_ERR(f) \
184 * J2dTrace1(J2D_TRACE_ERROR, "could not load function: %s", #f)
185 */
186
187 #define OGL_CHECK_FUNC_ERR(f) \
188 J2dRlsTraceLn(J2D_TRACE_ERROR, #f)
189
190 #define OGL_INIT_FUNC(f) \
191 OGL_J2D_MANGLE(f) = (OGL_FUNC_TYPE(f)) OGL_GET_PROC_ADDRESS(f)
192
193 #define OGL_INIT_AND_CHECK_FUNC(f) \
194 OGL_INIT_FUNC(f); \
195 if (OGL_J2D_MANGLE(f) == NULL) { \
196 OGL_CHECK_FUNC_ERR(f); \
197 return JNI_FALSE; \
198 }
199
200 #define OGL_INIT_EXT_FUNC(f) \
304 OGL_##action##_EXT_FUNC(glFramebufferRenderbufferEXT); \
305 OGL_##action##_EXT_FUNC(glCreateProgramObjectARB); \
306 OGL_##action##_EXT_FUNC(glAttachObjectARB); \
307 OGL_##action##_EXT_FUNC(glLinkProgramARB); \
308 OGL_##action##_EXT_FUNC(glCreateShaderObjectARB); \
309 OGL_##action##_EXT_FUNC(glShaderSourceARB); \
310 OGL_##action##_EXT_FUNC(glCompileShaderARB); \
311 OGL_##action##_EXT_FUNC(glUseProgramObjectARB); \
312 OGL_##action##_EXT_FUNC(glUniform1iARB); \
313 OGL_##action##_EXT_FUNC(glUniform1fARB); \
314 OGL_##action##_EXT_FUNC(glUniform1fvARB); \
315 OGL_##action##_EXT_FUNC(glUniform2fARB); \
316 OGL_##action##_EXT_FUNC(glUniform3fARB); \
317 OGL_##action##_EXT_FUNC(glUniform3fvARB); \
318 OGL_##action##_EXT_FUNC(glUniform4fARB); \
319 OGL_##action##_EXT_FUNC(glUniform4fvARB); \
320 OGL_##action##_EXT_FUNC(glGetUniformLocationARB); \
321 OGL_##action##_EXT_FUNC(glGetProgramivARB); \
322 OGL_##action##_EXT_FUNC(glGetInfoLogARB); \
323 OGL_##action##_EXT_FUNC(glGetObjectParameterivARB); \
324 OGL_##action##_EXT_FUNC(glDeleteObjectARB); \
325 OGL_##action##_EXT_FUNC(glTextureBarrierNV);
326
327 #define OGL_EXPRESS_ALL_FUNCS(action) \
328 OGL_EXPRESS_BASE_FUNCS(action) \
329 OGL_EXPRESS_EXT_FUNCS(action) \
330 OGL_EXPRESS_PLATFORM_FUNCS(action) \
331 OGL_EXPRESS_PLATFORM_EXT_FUNCS(action)
332
333 OGL_EXPRESS_ALL_FUNCS(EXTERN)
334
335 #endif /* OGLFuncs_h_Included */
|