Roll android_tools support library to 25.1.0
[android_tools.git] / sdk / sources / android-23 / android / opengl / GLErrorWrapper.java
blob66159a82b66543308c004d766768761d20fdecb6
1 /*
2 * Copyright (C) 2007 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package android.opengl;
19 import java.nio.Buffer;
20 import java.nio.FloatBuffer;
21 import java.nio.IntBuffer;
22 import java.nio.ShortBuffer;
24 import javax.microedition.khronos.opengles.GL;
26 /**
27 * Implement an error checking wrapper. The wrapper will automatically call
28 * glError after each GL operation, and throw a GLException if an error
29 * occurs. (By design, calling glError itself will not cause an exception
30 * to be thrown.) Enabling error checking is an alternative to manually
31 * calling glError after every GL operation.
33 class GLErrorWrapper extends GLWrapperBase {
34 boolean mCheckError;
35 boolean mCheckThread;
36 Thread mOurThread;
38 public GLErrorWrapper(GL gl, int configFlags) {
39 super(gl);
40 mCheckError = (configFlags & GLDebugHelper.CONFIG_CHECK_GL_ERROR) != 0;
41 mCheckThread = (configFlags & GLDebugHelper.CONFIG_CHECK_THREAD) != 0;
44 private void checkThread() {
45 if (mCheckThread) {
46 Thread currentThread = Thread.currentThread();
47 if (mOurThread == null) {
48 mOurThread = currentThread;
49 } else {
50 if (!mOurThread.equals(currentThread)) {
51 throw new GLException(GLDebugHelper.ERROR_WRONG_THREAD,
52 "OpenGL method called from wrong thread.");
58 private void checkError() {
59 if (mCheckError) {
60 int glError;
61 if ((glError = mgl.glGetError()) != 0) {
62 throw new GLException(glError);
67 // ---------------------------------------------------------------------
68 // GL10 methods:
70 public void glActiveTexture(int texture) {
71 checkThread();
72 mgl.glActiveTexture(texture);
73 checkError();
76 public void glAlphaFunc(int func, float ref) {
77 checkThread();
78 mgl.glAlphaFunc(func, ref);
79 checkError();
82 public void glAlphaFuncx(int func, int ref) {
83 checkThread();
84 mgl.glAlphaFuncx(func, ref);
85 checkError();
88 public void glBindTexture(int target, int texture) {
89 checkThread();
90 mgl.glBindTexture(target, texture);
91 checkError();
94 public void glBlendFunc(int sfactor, int dfactor) {
95 checkThread();
96 mgl.glBlendFunc(sfactor, dfactor);
97 checkError();
100 public void glClear(int mask) {
101 checkThread();
102 mgl.glClear(mask);
103 checkError();
106 public void glClearColor(float red, float green, float blue, float alpha) {
107 checkThread();
108 mgl.glClearColor(red, green, blue, alpha);
109 checkError();
112 public void glClearColorx(int red, int green, int blue, int alpha) {
113 checkThread();
114 mgl.glClearColorx(red, green, blue, alpha);
115 checkError();
118 public void glClearDepthf(float depth) {
119 checkThread();
120 mgl.glClearDepthf(depth);
121 checkError();
124 public void glClearDepthx(int depth) {
125 checkThread();
126 mgl.glClearDepthx(depth);
127 checkError();
130 public void glClearStencil(int s) {
131 checkThread();
132 mgl.glClearStencil(s);
133 checkError();
136 public void glClientActiveTexture(int texture) {
137 checkThread();
138 mgl.glClientActiveTexture(texture);
139 checkError();
142 public void glColor4f(float red, float green, float blue, float alpha) {
143 checkThread();
144 mgl.glColor4f(red, green, blue, alpha);
145 checkError();
148 public void glColor4x(int red, int green, int blue, int alpha) {
149 checkThread();
150 mgl.glColor4x(red, green, blue, alpha);
151 checkError();
154 public void glColorMask(boolean red, boolean green, boolean blue,
155 boolean alpha) {
156 checkThread();
157 mgl.glColorMask(red, green, blue, alpha);
158 checkError();
161 public void glColorPointer(int size, int type, int stride, Buffer pointer) {
162 checkThread();
163 mgl.glColorPointer(size, type, stride, pointer);
164 checkError();
167 public void glCompressedTexImage2D(int target, int level,
168 int internalformat, int width, int height, int border,
169 int imageSize, Buffer data) {
170 checkThread();
171 mgl.glCompressedTexImage2D(target, level, internalformat, width,
172 height, border, imageSize, data);
173 checkError();
176 public void glCompressedTexSubImage2D(int target, int level, int xoffset,
177 int yoffset, int width, int height, int format, int imageSize,
178 Buffer data) {
179 checkThread();
180 mgl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width,
181 height, format, imageSize, data);
182 checkError();
185 public void glCopyTexImage2D(int target, int level, int internalformat,
186 int x, int y, int width, int height, int border) {
187 checkThread();
188 mgl.glCopyTexImage2D(target, level, internalformat, x, y, width,
189 height, border);
190 checkError();
193 public void glCopyTexSubImage2D(int target, int level, int xoffset,
194 int yoffset, int x, int y, int width, int height) {
195 checkThread();
196 mgl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width,
197 height);
198 checkError();
201 public void glCullFace(int mode) {
202 checkThread();
203 mgl.glCullFace(mode);
204 checkError();
207 public void glDeleteTextures(int n, int[] textures, int offset) {
208 checkThread();
209 mgl.glDeleteTextures(n, textures, offset);
210 checkError();
213 public void glDeleteTextures(int n, IntBuffer textures) {
214 checkThread();
215 mgl.glDeleteTextures(n, textures);
216 checkError();
219 public void glDepthFunc(int func) {
220 checkThread();
221 mgl.glDepthFunc(func);
222 checkError();
225 public void glDepthMask(boolean flag) {
226 checkThread();
227 mgl.glDepthMask(flag);
228 checkError();
231 public void glDepthRangef(float near, float far) {
232 checkThread();
233 mgl.glDepthRangef(near, far);
234 checkError();
237 public void glDepthRangex(int near, int far) {
238 checkThread();
239 mgl.glDepthRangex(near, far);
240 checkError();
243 public void glDisable(int cap) {
244 checkThread();
245 mgl.glDisable(cap);
246 checkError();
249 public void glDisableClientState(int array) {
250 checkThread();
251 mgl.glDisableClientState(array);
252 checkError();
255 public void glDrawArrays(int mode, int first, int count) {
256 checkThread();
257 mgl.glDrawArrays(mode, first, count);
258 checkError();
261 public void glDrawElements(int mode, int count, int type, Buffer indices) {
262 checkThread();
263 mgl.glDrawElements(mode, count, type, indices);
264 checkError();
267 public void glEnable(int cap) {
268 checkThread();
269 mgl.glEnable(cap);
270 checkError();
273 public void glEnableClientState(int array) {
274 checkThread();
275 mgl.glEnableClientState(array);
276 checkError();
279 public void glFinish() {
280 checkThread();
281 mgl.glFinish();
282 checkError();
285 public void glFlush() {
286 checkThread();
287 mgl.glFlush();
288 checkError();
291 public void glFogf(int pname, float param) {
292 checkThread();
293 mgl.glFogf(pname, param);
294 checkError();
297 public void glFogfv(int pname, float[] params, int offset) {
298 checkThread();
299 mgl.glFogfv(pname, params, offset);
300 checkError();
303 public void glFogfv(int pname, FloatBuffer params) {
304 checkThread();
305 mgl.glFogfv(pname, params);
306 checkError();
309 public void glFogx(int pname, int param) {
310 checkThread();
311 mgl.glFogx(pname, param);
312 checkError();
315 public void glFogxv(int pname, int[] params, int offset) {
316 checkThread();
317 mgl.glFogxv(pname, params, offset);
318 checkError();
321 public void glFogxv(int pname, IntBuffer params) {
322 checkThread();
323 mgl.glFogxv(pname, params);
324 checkError();
327 public void glFrontFace(int mode) {
328 checkThread();
329 mgl.glFrontFace(mode);
330 checkError();
333 public void glFrustumf(float left, float right, float bottom, float top,
334 float near, float far) {
335 checkThread();
336 mgl.glFrustumf(left, right, bottom, top, near, far);
337 checkError();
340 public void glFrustumx(int left, int right, int bottom, int top, int near,
341 int far) {
342 checkThread();
343 mgl.glFrustumx(left, right, bottom, top, near, far);
344 checkError();
347 public void glGenTextures(int n, int[] textures, int offset) {
348 checkThread();
349 mgl.glGenTextures(n, textures, offset);
350 checkError();
353 public void glGenTextures(int n, IntBuffer textures) {
354 checkThread();
355 mgl.glGenTextures(n, textures);
356 checkError();
359 public int glGetError() {
360 checkThread();
361 int result = mgl.glGetError();
362 return result;
365 public void glGetIntegerv(int pname, int[] params, int offset) {
366 checkThread();
367 mgl.glGetIntegerv(pname, params, offset);
368 checkError();
371 public void glGetIntegerv(int pname, IntBuffer params) {
372 checkThread();
373 mgl.glGetIntegerv(pname, params);
374 checkError();
377 public String glGetString(int name) {
378 checkThread();
379 String result = mgl.glGetString(name);
380 checkError();
381 return result;
384 public void glHint(int target, int mode) {
385 checkThread();
386 mgl.glHint(target, mode);
387 checkError();
390 public void glLightModelf(int pname, float param) {
391 checkThread();
392 mgl.glLightModelf(pname, param);
393 checkError();
396 public void glLightModelfv(int pname, float[] params, int offset) {
397 checkThread();
398 mgl.glLightModelfv(pname, params, offset);
399 checkError();
402 public void glLightModelfv(int pname, FloatBuffer params) {
403 checkThread();
404 mgl.glLightModelfv(pname, params);
405 checkError();
408 public void glLightModelx(int pname, int param) {
409 checkThread();
410 mgl.glLightModelx(pname, param);
411 checkError();
414 public void glLightModelxv(int pname, int[] params, int offset) {
415 checkThread();
416 mgl.glLightModelxv(pname, params, offset);
417 checkError();
420 public void glLightModelxv(int pname, IntBuffer params) {
421 checkThread();
422 mgl.glLightModelxv(pname, params);
423 checkError();
426 public void glLightf(int light, int pname, float param) {
427 checkThread();
428 mgl.glLightf(light, pname, param);
429 checkError();
432 public void glLightfv(int light, int pname, float[] params, int offset) {
433 checkThread();
434 mgl.glLightfv(light, pname, params, offset);
435 checkError();
438 public void glLightfv(int light, int pname, FloatBuffer params) {
439 checkThread();
440 mgl.glLightfv(light, pname, params);
441 checkError();
444 public void glLightx(int light, int pname, int param) {
445 checkThread();
446 mgl.glLightx(light, pname, param);
447 checkError();
450 public void glLightxv(int light, int pname, int[] params, int offset) {
451 checkThread();
452 mgl.glLightxv(light, pname, params, offset);
453 checkError();
456 public void glLightxv(int light, int pname, IntBuffer params) {
457 checkThread();
458 mgl.glLightxv(light, pname, params);
459 checkError();
462 public void glLineWidth(float width) {
463 checkThread();
464 mgl.glLineWidth(width);
465 checkError();
468 public void glLineWidthx(int width) {
469 checkThread();
470 mgl.glLineWidthx(width);
471 checkError();
474 public void glLoadIdentity() {
475 checkThread();
476 mgl.glLoadIdentity();
477 checkError();
480 public void glLoadMatrixf(float[] m, int offset) {
481 checkThread();
482 mgl.glLoadMatrixf(m, offset);
483 checkError();
486 public void glLoadMatrixf(FloatBuffer m) {
487 checkThread();
488 mgl.glLoadMatrixf(m);
489 checkError();
492 public void glLoadMatrixx(int[] m, int offset) {
493 checkThread();
494 mgl.glLoadMatrixx(m, offset);
495 checkError();
498 public void glLoadMatrixx(IntBuffer m) {
499 checkThread();
500 mgl.glLoadMatrixx(m);
501 checkError();
504 public void glLogicOp(int opcode) {
505 checkThread();
506 mgl.glLogicOp(opcode);
507 checkError();
510 public void glMaterialf(int face, int pname, float param) {
511 checkThread();
512 mgl.glMaterialf(face, pname, param);
513 checkError();
516 public void glMaterialfv(int face, int pname, float[] params, int offset) {
517 checkThread();
518 mgl.glMaterialfv(face, pname, params, offset);
519 checkError();
522 public void glMaterialfv(int face, int pname, FloatBuffer params) {
523 checkThread();
524 mgl.glMaterialfv(face, pname, params);
525 checkError();
528 public void glMaterialx(int face, int pname, int param) {
529 checkThread();
530 mgl.glMaterialx(face, pname, param);
531 checkError();
534 public void glMaterialxv(int face, int pname, int[] params, int offset) {
535 checkThread();
536 mgl.glMaterialxv(face, pname, params, offset);
537 checkError();
540 public void glMaterialxv(int face, int pname, IntBuffer params) {
541 checkThread();
542 mgl.glMaterialxv(face, pname, params);
543 checkError();
546 public void glMatrixMode(int mode) {
547 checkThread();
548 mgl.glMatrixMode(mode);
549 checkError();
552 public void glMultMatrixf(float[] m, int offset) {
553 checkThread();
554 mgl.glMultMatrixf(m, offset);
555 checkError();
558 public void glMultMatrixf(FloatBuffer m) {
559 checkThread();
560 mgl.glMultMatrixf(m);
561 checkError();
564 public void glMultMatrixx(int[] m, int offset) {
565 checkThread();
566 mgl.glMultMatrixx(m, offset);
567 checkError();
570 public void glMultMatrixx(IntBuffer m) {
571 checkThread();
572 mgl.glMultMatrixx(m);
573 checkError();
576 public void glMultiTexCoord4f(int target,
577 float s, float t, float r, float q) {
578 checkThread();
579 mgl.glMultiTexCoord4f(target, s, t, r, q);
580 checkError();
583 public void glMultiTexCoord4x(int target, int s, int t, int r, int q) {
584 checkThread();
585 mgl.glMultiTexCoord4x(target, s, t, r, q);
586 checkError();
589 public void glNormal3f(float nx, float ny, float nz) {
590 checkThread();
591 mgl.glNormal3f(nx, ny, nz);
592 checkError();
595 public void glNormal3x(int nx, int ny, int nz) {
596 checkThread();
597 mgl.glNormal3x(nx, ny, nz);
598 checkError();
601 public void glNormalPointer(int type, int stride, Buffer pointer) {
602 checkThread();
603 mgl.glNormalPointer(type, stride, pointer);
604 checkError();
607 public void glOrthof(float left, float right, float bottom, float top,
608 float near, float far) {
609 checkThread();
610 mgl.glOrthof(left, right, bottom, top, near, far);
611 checkError();
614 public void glOrthox(int left, int right, int bottom, int top, int near,
615 int far) {
616 checkThread();
617 mgl.glOrthox(left, right, bottom, top, near, far);
618 checkError();
621 public void glPixelStorei(int pname, int param) {
622 checkThread();
623 mgl.glPixelStorei(pname, param);
624 checkError();
627 public void glPointSize(float size) {
628 checkThread();
629 mgl.glPointSize(size);
630 checkError();
633 public void glPointSizex(int size) {
634 checkThread();
635 mgl.glPointSizex(size);
636 checkError();
639 public void glPolygonOffset(float factor, float units) {
640 checkThread();
641 mgl.glPolygonOffset(factor, units);
642 checkError();
645 public void glPolygonOffsetx(int factor, int units) {
646 checkThread();
647 mgl.glPolygonOffsetx(factor, units);
648 checkError();
651 public void glPopMatrix() {
652 checkThread();
653 mgl.glPopMatrix();
654 checkError();
657 public void glPushMatrix() {
658 checkThread();
659 mgl.glPushMatrix();
660 checkError();
663 public void glReadPixels(int x, int y, int width, int height, int format,
664 int type, Buffer pixels) {
665 checkThread();
666 mgl.glReadPixels(x, y, width, height, format, type, pixels);
667 checkError();
670 public void glRotatef(float angle, float x, float y, float z) {
671 checkThread();
672 mgl.glRotatef(angle, x, y, z);
673 checkError();
676 public void glRotatex(int angle, int x, int y, int z) {
677 checkThread();
678 mgl.glRotatex(angle, x, y, z);
679 checkError();
682 public void glSampleCoverage(float value, boolean invert) {
683 checkThread();
684 mgl.glSampleCoverage(value, invert);
685 checkError();
688 public void glSampleCoveragex(int value, boolean invert) {
689 checkThread();
690 mgl.glSampleCoveragex(value, invert);
691 checkError();
694 public void glScalef(float x, float y, float z) {
695 checkThread();
696 mgl.glScalef(x, y, z);
697 checkError();
700 public void glScalex(int x, int y, int z) {
701 checkThread();
702 mgl.glScalex(x, y, z);
703 checkError();
706 public void glScissor(int x, int y, int width, int height) {
707 checkThread();
708 mgl.glScissor(x, y, width, height);
709 checkError();
712 public void glShadeModel(int mode) {
713 checkThread();
714 mgl.glShadeModel(mode);
715 checkError();
718 public void glStencilFunc(int func, int ref, int mask) {
719 checkThread();
720 mgl.glStencilFunc(func, ref, mask);
721 checkError();
724 public void glStencilMask(int mask) {
725 checkThread();
726 mgl.glStencilMask(mask);
727 checkError();
730 public void glStencilOp(int fail, int zfail, int zpass) {
731 checkThread();
732 mgl.glStencilOp(fail, zfail, zpass);
733 checkError();
736 public void glTexCoordPointer(int size, int type,
737 int stride, Buffer pointer) {
738 checkThread();
739 mgl.glTexCoordPointer(size, type, stride, pointer);
740 checkError();
743 public void glTexEnvf(int target, int pname, float param) {
744 checkThread();
745 mgl.glTexEnvf(target, pname, param);
746 checkError();
749 public void glTexEnvfv(int target, int pname, float[] params, int offset) {
750 checkThread();
751 mgl.glTexEnvfv(target, pname, params, offset);
752 checkError();
755 public void glTexEnvfv(int target, int pname, FloatBuffer params) {
756 checkThread();
757 mgl.glTexEnvfv(target, pname, params);
758 checkError();
761 public void glTexEnvx(int target, int pname, int param) {
762 checkThread();
763 mgl.glTexEnvx(target, pname, param);
764 checkError();
767 public void glTexEnvxv(int target, int pname, int[] params, int offset) {
768 checkThread();
769 mgl.glTexEnvxv(target, pname, params, offset);
770 checkError();
773 public void glTexEnvxv(int target, int pname, IntBuffer params) {
774 checkThread();
775 mgl.glTexEnvxv(target, pname, params);
776 checkError();
779 public void glTexImage2D(int target, int level, int internalformat,
780 int width, int height, int border, int format, int type,
781 Buffer pixels) {
782 checkThread();
783 mgl.glTexImage2D(target, level, internalformat, width, height, border,
784 format, type, pixels);
785 checkError();
788 public void glTexParameterf(int target, int pname, float param) {
789 checkThread();
790 mgl.glTexParameterf(target, pname, param);
791 checkError();
794 public void glTexParameterx(int target, int pname, int param) {
795 checkThread();
796 mgl.glTexParameterx(target, pname, param);
797 checkError();
800 public void glTexParameteriv(int target, int pname, int[] params, int offset) {
801 checkThread();
802 mgl11.glTexParameteriv(target, pname, params, offset);
803 checkError();
806 public void glTexParameteriv(int target, int pname, IntBuffer params) {
807 checkThread();
808 mgl11.glTexParameteriv(target, pname, params);
809 checkError();
812 public void glTexSubImage2D(int target, int level, int xoffset,
813 int yoffset, int width, int height, int format, int type,
814 Buffer pixels) {
815 checkThread();
816 mgl.glTexSubImage2D(target, level, xoffset, yoffset, width, height,
817 format, type, pixels);
818 checkError();
821 public void glTranslatef(float x, float y, float z) {
822 checkThread();
823 mgl.glTranslatef(x, y, z);
824 checkError();
827 public void glTranslatex(int x, int y, int z) {
828 checkThread();
829 mgl.glTranslatex(x, y, z);
830 checkError();
833 public void glVertexPointer(int size, int type,
834 int stride, Buffer pointer) {
835 checkThread();
836 mgl.glVertexPointer(size, type, stride, pointer);
837 checkError();
840 public void glViewport(int x, int y, int width, int height) {
841 checkThread();
842 mgl.glViewport(x, y, width, height);
843 checkError();
846 public void glClipPlanef(int plane, float[] equation, int offset) {
847 checkThread();
848 mgl11.glClipPlanef(plane, equation, offset);
849 checkError();
852 public void glClipPlanef(int plane, FloatBuffer equation) {
853 checkThread();
854 mgl11.glClipPlanef(plane, equation);
855 checkError();
858 public void glClipPlanex(int plane, int[] equation, int offset) {
859 checkThread();
860 mgl11.glClipPlanex(plane, equation, offset);
861 checkError();
864 public void glClipPlanex(int plane, IntBuffer equation) {
865 checkThread();
866 mgl11.glClipPlanex(plane, equation);
867 checkError();
870 // Draw Texture Extension
872 public void glDrawTexfOES(float x, float y, float z,
873 float width, float height) {
874 checkThread();
875 mgl11Ext.glDrawTexfOES(x, y, z, width, height);
876 checkError();
879 public void glDrawTexfvOES(float[] coords, int offset) {
880 checkThread();
881 mgl11Ext.glDrawTexfvOES(coords, offset);
882 checkError();
885 public void glDrawTexfvOES(FloatBuffer coords) {
886 checkThread();
887 mgl11Ext.glDrawTexfvOES(coords);
888 checkError();
891 public void glDrawTexiOES(int x, int y, int z, int width, int height) {
892 checkThread();
893 mgl11Ext.glDrawTexiOES(x, y, z, width, height);
894 checkError();
897 public void glDrawTexivOES(int[] coords, int offset) {
898 checkThread();
899 mgl11Ext.glDrawTexivOES(coords, offset);
900 checkError();
903 public void glDrawTexivOES(IntBuffer coords) {
904 checkThread();
905 mgl11Ext.glDrawTexivOES(coords);
906 checkError();
909 public void glDrawTexsOES(short x, short y, short z,
910 short width, short height) {
911 checkThread();
912 mgl11Ext.glDrawTexsOES(x, y, z, width, height);
913 checkError();
916 public void glDrawTexsvOES(short[] coords, int offset) {
917 checkThread();
918 mgl11Ext.glDrawTexsvOES(coords, offset);
919 checkError();
922 public void glDrawTexsvOES(ShortBuffer coords) {
923 checkThread();
924 mgl11Ext.glDrawTexsvOES(coords);
925 checkError();
928 public void glDrawTexxOES(int x, int y, int z, int width, int height) {
929 checkThread();
930 mgl11Ext.glDrawTexxOES(x, y, z, width, height);
931 checkError();
934 public void glDrawTexxvOES(int[] coords, int offset) {
935 checkThread();
936 mgl11Ext.glDrawTexxvOES(coords, offset);
937 checkError();
940 public void glDrawTexxvOES(IntBuffer coords) {
941 checkThread();
942 mgl11Ext.glDrawTexxvOES(coords);
943 checkError();
946 public int glQueryMatrixxOES(int[] mantissa, int mantissaOffset,
947 int[] exponent, int exponentOffset) {
948 checkThread();
949 int valid = mgl10Ext.glQueryMatrixxOES(mantissa, mantissaOffset,
950 exponent, exponentOffset);
951 checkError();
952 return valid;
955 public int glQueryMatrixxOES(IntBuffer mantissa, IntBuffer exponent) {
956 checkThread();
957 int valid = mgl10Ext.glQueryMatrixxOES(mantissa, exponent);
958 checkError();
959 return valid;
962 public void glBindBuffer(int target, int buffer) {
963 checkThread();
964 mgl11.glBindBuffer(target, buffer);
965 checkError();
968 public void glBufferData(int target, int size, Buffer data, int usage) {
969 checkThread();
970 mgl11.glBufferData(target, size, data, usage);
971 checkError();
974 public void glBufferSubData(int target, int offset, int size, Buffer data) {
975 checkThread();
976 mgl11.glBufferSubData(target, offset, size, data);
977 checkError();
980 public void glColor4ub(byte red, byte green, byte blue, byte alpha) {
981 checkThread();
982 mgl11.glColor4ub(red, green, blue, alpha);
983 checkError(); }
985 public void glColorPointer(int size, int type, int stride, int offset) {
986 checkThread();
987 mgl11.glColorPointer(size, type, stride, offset);
988 checkError();
991 public void glDeleteBuffers(int n, int[] buffers, int offset) {
992 checkThread();
993 mgl11.glDeleteBuffers(n, buffers, offset);
994 checkError();
997 public void glDeleteBuffers(int n, IntBuffer buffers) {
998 checkThread();
999 mgl11.glDeleteBuffers(n, buffers);
1000 checkError();
1003 public void glDrawElements(int mode, int count, int type, int offset) {
1004 checkThread();
1005 mgl11.glDrawElements(mode, count, type, offset);
1006 checkError();
1009 public void glGenBuffers(int n, int[] buffers, int offset) {
1010 checkThread();
1011 mgl11.glGenBuffers(n, buffers, offset);
1012 checkError();
1015 public void glGenBuffers(int n, IntBuffer buffers) {
1016 checkThread();
1017 mgl11.glGenBuffers(n, buffers);
1018 checkError();
1021 public void glGetBooleanv(int pname, boolean[] params, int offset) {
1022 checkThread();
1023 mgl11.glGetBooleanv(pname, params, offset);
1024 checkError();
1027 public void glGetBooleanv(int pname, IntBuffer params) {
1028 checkThread();
1029 mgl11.glGetBooleanv(pname, params);
1030 checkError();
1033 public void glGetBufferParameteriv(int target, int pname, int[] params,
1034 int offset) {
1035 checkThread();
1036 mgl11.glGetBufferParameteriv(target, pname, params, offset);
1037 checkError();
1040 public void glGetBufferParameteriv(int target, int pname, IntBuffer params) {
1041 checkThread();
1042 mgl11.glGetBufferParameteriv(target, pname, params);
1043 checkError();
1046 public void glGetClipPlanef(int pname, float[] eqn, int offset) {
1047 checkThread();
1048 mgl11.glGetClipPlanef(pname, eqn, offset);
1049 checkError();
1052 public void glGetClipPlanef(int pname, FloatBuffer eqn) {
1053 checkThread();
1054 mgl11.glGetClipPlanef(pname, eqn);
1055 checkError();
1058 public void glGetClipPlanex(int pname, int[] eqn, int offset) {
1059 checkThread();
1060 mgl11.glGetClipPlanex(pname, eqn, offset);
1061 checkError();
1064 public void glGetClipPlanex(int pname, IntBuffer eqn) {
1065 checkThread();
1066 mgl11.glGetClipPlanex(pname, eqn);
1067 checkError();
1070 public void glGetFixedv(int pname, int[] params, int offset) {
1071 checkThread();
1072 mgl11.glGetFixedv(pname, params, offset);
1073 checkError();
1076 public void glGetFixedv(int pname, IntBuffer params) {
1077 checkThread();
1078 mgl11.glGetFixedv(pname, params);
1079 checkError();
1082 public void glGetFloatv(int pname, float[] params, int offset) {
1083 checkThread();
1084 mgl11.glGetFloatv(pname, params, offset);
1085 checkError();
1088 public void glGetFloatv(int pname, FloatBuffer params) {
1089 checkThread();
1090 mgl11.glGetFloatv(pname, params);
1091 checkError();
1094 public void glGetLightfv(int light, int pname, float[] params, int offset) {
1095 checkThread();
1096 mgl11.glGetLightfv(light, pname, params, offset);
1097 checkError();
1100 public void glGetLightfv(int light, int pname, FloatBuffer params) {
1101 checkThread();
1102 mgl11.glGetLightfv(light, pname, params);
1103 checkError();
1106 public void glGetLightxv(int light, int pname, int[] params, int offset) {
1107 checkThread();
1108 mgl11.glGetLightxv(light, pname, params, offset);
1109 checkError();
1112 public void glGetLightxv(int light, int pname, IntBuffer params) {
1113 checkThread();
1114 mgl11.glGetLightxv(light, pname, params);
1115 checkError();
1118 public void glGetMaterialfv(int face, int pname, float[] params, int offset) {
1119 checkThread();
1120 mgl11.glGetMaterialfv(face, pname, params, offset);
1121 checkError();
1124 public void glGetMaterialfv(int face, int pname, FloatBuffer params) {
1125 checkThread();
1126 mgl11.glGetMaterialfv(face, pname, params);
1127 checkError();
1130 public void glGetMaterialxv(int face, int pname, int[] params, int offset) {
1131 checkThread();
1132 mgl11.glGetMaterialxv(face, pname, params, offset);
1133 checkError();
1136 public void glGetMaterialxv(int face, int pname, IntBuffer params) {
1137 checkThread();
1138 mgl11.glGetMaterialxv(face, pname, params);
1139 checkError();
1142 public void glGetPointerv(int pname, Buffer[] params) {
1143 checkThread();
1144 mgl11.glGetPointerv(pname, params);
1145 checkError();
1148 public void glGetTexEnviv(int env, int pname, int[] params, int offset) {
1149 checkThread();
1150 mgl11.glGetTexEnviv(env, pname, params, offset);
1151 checkError();
1154 public void glGetTexEnviv(int env, int pname, IntBuffer params) {
1155 checkThread();
1156 mgl11.glGetTexEnviv(env, pname, params);
1157 checkError();
1160 public void glGetTexEnvxv(int env, int pname, int[] params, int offset) {
1161 checkThread();
1162 mgl11.glGetTexEnvxv(env, pname, params, offset);
1163 checkError();
1166 public void glGetTexEnvxv(int env, int pname, IntBuffer params) {
1167 checkThread();
1168 mgl11.glGetTexEnvxv(env, pname, params);
1169 checkError();
1172 public void glGetTexParameterfv(int target, int pname, float[] params,
1173 int offset) {
1174 checkThread();
1175 mgl11.glGetTexParameterfv(target, pname, params, offset);
1176 checkError();
1179 public void glGetTexParameterfv(int target, int pname, FloatBuffer params) {
1180 checkThread();
1181 mgl11.glGetTexParameterfv(target, pname, params);
1182 checkError();
1185 public void glGetTexParameteriv(int target, int pname, int[] params,
1186 int offset) {
1187 checkThread();
1188 mgl11.glGetTexParameteriv(target, pname, params, offset);
1189 checkError();
1192 public void glGetTexParameteriv(int target, int pname, IntBuffer params) {
1193 checkThread();
1194 mgl11.glGetTexParameteriv(target, pname, params);
1195 checkError();
1198 public void glGetTexParameterxv(int target, int pname, int[] params,
1199 int offset) {
1200 checkThread();
1201 mgl11.glGetTexParameterxv(target, pname, params, offset);
1202 checkError();
1205 public void glGetTexParameterxv(int target, int pname, IntBuffer params) {
1206 checkThread();
1207 mgl11.glGetTexParameterxv(target, pname, params);
1208 checkError();
1211 public boolean glIsBuffer(int buffer) {
1212 checkThread();
1213 boolean valid = mgl11.glIsBuffer(buffer);
1214 checkError();
1215 return valid;
1218 public boolean glIsEnabled(int cap) {
1219 checkThread();
1220 boolean valid = mgl11.glIsEnabled(cap);
1221 checkError();
1222 return valid;
1225 public boolean glIsTexture(int texture) {
1226 checkThread();
1227 boolean valid = mgl11.glIsTexture(texture);
1228 checkError();
1229 return valid;
1232 public void glNormalPointer(int type, int stride, int offset) {
1233 checkThread();
1234 mgl11.glNormalPointer(type, stride, offset);
1235 checkError();
1238 public void glPointParameterf(int pname, float param) {
1239 checkThread();
1240 mgl11.glPointParameterf(pname, param);
1241 checkError();
1244 public void glPointParameterfv(int pname, float[] params, int offset) {
1245 checkThread();
1246 mgl11.glPointParameterfv(pname, params, offset);
1247 checkError();
1250 public void glPointParameterfv(int pname, FloatBuffer params) {
1251 checkThread();
1252 mgl11.glPointParameterfv(pname, params);
1253 checkError();
1256 public void glPointParameterx(int pname, int param) {
1257 checkThread();
1258 mgl11.glPointParameterx(pname, param);
1259 checkError();
1262 public void glPointParameterxv(int pname, int[] params, int offset) {
1263 checkThread();
1264 mgl11.glPointParameterxv(pname, params, offset);
1265 checkError();
1268 public void glPointParameterxv(int pname, IntBuffer params) {
1269 checkThread();
1270 mgl11.glPointParameterxv(pname, params);
1271 checkError();
1274 public void glPointSizePointerOES(int type, int stride, Buffer pointer) {
1275 checkThread();
1276 mgl11.glPointSizePointerOES(type, stride, pointer);
1277 checkError();
1280 public void glTexCoordPointer(int size, int type, int stride, int offset) {
1281 checkThread();
1282 mgl11.glTexCoordPointer(size, type, stride, offset);
1283 checkError();
1286 public void glTexEnvi(int target, int pname, int param) {
1287 checkThread();
1288 mgl11.glTexEnvi(target, pname, param);
1289 checkError();
1292 public void glTexEnviv(int target, int pname, int[] params, int offset) {
1293 checkThread();
1294 mgl11.glTexEnviv(target, pname, params, offset);
1295 checkError();
1298 public void glTexEnviv(int target, int pname, IntBuffer params) {
1299 checkThread();
1300 mgl11.glTexEnviv(target, pname, params);
1301 checkError();
1304 public void glTexParameterfv(int target, int pname, float[] params,
1305 int offset) {
1306 checkThread();
1307 mgl11.glTexParameterfv(target, pname, params, offset);
1308 checkError();
1311 public void glTexParameterfv(int target, int pname, FloatBuffer params) {
1312 checkThread();
1313 mgl11.glTexParameterfv(target, pname, params);
1314 checkError();
1317 public void glTexParameteri(int target, int pname, int param) {
1318 checkThread();
1319 mgl11.glTexParameteri(target, pname, param);
1320 checkError();
1323 public void glTexParameterxv(int target, int pname, int[] params, int offset) {
1324 checkThread();
1325 mgl11.glTexParameterxv(target, pname, params, offset);
1326 checkError();
1329 public void glTexParameterxv(int target, int pname, IntBuffer params) {
1330 checkThread();
1331 mgl11.glTexParameterxv(target, pname, params);
1332 checkError();
1335 public void glVertexPointer(int size, int type, int stride, int offset) {
1336 checkThread();
1337 mgl11.glVertexPointer(size, type, stride, offset);
1338 checkError();
1341 public void glCurrentPaletteMatrixOES(int matrixpaletteindex) {
1342 checkThread();
1343 mgl11Ext.glCurrentPaletteMatrixOES(matrixpaletteindex);
1344 checkError();
1347 public void glLoadPaletteFromModelViewMatrixOES() {
1348 checkThread();
1349 mgl11Ext.glLoadPaletteFromModelViewMatrixOES();
1350 checkError();
1353 public void glMatrixIndexPointerOES(int size, int type, int stride,
1354 Buffer pointer) {
1355 checkThread();
1356 mgl11Ext.glMatrixIndexPointerOES(size, type, stride, pointer);
1357 checkError();
1360 public void glMatrixIndexPointerOES(int size, int type, int stride,
1361 int offset) {
1362 checkThread();
1363 mgl11Ext.glMatrixIndexPointerOES(size, type, stride, offset);
1364 checkError();
1367 public void glWeightPointerOES(int size, int type, int stride,
1368 Buffer pointer) {
1369 checkThread();
1370 mgl11Ext.glWeightPointerOES(size, type, stride, pointer);
1371 checkError();
1374 public void glWeightPointerOES(int size, int type, int stride, int offset) {
1375 checkThread();
1376 mgl11Ext.glWeightPointerOES(size, type, stride, offset);
1377 checkError();
1380 @Override
1381 public void glBindFramebufferOES(int target, int framebuffer) {
1382 checkThread();
1383 mgl11ExtensionPack.glBindFramebufferOES(target, framebuffer);
1384 checkError();
1387 @Override
1388 public void glBindRenderbufferOES(int target, int renderbuffer) {
1389 checkThread();
1390 mgl11ExtensionPack.glBindRenderbufferOES(target, renderbuffer);
1391 checkError();
1394 @Override
1395 public void glBlendEquation(int mode) {
1396 checkThread();
1397 mgl11ExtensionPack.glBlendEquation(mode);
1398 checkError();
1401 @Override
1402 public void glBlendEquationSeparate(int modeRGB, int modeAlpha) {
1403 checkThread();
1404 mgl11ExtensionPack.glBlendEquationSeparate(modeRGB, modeAlpha);
1405 checkError();
1408 @Override
1409 public void glBlendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha,
1410 int dstAlpha) {
1411 checkThread();
1412 mgl11ExtensionPack.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
1413 checkError();
1416 @Override
1417 public int glCheckFramebufferStatusOES(int target) {
1418 checkThread();
1419 int result = mgl11ExtensionPack.glCheckFramebufferStatusOES(target);
1420 checkError();
1421 return result;
1424 @Override
1425 public void glDeleteFramebuffersOES(int n, int[] framebuffers, int offset) {
1426 checkThread();
1427 mgl11ExtensionPack.glDeleteFramebuffersOES(n, framebuffers, offset);
1428 checkError();
1431 @Override
1432 public void glDeleteFramebuffersOES(int n, IntBuffer framebuffers) {
1433 checkThread();
1434 mgl11ExtensionPack.glDeleteFramebuffersOES(n, framebuffers);
1435 checkError();
1438 @Override
1439 public void glDeleteRenderbuffersOES(int n, int[] renderbuffers, int offset) {
1440 checkThread();
1441 mgl11ExtensionPack.glDeleteRenderbuffersOES(n, renderbuffers, offset);
1442 checkError();
1445 @Override
1446 public void glDeleteRenderbuffersOES(int n, IntBuffer renderbuffers) {
1447 checkThread();
1448 mgl11ExtensionPack.glDeleteRenderbuffersOES(n, renderbuffers);
1449 checkError();
1452 @Override
1453 public void glFramebufferRenderbufferOES(int target, int attachment,
1454 int renderbuffertarget, int renderbuffer) {
1455 checkThread();
1456 mgl11ExtensionPack.glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
1457 checkError();
1460 @Override
1461 public void glFramebufferTexture2DOES(int target, int attachment,
1462 int textarget, int texture, int level) {
1463 checkThread();
1464 mgl11ExtensionPack.glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
1465 checkError();
1468 @Override
1469 public void glGenerateMipmapOES(int target) {
1470 checkThread();
1471 mgl11ExtensionPack.glGenerateMipmapOES(target);
1472 checkError();
1475 @Override
1476 public void glGenFramebuffersOES(int n, int[] framebuffers, int offset) {
1477 checkThread();
1478 mgl11ExtensionPack.glGenFramebuffersOES(n, framebuffers, offset);
1479 checkError();
1482 @Override
1483 public void glGenFramebuffersOES(int n, IntBuffer framebuffers) {
1484 checkThread();
1485 mgl11ExtensionPack.glGenFramebuffersOES(n, framebuffers);
1486 checkError();
1489 @Override
1490 public void glGenRenderbuffersOES(int n, int[] renderbuffers, int offset) {
1491 checkThread();
1492 mgl11ExtensionPack.glGenRenderbuffersOES(n, renderbuffers, offset);
1493 checkError();
1496 @Override
1497 public void glGenRenderbuffersOES(int n, IntBuffer renderbuffers) {
1498 checkThread();
1499 mgl11ExtensionPack.glGenRenderbuffersOES(n, renderbuffers);
1500 checkError();
1503 @Override
1504 public void glGetFramebufferAttachmentParameterivOES(int target,
1505 int attachment, int pname, int[] params, int offset) {
1506 checkThread();
1507 mgl11ExtensionPack.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params, offset);
1508 checkError();
1511 @Override
1512 public void glGetFramebufferAttachmentParameterivOES(int target,
1513 int attachment, int pname, IntBuffer params) {
1514 checkThread();
1515 mgl11ExtensionPack.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
1516 checkError();
1519 @Override
1520 public void glGetRenderbufferParameterivOES(int target, int pname,
1521 int[] params, int offset) {
1522 checkThread();
1523 mgl11ExtensionPack.glGetRenderbufferParameterivOES(target, pname, params, offset);
1524 checkError();
1527 @Override
1528 public void glGetRenderbufferParameterivOES(int target, int pname,
1529 IntBuffer params) {
1530 checkThread();
1531 mgl11ExtensionPack.glGetRenderbufferParameterivOES(target, pname, params);
1532 checkError();
1535 @Override
1536 public void glGetTexGenfv(int coord, int pname, float[] params, int offset) {
1537 checkThread();
1538 mgl11ExtensionPack.glGetTexGenfv(coord, pname, params, offset);
1539 checkError();
1542 @Override
1543 public void glGetTexGenfv(int coord, int pname, FloatBuffer params) {
1544 checkThread();
1545 mgl11ExtensionPack.glGetTexGenfv(coord, pname, params);
1546 checkError();
1549 @Override
1550 public void glGetTexGeniv(int coord, int pname, int[] params, int offset) {
1551 checkThread();
1552 mgl11ExtensionPack.glGetTexGeniv(coord, pname, params, offset);
1553 checkError();
1556 @Override
1557 public void glGetTexGeniv(int coord, int pname, IntBuffer params) {
1558 checkThread();
1559 mgl11ExtensionPack.glGetTexGeniv(coord, pname, params);
1560 checkError();
1563 @Override
1564 public void glGetTexGenxv(int coord, int pname, int[] params, int offset) {
1565 checkThread();
1566 mgl11ExtensionPack.glGetTexGenxv(coord, pname, params, offset);
1567 checkError();
1570 @Override
1571 public void glGetTexGenxv(int coord, int pname, IntBuffer params) {
1572 checkThread();
1573 mgl11ExtensionPack.glGetTexGenxv(coord, pname, params);
1574 checkError();
1577 @Override
1578 public boolean glIsFramebufferOES(int framebuffer) {
1579 checkThread();
1580 boolean result = mgl11ExtensionPack.glIsFramebufferOES(framebuffer);
1581 checkError();
1582 return result;
1585 @Override
1586 public boolean glIsRenderbufferOES(int renderbuffer) {
1587 checkThread();
1588 mgl11ExtensionPack.glIsRenderbufferOES(renderbuffer);
1589 checkError();
1590 return false;
1593 @Override
1594 public void glRenderbufferStorageOES(int target, int internalformat,
1595 int width, int height) {
1596 checkThread();
1597 mgl11ExtensionPack.glRenderbufferStorageOES(target, internalformat, width, height);
1598 checkError();
1601 @Override
1602 public void glTexGenf(int coord, int pname, float param) {
1603 checkThread();
1604 mgl11ExtensionPack.glTexGenf(coord, pname, param);
1605 checkError();
1608 @Override
1609 public void glTexGenfv(int coord, int pname, float[] params, int offset) {
1610 checkThread();
1611 mgl11ExtensionPack.glTexGenfv(coord, pname, params, offset);
1612 checkError();
1615 @Override
1616 public void glTexGenfv(int coord, int pname, FloatBuffer params) {
1617 checkThread();
1618 mgl11ExtensionPack.glTexGenfv(coord, pname, params);
1619 checkError();
1622 @Override
1623 public void glTexGeni(int coord, int pname, int param) {
1624 checkThread();
1625 mgl11ExtensionPack.glTexGeni(coord, pname, param);
1626 checkError();
1629 @Override
1630 public void glTexGeniv(int coord, int pname, int[] params, int offset) {
1631 checkThread();
1632 mgl11ExtensionPack.glTexGeniv(coord, pname, params, offset);
1633 checkError();
1636 @Override
1637 public void glTexGeniv(int coord, int pname, IntBuffer params) {
1638 checkThread();
1639 mgl11ExtensionPack.glTexGeniv(coord, pname, params);
1640 checkError();
1643 @Override
1644 public void glTexGenx(int coord, int pname, int param) {
1645 checkThread();
1646 mgl11ExtensionPack.glTexGenx(coord, pname, param);
1647 checkError();
1650 @Override
1651 public void glTexGenxv(int coord, int pname, int[] params, int offset) {
1652 checkThread();
1653 mgl11ExtensionPack.glTexGenxv(coord, pname, params, offset);
1654 checkError();
1657 @Override
1658 public void glTexGenxv(int coord, int pname, IntBuffer params) {
1659 checkThread();
1660 mgl11ExtensionPack.glTexGenxv(coord, pname, params);
1661 checkError();