![]() |
![]() |
com.android.ide.eclipse.gldebugger_22.6.2.20140321201816:34:13.795 INFO jd.cli.Main - Decompiling com.android.ide.eclipse.gldebugger_22.6.2.201403212018.jar package com.android.ide.eclipse.gltrace; import com.android.ddmlib.Client; import com.android.ddmlib.IDevice; import java.util.concurrent.Callable; class CollectTraceAction$1 implements Callable<Boolean> { CollectTraceAction$1(CollectTraceAction paramCollectTraceAction, IDevice paramIDevice, String paramString) {} public Boolean call() throws Exception { Client localClient; do { localClient = val$device.getClient(val$appName); } while (localClient == null); return Boolean.TRUE; } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.CollectTraceAction.1 * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.android.ddmlib.Client; import com.android.ddmlib.IDevice; import java.util.concurrent.Callable; class CollectTraceAction$2 implements Callable<Boolean> { CollectTraceAction$2(CollectTraceAction paramCollectTraceAction, IDevice paramIDevice, String paramString) {} public Boolean call() throws Exception { Client localClient; while ((localClient = val$device.getClient(val$appName)) != null) { localClient.kill(); } return Boolean.TRUE; } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.CollectTraceAction.2 * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.android.ddmlib.IShellOutputReceiver; import java.util.concurrent.Semaphore; class CollectTraceAction$StartActivityOutputReceiver implements IShellOutputReceiver { private Semaphore mSemaphore; private StringBuffer sb = new StringBuffer(300); public CollectTraceAction$StartActivityOutputReceiver(Semaphore paramSemaphore) { mSemaphore = paramSemaphore; } public void addOutput(byte[] paramArrayOfByte, int paramInt1, int paramInt2) { String str = new String(paramArrayOfByte, paramInt1, paramInt2); sb.append(str); } public void flush() { mSemaphore.release(); } public boolean isCancelled() { return false; } public String getOutput() { return sb.toString(); } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.CollectTraceAction.StartActivityOutputReceiver * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.android.ddmlib.AdbCommandRejectedException; import com.android.ddmlib.AndroidDebugBridge; import com.android.ddmlib.Client; import com.android.ddmlib.IDevice; import com.android.ddmlib.IDevice.DeviceUnixSocketNamespace; import com.android.ddmlib.IShellOutputReceiver; import com.android.ddmlib.ShellCommandUnresponsiveException; import com.android.ddmlib.TimeoutException; import com.android.ide.eclipse.gltrace.editors.GLFunctionTraceViewer; import com.google.common.io.Closeables; import com.google.common.util.concurrent.SimpleTimeLimiter; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; import java.net.URI; import java.util.concurrent.Callable; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import org.eclipse.core.filesystem.EFS; import org.eclipse.core.filesystem.IFileInfo; import org.eclipse.core.filesystem.IFileStore; import org.eclipse.core.filesystem.IFileSystem; import org.eclipse.core.runtime.Path; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IURIEditorInput; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.WorkbenchException; import org.eclipse.ui.ide.IDE; public class CollectTraceAction implements IWorkbenchWindowActionDelegate { private static final String GLTRACE_UDS = "gltrace"; private static final int LOCAL_FORWARDED_PORT = 6039; private static final String SYSTEM_APP = "system"; private static final int LAUNCH_TIMEOUT = 5; private static final int KILL_TIMEOUT = 5; private static final int MIN_API_LEVEL = 16; public void run(IAction paramIAction) { connectToDevice(); } public void selectionChanged(IAction paramIAction, ISelection paramISelection) {} public void dispose() {} public void init(IWorkbenchWindow paramIWorkbenchWindow) {} private void connectToDevice() { Shell localShell = Display.getDefault().getActiveShell(); GLTraceOptionsDialog localGLTraceOptionsDialog = new GLTraceOptionsDialog(localShell); if (localGLTraceOptionsDialog.open() != 0) { return; } TraceOptions localTraceOptions = localGLTraceOptionsDialog.getTraceOptions(); IDevice localIDevice = getDevice(device); String str = localIDevice.getProperty("ro.build.version.sdk"); int i; try { i = Integer.parseInt(str); } catch (NumberFormatException localNumberFormatException) { i = 16; } if (i < 16) { MessageDialog.openError(localShell, "GL Trace", String.format("OpenGL Tracing is only supported on devices at API Level %1$d.The selected device '%2$s' provides API level %3$s.", new Object[] { Integer.valueOf(16), device, str })); return; } try { setupForwarding(localIDevice, 6039); } catch (Exception localException1) { MessageDialog.openError(localShell, "Setup GL Trace", "Error while setting up port forwarding: " + localException1.getMessage()); return; } try { if (!"system".equals(appToTrace)) { startActivity(localIDevice, appToTrace, activityToTrace, isActivityNameFullyQualified); } } catch (Exception localException2) { MessageDialog.openError(localShell, "Setup GL Trace", "Error while launching application: " + localException2.getMessage()); return; } startTracing(localShell, localTraceOptions, 6039); disablePortForwarding(localIDevice, 6039); openInEditor(localShell, traceDestination); } public static void openInEditor(Shell paramShell, String paramString) { IFileStore localIFileStore = EFS.getLocalFileSystem().getStore(new Path(paramString)); if (!localIFileStore.fetchInfo().exists()) { return; } IWorkbench localIWorkbench = PlatformUI.getWorkbench(); IWorkbenchWindow localIWorkbenchWindow = localIWorkbench.getActiveWorkbenchWindow(); if (localIWorkbenchWindow == null) { return; } IWorkbenchPage localIWorkbenchPage = localIWorkbenchWindow.getActivePage(); if (localIWorkbenchPage == null) { return; } try { localIWorkbench.showPerspective("com.android.ide.eclipse.gltrace.perspective", localIWorkbenchWindow); } catch (WorkbenchException localWorkbenchException) {} GLFunctionTraceViewer localGLFunctionTraceViewer = getOpenTraceViewer(localIWorkbenchPage, paramString); if (localGLFunctionTraceViewer != null) { localGLFunctionTraceViewer.setInput(paramShell, paramString); } try { IDE.openEditorOnFileStore(localIWorkbenchPage, localIFileStore); } catch (PartInitException localPartInitException) { GlTracePlugin.getDefault().logMessage("Unexpected error while opening gltrace file in editor: " + localPartInitException); return; } } private static GLFunctionTraceViewer getOpenTraceViewer(IWorkbenchPage paramIWorkbenchPage, String paramString) { IEditorReference[] arrayOfIEditorReference1 = paramIWorkbenchPage.getEditorReferences(); IEditorReference[] arrayOfIEditorReference2; int j = (arrayOfIEditorReference2 = arrayOfIEditorReference1).length; for (int i = 0; i < j; i++) { IEditorReference localIEditorReference = arrayOfIEditorReference2[i]; String str = localIEditorReference.getId(); if ("com.android.ide.eclipse.gltrace.GLFunctionTrace".equals(str)) { IEditorInput localIEditorInput = null; try { localIEditorInput = localIEditorReference.getEditorInput(); } catch (PartInitException localPartInitException) { continue; } if (((localIEditorInput instanceof IURIEditorInput)) && (paramString.equals(((IURIEditorInput)localIEditorInput).getURI().getPath()))) { return (GLFunctionTraceViewer)localIEditorReference.getEditor(true); } } } return null; } public static void startTracing(Shell paramShell, TraceOptions paramTraceOptions, int paramInt) { FileOutputStream localFileOutputStream = null; try { localFileOutputStream = new FileOutputStream(traceDestination, false); } catch (FileNotFoundException localFileNotFoundException) {} Socket localSocket = new Socket(); DataInputStream localDataInputStream = null; DataOutputStream localDataOutputStream = null; try { localSocket.connect(new InetSocketAddress("127.0.0.1", paramInt)); localSocket.setTcpNoDelay(true); localDataInputStream = new DataInputStream(localSocket.getInputStream()); localDataOutputStream = new DataOutputStream(localSocket.getOutputStream()); } catch (IOException localIOException1) { MessageDialog.openError(paramShell, "OpenGL Trace", "Unable to connect to remote GL Trace Server: " + localIOException1.getMessage()); Closeables.closeQuietly(localFileOutputStream); return; } TraceCommandWriter localTraceCommandWriter = new TraceCommandWriter(localDataOutputStream); try { localTraceCommandWriter.setTraceOptions(collectFbOnEglSwap, collectFbOnGlDraw, collectTextureData); } catch (IOException localIOException2) { MessageDialog.openError(paramShell, "OpenGL Trace", "Unexpected error while setting trace options: " + localIOException2.getMessage()); closeSocket(localSocket); Closeables.closeQuietly(localFileOutputStream); return; } TraceFileWriter localTraceFileWriter = new TraceFileWriter(localFileOutputStream, localDataInputStream); localTraceFileWriter.start(); GLTraceCollectorDialog localGLTraceCollectorDialog = new GLTraceCollectorDialog(paramShell, localTraceFileWriter, localTraceCommandWriter, paramTraceOptions); localGLTraceCollectorDialog.open(); localTraceFileWriter.stopTracing(); localTraceCommandWriter.close(); closeSocket(localSocket); } private static void closeSocket(Socket paramSocket) { try { paramSocket.close(); } catch (IOException localIOException) {} } private void startActivity(IDevice paramIDevice, String paramString1, String paramString2, boolean paramBoolean) throws TimeoutException, AdbCommandRejectedException, ShellCommandUnresponsiveException, IOException, InterruptedException { killApp(paramIDevice, paramString1); waitUntilAppKilled(paramIDevice, paramString1, 5); StringBuilder localStringBuilder = new StringBuilder(paramString1); if (!paramString2.isEmpty()) { localStringBuilder.append('/'); if (!paramBoolean) { localStringBuilder.append('.'); } localStringBuilder.append(paramString2); } String str1 = String.format("am start --opengl-trace %s -a android.intent.action.MAIN -c android.intent.category.LAUNCHER", new Object[] { localStringBuilder.toString() }); Semaphore localSemaphore = new Semaphore(0); StartActivityOutputReceiver localStartActivityOutputReceiver = new StartActivityOutputReceiver(localSemaphore); paramIDevice.executeShellCommand(str1, localStartActivityOutputReceiver); localSemaphore.acquire(); String str2 = localStartActivityOutputReceiver.getOutput(); if (str2.contains("Error")) { throw new RuntimeException(str2); } waitUntilAppLaunched(paramIDevice, paramString1, 5); } private void killApp(IDevice paramIDevice, String paramString) { Client localClient = paramIDevice.getClient(paramString); if (localClient != null) { localClient.kill(); } } private void waitUntilAppLaunched(final IDevice paramIDevice, final String paramString, int paramInt) { Callable local1 = new Callable() { public Boolean call() throws Exception { Client localClient; do { localClient = paramIDevice.getClient(paramString); } while (localClient == null); return Boolean.TRUE; } }; try { new SimpleTimeLimiter().callWithTimeout(local1, paramInt, TimeUnit.SECONDS, true); } catch (Exception localException) { throw new RuntimeException("Timed out waiting for application to launch."); } try { Thread.sleep(2000L); } catch (InterruptedException localInterruptedException) {} } private void waitUntilAppKilled(final IDevice paramIDevice, final String paramString, int paramInt) { Callable local2 = new Callable() { public Boolean call() throws Exception { Client localClient; while ((localClient = paramIDevice.getClient(paramString)) != null) { localClient.kill(); } return Boolean.TRUE; } }; try { new SimpleTimeLimiter().callWithTimeout(local2, paramInt, TimeUnit.SECONDS, true); } catch (Exception localException) { throw new RuntimeException("Timed out waiting for running application to die."); } } public static void setupForwarding(IDevice paramIDevice, int paramInt) throws TimeoutException, AdbCommandRejectedException, IOException { paramIDevice.createForward(paramInt, "gltrace", IDevice.DeviceUnixSocketNamespace.ABSTRACT); } public static void disablePortForwarding(IDevice paramIDevice, int paramInt) { try { paramIDevice.removeForward(paramInt, "gltrace", IDevice.DeviceUnixSocketNamespace.ABSTRACT); } catch (Exception localException) {} } private IDevice getDevice(String paramString) { IDevice[] arrayOfIDevice1 = AndroidDebugBridge.getBridge().getDevices(); IDevice[] arrayOfIDevice2; int j = (arrayOfIDevice2 = arrayOfIDevice1).length; for (int i = 0; i < j; i++) { IDevice localIDevice = arrayOfIDevice2[i]; if (localIDevice.getName().equals(paramString)) { return localIDevice; } } return null; } private static class StartActivityOutputReceiver implements IShellOutputReceiver { private Semaphore mSemaphore; private StringBuffer sb = new StringBuffer(300); public StartActivityOutputReceiver(Semaphore paramSemaphore) { mSemaphore = paramSemaphore; } public void addOutput(byte[] paramArrayOfByte, int paramInt1, int paramInt2) { String str = new String(paramArrayOfByte, paramInt1, paramInt2); sb.append(str); } public void flush() { mSemaphore.release(); } public boolean isCancelled() { return false; } public String getOutput() { return sb.toString(); } } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.CollectTraceAction * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.operation.IRunnableWithProgress; class DeviceViewAction$StartTraceAction$1 implements IRunnableWithProgress { DeviceViewAction$StartTraceAction$1(DeviceViewAction.StartTraceAction paramStartTraceAction) {} public void run(IProgressMonitor paramIProgressMonitor) throws InvocationTargetException, InterruptedException { Thread.sleep(3000L); } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.DeviceViewAction.StartTraceAction.1 * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.android.ddmlib.Client; import com.android.ddmlib.ClientData; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.Action; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; final class DeviceViewAction$StartTraceAction extends Action { private static final int LOCAL_FORWARDED_PORT = 6049; private Client mClient; public DeviceViewAction$StartTraceAction() { super("Start OpenGL Trace"); setImageDescriptor(GlTracePlugin.getImageDescriptor("/icons/connect.png")); setClient(null); } public void setClient(Client paramClient) { mClient = paramClient; clientChanged(); } private void clientChanged() { if (mClient == null) { setEnabled(false); return; } ClientData localClientData = mClient.getClientData(); if (localClientData.hasFeature("opengl-tracing")) { setEnabled(true); setToolTipText("Trace OpenGL calls"); } else { setEnabled(false); setToolTipText("Selected VM does not support tracing OpenGL calls"); } } public void run() { if (mClient == null) { return; } Shell localShell = Display.getDefault().getActiveShell(); GLTraceOptionsDialog localGLTraceOptionsDialog = new GLTraceOptionsDialog(localShell, false, mClient.getClientData().getClientDescription()); if (localGLTraceOptionsDialog.open() != 0) { return; } mClient.startOpenGlTracing(); try { CollectTraceAction.setupForwarding(mClient.getDevice(), 6049); } catch (Exception localException1) { MessageDialog.openError(localShell, "Setup GL Trace", "Error while setting up port forwarding: " + localException1.getMessage()); return; } try { new ProgressMonitorDialog(localShell).run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor paramAnonymousIProgressMonitor) throws InvocationTargetException, InterruptedException { Thread.sleep(3000L); } }); } catch (Exception localException2) {} TraceOptions localTraceOptions = localGLTraceOptionsDialog.getTraceOptions(); CollectTraceAction.startTracing(localShell, localTraceOptions, 6049); mClient.stopOpenGlTracing(); CollectTraceAction.disablePortForwarding(mClient.getDevice(), 6049); CollectTraceAction.openInEditor(localShell, traceDestination); } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.DeviceViewAction.StartTraceAction * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.android.ddmlib.Client; import com.android.ddmlib.ClientData; import com.android.ide.eclipse.ddms.IClientAction; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.Action; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class DeviceViewAction implements IClientAction { private static final StartTraceAction sAction = new StartTraceAction(); public Action getAction() { return sAction; } public void selectedClientChanged(Client paramClient) { sAction.setClient(paramClient); } private static final class StartTraceAction extends Action { private static final int LOCAL_FORWARDED_PORT = 6049; private Client mClient; public StartTraceAction() { super(); setImageDescriptor(GlTracePlugin.getImageDescriptor("/icons/connect.png")); setClient(null); } public void setClient(Client paramClient) { mClient = paramClient; clientChanged(); } private void clientChanged() { if (mClient == null) { setEnabled(false); return; } ClientData localClientData = mClient.getClientData(); if (localClientData.hasFeature("opengl-tracing")) { setEnabled(true); setToolTipText("Trace OpenGL calls"); } else { setEnabled(false); setToolTipText("Selected VM does not support tracing OpenGL calls"); } } public void run() { if (mClient == null) { return; } Shell localShell = Display.getDefault().getActiveShell(); GLTraceOptionsDialog localGLTraceOptionsDialog = new GLTraceOptionsDialog(localShell, false, mClient.getClientData().getClientDescription()); if (localGLTraceOptionsDialog.open() != 0) { return; } mClient.startOpenGlTracing(); try { CollectTraceAction.setupForwarding(mClient.getDevice(), 6049); } catch (Exception localException1) { MessageDialog.openError(localShell, "Setup GL Trace", "Error while setting up port forwarding: " + localException1.getMessage()); return; } try { new ProgressMonitorDialog(localShell).run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor paramAnonymousIProgressMonitor) throws InvocationTargetException, InterruptedException { Thread.sleep(3000L); } }); } catch (Exception localException2) {} TraceOptions localTraceOptions = localGLTraceOptionsDialog.getTraceOptions(); CollectTraceAction.startTracing(localShell, localTraceOptions, 6049); mClient.stopOpenGlTracing(); CollectTraceAction.disablePortForwarding(mClient.getDevice(), 6049); CollectTraceAction.openInEditor(localShell, traceDestination); } } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.DeviceViewAction * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import com.google.common.io.Files; import java.io.File; import java.io.IOException; public class FileUtils { private static final File sCacheDir = ; static { sCacheDir.deleteOnExit(); } public static File createTempFile(String paramString1, String paramString2) { File localFile; try { localFile = File.createTempFile(paramString1, paramString2, sCacheDir); } catch (IOException localIOException) { throw new RuntimeException(localIOException); } localFile.deleteOnExit(); return localFile; } } /* Location: * Qualified Name: com.android.ide.eclipse.gltrace.FileUtils * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.android.ide.eclipse.gltrace; import java.util.HashMap; public enum GLEnum { GL_NONE(0L), GL_LINES(1L), GL_LINE_LOOP(2L), GL_LINE_STRIP(3L), GL_TRIANGLES(4L), GL_TRIANGLE_STRIP(5L), GL_TRIANGLE_FAN(6L), GL_ADD(260L), GL_NEVER(512L), GL_LESS(513L), GL_EQUAL(514L), GL_LEQUAL(515L), GL_GREATER(516L), GL_NOTEQUAL(517L), GL_GEQUAL(518L), GL_ALWAYS(519L), GL_SRC_COLOR(768L), GL_ONE_MINUS_SRC_COLOR(769L), GL_SRC_ALPHA(770L), GL_ONE_MINUS_SRC_ALPHA(771L), GL_DST_ALPHA(772L), GL_ONE_MINUS_DST_ALPHA(773L), GL_DST_COLOR(774L), GL_ONE_MINUS_DST_COLOR(775L), GL_SRC_ALPHA_SATURATE(776L), GL_FRONT(1028L), GL_BACK(1029L), GL_FRONT_AND_BACK(1032L), GL_INVALID_ENUM(1280L), GL_INVALID_VALUE(1281L), GL_INVALID_OPERATION(1282L), GL_STACK_OVERFLOW(1283L), GL_STACK_UNDERFLOW(1284L), GL_OUT_OF_MEMORY(1285L), GL_INVALID_FRAMEBUFFER_OPERATION(1286L), GL_EXP(2048L), GL_EXP2(2049L), GL_CW(2304L), GL_CCW(2305L), GL_CURRENT_COLOR(2816L), GL_CURRENT_NORMAL(2818L), GL_CURRENT_TEXTURE_COORDS(2819L), GL_POINT_SMOOTH(2832L), GL_POINT_SIZE(2833L), GL_SMOOTH_POINT_SIZE_RANGE(2834L), GL_LINE_SMOOTH(2848L), GL_LINE_WIDTH(2849L), GL_SMOOTH_LINE_WIDTH_RANGE(2850L), GL_CULL_FACE(2884L), GL_CULL_FACE_MODE(2885L), GL_FRONT_FACE(2886L), GL_LIGHTING(2896L), GL_LIGHT_MODEL_TWO_SIDE(2898L), GL_LIGHT_MODEL_AMBIENT(2899L), GL_SHADE_MODEL(2900L), GL_COLOR_MATERIAL(2903L), GL_FOG(2912L), GL_FOG_DENSITY(2914L), GL_FOG_START(2915L), GL_FOG_END(2916L), GL_FOG_MODE(2917L), GL_FOG_COLOR(2918L), GL_DEPTH_RANGE(2928L), GL_DEPTH_TEST(2929L), GL_DEPTH_WRITEMASK(2930L), GL_DEPTH_CLEAR_VALUE(2931L), GL_DEPTH_FUNC(2932L), GL_STENCIL_TEST(2960L), GL_STENCIL_CLEAR_VALUE(2961L), GL_STENCIL_FUNC(2962L), GL_STENCIL_VALUE_MASK(2963L), GL_STENCIL_FAIL(2964L), GL_STENCIL_PASS_DEPTH_FAIL(2965L), GL_STENCIL_PASS_DEPTH_PASS(2966L), GL_STENCIL_REF(2967L), GL_STENCIL_WRITEMASK(2968L), GL_MATRIX_MODE(2976L), GL_NORMALIZE(2977L), GL_VIEWPORT(2978L), GL_MODELVIEW_STACK_DEPTH(2979L), GL_PROJECTION_STACK_DEPTH(2980L), GL_TEXTURE_STACK_DEPTH(2981L), GL_MODELVIEW_MATRIX(2982L), GL_PROJECTION_MATRIX(2983L), GL_TEXTURE_MATRIX(2984L), GL_ALPHA_TEST(3008L), GL_ALPHA_TEST_FUNC(3009L), GL_ALPHA_TEST_REF(3010L), GL_DITHER(3024L), GL_BLEND_DST(3040L), GL_BLEND_SRC(3041L), GL_BLEND(3042L), GL_LOGIC_OP_MODE(3056L), GL_COLOR_LOGIC_OP(3058L), GL_READ_BUFFER_NV(3074L), GL_SCISSOR_BOX(3088L), GL_SCISSOR_TEST(3089L), GL_COLOR_CLEAR_VALUE(3106L), GL_COLOR_WRITEMASK(3107L), GL_PERSPECTIVE_CORRECTION_HINT(3152L), GL_POINT_SMOOTH_HINT(3153L), GL_LINE_SMOOTH_HINT(3154L), GL_FOG_HINT(3156L), GL_UNPACK_ROW_LENGTH(3314L), GL_UNPACK_SKIP_ROWS(3315L), GL_UNPACK_SKIP_PIXELS(3316L), GL_UNPACK_ALIGNMENT(3317L), GL_PACK_ALIGNMENT(3333L), GL_ALPHA_SCALE(3356L), GL_MAX_LIGHTS(3377L), GL_MAX_CLIP_PLANES(3378L), GL_MAX_TEXTURE_SIZE(3379L), GL_MAX_MODELVIEW_STACK_DEPTH(3382L), GL_MAX_PROJECTION_STACK_DEPTH(3384L), GL_MAX_TEXTURE_STACK_DEPTH(3385L), GL_MAX_VIEWPORT_DIMS(3386L), GL_SUBPIXEL_BITS(3408L), GL_RED_BITS(3410L), GL_GREEN_BITS(3411L), GL_BLUE_BITS(3412L), GL_ALPHA_BITS(3413L), GL_DEPTH_BITS(3414L), GL_STENCIL_BITS(3415L), GL_TEXTURE_2D(3553L), GL_DONT_CARE(4352L), GL_FASTEST(4353L), GL_NICEST(4354L), GL_AMBIENT(4608L), GL_DIFFUSE(4609L), GL_SPECULAR(4610L), GL_POSITION(4611L), GL_SPOT_DIRECTION(4612L), GL_SPOT_EXPONENT(4613L), GL_SPOT_CUTOFF(4614L), GL_CONSTANT_ATTENUATION(4615L), GL_LINEAR_ATTENUATION(4616L), GL_QUADRATIC_ATTENUATION(4617L), GL_BYTE(5120L), GL_UNSIGNED_BYTE(5121L), GL_SHORT(5122L), GL_UNSIGNED_SHORT(5123L), GL_INT(5124L), GL_UNSIGNED_INT(5125L), GL_FLOAT(5126L), GL_FIXED(5132L), GL_CLEAR(5376L), GL_AND(5377L), GL_AND_REVERSE(5378L), GL_COPY(5379L), GL_AND_INVERTED(5380L), GL_NOOP(5381L), GL_XOR(5382L), GL_OR(5383L), GL_NOR(5384L), GL_EQUIV(5385L), GL_INVERT(5386L), GL_OR_REVERSE(5387L), GL_COPY_INVERTED(5388L), GL_OR_INVERTED(5389L), GL_NAND(5390L), GL_SET(5391L), GL_EMISSION(5632L), GL_SHININESS(5633L), GL_AMBIENT_AND_DIFFUSE(5634L), GL_MODELVIEW(5888L), GL_PROJECTION(5889L), GL_TEXTURE(5890L), GL_COLOR_EXT(6144L), GL_DEPTH_EXT(6145L), GL_STENCIL_EXT(6146L), GL_STENCIL_INDEX(6401L), GL_DEPTH_COMPONENT(6402L), GL_RED_EXT(6403L), GL_ALPHA(6406L), GL_RGB(6407L), GL_RGBA(6408L), GL_LUMINANCE(6409L), GL_LUMINANCE_ALPHA(6410L), GL_FLAT(7424L), GL_SMOOTH(7425L), GL_KEEP(7680L), GL_REPLACE(7681L), GL_INCR(7682L), GL_DECR(7683L), GL_VENDOR(7936L), GL_RENDERER(7937L), GL_VERSION(7938L), GL_EXTENSIONS(7939L), GL_MODULATE(8448L), GL_DECAL(8449L), GL_TEXTURE_ENV_MODE(8704L), GL_TEXTURE_ENV_COLOR(8705L), GL_TEXTURE_ENV(8960L), GL_TEXTURE_GEN_MODE(9472L), GL_NEAREST(9728L), GL_LINEAR(9729L), GL_NEAREST_MIPMAP_NEAREST(9984L), GL_LINEAR_MIPMAP_NEAREST(9985L), GL_NEAREST_MIPMAP_LINEAR(9986L), GL_LINEAR_MIPMAP_LINEAR(9987L), GL_TEXTURE_MAG_FILTER(10240L), GL_TEXTURE_MIN_FILTER(10241L), GL_TEXTURE_WRAP_S(10242L), GL_TEXTURE_WRAP_T(10243L), GL_REPEAT(10497L), GL_POLYGON_OFFSET_UNITS(10752L), GL_CLIP_PLANE0(12288L), GL_CLIP_PLANE1(12289L), GL_CLIP_PLANE2(12290L), GL_CLIP_PLANE3(12291L), GL_CLIP_PLANE4(12292L), GL_CLIP_PLANE5(12293L), GL_LIGHT0(16384L), GL_LIGHT1(16385L), GL_LIGHT2(16386L), GL_LIGHT3(16387L), GL_LIGHT4(16388L), GL_LIGHT5(16389L), GL_LIGHT6(16390L), GL_LIGHT7(16391L), GL_COVERAGE_BUFFER_BIT_NV(32768L), GL_CONSTANT_COLOR(32769L), GL_ONE_MINUS_CONSTANT_COLOR(32770L), GL_CONSTANT_ALPHA(32771L), GL_ONE_MINUS_CONSTANT_ALPHA(32772L), GL_BLEND_COLOR(32773L), GL_FUNC_ADD(32774L), GL_MIN_EXT(32775L), GL_MAX_EXT(32776L), GL_BLEND_EQUATION_RGB(32777L), GL_FUNC_SUBTRACT(32778L), GL_FUNC_REVERSE_SUBTRACT(32779L), GL_UNSIGNED_SHORT_4_4_4_4(32819L), GL_UNSIGNED_SHORT_5_5_5_1(32820L), GL_POLYGON_OFFSET_FILL(32823L), GL_POLYGON_OFFSET_FACTOR(32824L), GL_RESCALE_NORMAL(32826L), GL_ALPHA8_EXT(32828L), GL_LUMINANCE8_EXT(32832L), GL_LUMINANCE8_ALPHA8_EXT(32837L), GL_RGB8(32849L), GL_RGB10_EXT(32850L), GL_RGBA4(32854L), GL_RGB5_A1(32855L), GL_RGBA8(32856L), GL_RGB10_A2_EXT(32857L), GL_TEXTURE_BINDING_2D(32873L), GL_TEXTURE_BINDING_3D(32874L), GL_TEXTURE_3D(32879L), GL_TEXTURE_WRAP_R(32882L), GL_MAX_3D_TEXTURE_SIZE(32883L), GL_VERTEX_ARRAY(32884L), GL_NORMAL_ARRAY(32885L), GL_COLOR_ARRAY(32886L), GL_TEXTURE_COORD_ARRAY(32888L), GL_VERTEX_ARRAY_SIZE(32890L), GL_VERTEX_ARRAY_TYPE(32891L), GL_VERTEX_ARRAY_STRIDE(32892L), GL_NORMAL_ARRAY_TYPE(32894L), GL_NORMAL_ARRAY_STRIDE(32895L), GL_COLOR_ARRAY_SIZE(32897L), GL_COLOR_ARRAY_TYPE(32898L), GL_COLOR_ARRAY_STRIDE(32899L), GL_TEXTURE_COORD_ARRAY_SIZE(32904L), GL_TEXTURE_COORD_ARRAY_TYPE(32905L), GL_TEXTURE_COORD_ARRAY_STRIDE(32906L), GL_VERTEX_ARRAY_POINTER(32910L), GL_NORMAL_ARRAY_POINTER(32911L), GL_COLOR_ARRAY_POINTER(32912L), GL_TEXTURE_COORD_ARRAY_POINTER(32914L), GL_MULTISAMPLE(32925L), GL_SAMPLE_ALPHA_TO_COVERAGE(32926L), GL_SAMPLE_ALPHA_TO_ONE(32927L), GL_SAMPLE_COVERAGE(32928L), GL_SAMPLE_BUFFERS(32936L), GL_SAMPLES(32937L), GL_SAMPLE_COVERAGE_VALUE(32938L), GL_SAMPLE_COVERAGE_INVERT(32939L), GL_BLEND_DST_RGB(32968L), GL_BLEND_SRC_RGB(32969L), GL_BLEND_DST_ALPHA(32970L), GL_BLEND_SRC_ALPHA(32971L), GL_BGRA_EXT(32993L), GL_POINT_SIZE_MIN(33062L), GL_POINT_SIZE_MAX(33063L), GL_POINT_FADE_THRESHOLD_SIZE(33064L), GL_POINT_DISTANCE_ATTENUATION(33065L), GL_CLAMP_TO_EDGE(33071L), GL_GENERATE_MIPMAP(33169L), GL_GENERATE_MIPMAP_HINT(33170L), GL_DEPTH_COMPONENT16(33189L), GL_DEPTH_COMPONENT24(33190L), GL_DEPTH_COMPONENT32(33191L), GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT(33296L), GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT(33297L), GL_RG_EXT(33319L), GL_R8_EXT(33321L), GL_RG8_EXT(33323L), GL_R16F_EXT(33325L), GL_RG16F_EXT(33327L), GL_LOSE_CONTEXT_ON_RESET_EXT(33362L), GL_GUILTY_CONTEXT_RESET_EXT(33363L), GL_INNOCENT_CONTEXT_RESET_EXT(33364L), GL_UNKNOWN_CONTEXT_RESET_EXT(33365L), GL_RESET_NOTIFICATION_STRATEGY_EXT(33366L), GL_PROGRAM_SEPARABLE_EXT(33368L), GL_ACTIVE_PROGRAM_EXT(33369L), GL_PROGRAM_PIPELINE_BINDING_EXT(33370L), GL_NO_RESET_NOTIFICATION_EXT(33377L), GL_UNSIGNED_SHORT_5_6_5(33635L), GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT(33637L), GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT(33638L), GL_UNSIGNED_INT_2_10_10_10_REV_EXT(33640L), GL_MIRRORED_REPEAT(33648L), GL_COMPRESSED_RGB_S3TC_DXT1_EXT(33776L), GL_COMPRESSED_RGBA_S3TC_DXT1_EXT(33777L), GL_ALIASED_POINT_SIZE_RANGE(33901L), GL_ALIASED_LINE_WIDTH_RANGE(33902L), GL_TEXTURE0(33984L), GL_TEXTURE1(33985L), GL_TEXTURE2(33986L), GL_TEXTURE3(33987L), GL_TEXTURE4(33988L), GL_TEXTURE5(33989L), GL_TEXTURE6(33990L), GL_TEXTURE7(33991L), GL_TEXTURE8(33992L), GL_TEXTURE9(33993L), GL_TEXTURE10(33994L), GL_TEXTURE11(33995L), GL_TEXTURE12(33996L), GL_TEXTURE13(33997L), GL_TEXTURE14(33998L), GL_TEXTURE15(33999L), GL_TEXTURE16(34000L), GL_TEXTURE17(34001L), GL_TEXTURE18(34002L), GL_TEXTURE19(34003L), GL_TEXTURE20(34004L), GL_TEXTURE21(34005L), GL_TEXTURE22(34006L), GL_TEXTURE23(34007L), GL_TEXTURE24(34008L), GL_TEXTURE25(34009L), GL_TEXTURE26(34010L), GL_TEXTURE27(34011L), GL_TEXTURE28(34012L), GL_TEXTURE29(34013L), GL_TEXTURE30(34014L), GL_TEXTURE31(34015L), GL_ACTIVE_TEXTURE(34016L), GL_CLIENT_ACTIVE_TEXTURE(34017L), GL_MAX_TEXTURE_UNITS(34018L), GL_SUBTRACT(34023L), GL_MAX_RENDERBUFFER_SIZE(34024L), GL_ALL_COMPLETED_NV(34034L), GL_FENCE_STATUS_NV(34035L), GL_FENCE_CONDITION_NV(34036L), GL_DEPTH_STENCIL(34041L), GL_UNSIGNED_INT_24_8(34042L), GL_MAX_TEXTURE_LOD_BIAS_EXT(34045L), GL_TEXTURE_MAX_ANISOTROPY_EXT(34046L), GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT(34047L), GL_TEXTURE_FILTER_CONTROL_EXT(34048L), GL_TEXTURE_LOD_BIAS_EXT(34049L), GL_INCR_WRAP(34055L), GL_DECR_WRAP(34056L), GL_NORMAL_MAP(34065L), GL_REFLECTION_MAP(34066L), GL_TEXTURE_CUBE_MAP(34067L), GL_TEXTURE_BINDING_CUBE_MAP(34068L), GL_TEXTURE_CUBE_MAP_POSITIVE_X(34069L), GL_TEXTURE_CUBE_MAP_NEGATIVE_X(34070L), GL_TEXTURE_CUBE_MAP_POSITIVE_Y(34071L), GL_TEXTURE_CUBE_MAP_NEGATIVE_Y(34072L), GL_TEXTURE_CUBE_MAP_POSITIVE_Z(34073L), GL_TEXTURE_CUBE_MAP_NEGATIVE_Z(34074L), GL_MAX_CUBE_MAP_TEXTURE_SIZE(34076L), GL_COMBINE(34160L), GL_COMBINE_RGB(34161L), GL_COMBINE_ALPHA(34162L), GL_RGB_SCALE(34163L), GL_ADD_SIGNED(34164L), GL_INTERPOLATE(34165L), GL_CONSTANT(34166L), GL_PRIMARY_COLOR(34167L), GL_PREVIOUS(34168L), GL_SRC0_RGB(34176L), GL_SRC1_RGB(34177L), GL_SRC2_RGB(34178L), GL_SRC0_ALPHA(34184L), GL_SRC1_ALPHA(34185L), GL_SRC2_ALPHA(34186L), GL_OPERAND0_RGB(34192L), GL_OPERAND1_RGB(34193L), GL_OPERAND2_RGB(34194L), GL_OPERAND0_ALPHA(34200L), GL_OPERAND1_ALPHA(34201L), GL_OPERAND2_ALPHA(34202L), GL_VERTEX_ARRAY_BINDING(34229L), GL_UNSIGNED_SHORT_8_8_APPLE(34234L), GL_UNSIGNED_SHORT_8_8_REV_APPLE(34235L), GL_VERTEX_ATTRIB_ARRAY_ENABLED(34338L), GL_VERTEX_ATTRIB_ARRAY_SIZE(34339L), GL_VERTEX_ATTRIB_ARRAY_STRIDE(34340L), GL_VERTEX_ATTRIB_ARRAY_TYPE(34341L), GL_CURRENT_VERTEX_ATTRIB(34342L), GL_VERTEX_ATTRIB_ARRAY_POINTER(34373L), GL_NUM_COMPRESSED_TEXTURE_FORMATS(34466L), GL_COMPRESSED_TEXTURE_FORMATS(34467L), GL_MAX_VERTEX_UNITS(34468L), GL_WEIGHT_ARRAY_TYPE(34473L), GL_WEIGHT_ARRAY_STRIDE(34474L), GL_WEIGHT_ARRAY_SIZE(34475L), GL_WEIGHT_ARRAY_POINTER(34476L), GL_WEIGHT_ARRAY(34477L), GL_DOT3_RGB(34478L), GL_DOT3_RGBA(34479L), GL_Z400_BINARY_AMD(34624L), GL_PROGRAM_BINARY_LENGTH(34625L), GL_BUFFER_SIZE(34660L), GL_BUFFER_USAGE(34661L), GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD(34798L), GL_3DC_X_AMD(34809L), GL_3DC_XY_AMD(34810L), GL_NUM_PROGRAM_BINARY_FORMATS(34814L), GL_PROGRAM_BINARY_FORMATS(34815L), GL_STENCIL_BACK_FUNC(34816L), GL_STENCIL_BACK_FAIL(34817L), GL_STENCIL_BACK_PASS_DEPTH_FAIL(34818L), GL_STENCIL_BACK_PASS_DEPTH_PASS(34819L), GL_RGBA32F_EXT(34836L), GL_RGB32F_EXT(34837L), GL_ALPHA32F_EXT(34838L), GL_LUMINANCE32F_EXT(34840L), GL_LUMINANCE_ALPHA32F_EXT(34841L), GL_RGBA16F_EXT(34842L), GL_RGB16F_EXT(34843L), GL_ALPHA16F_EXT(34844L), GL_LUMINANCE16F_EXT(34846L), GL_LUMINANCE_ALPHA16F_EXT(34847L), GL_WRITEONLY_RENDERING_QCOM(34851L), GL_MAX_DRAW_BUFFERS_NV(34852L), GL_DRAW_BUFFER0_NV(34853L), GL_DRAW_BUFFER1_NV(34854L), GL_DRAW_BUFFER2_NV(34855L), GL_DRAW_BUFFER3_NV(34856L), GL_DRAW_BUFFER4_NV(34857L), GL_DRAW_BUFFER5_NV(34858L), GL_DRAW_BUFFER6_NV(34859L), GL_DRAW_BUFFER7_NV(34860L), GL_DRAW_BUFFER8_NV(34861L), GL_DRAW_BUFFER9_NV(34862L), GL_DRAW_BUFFER10_NV(34863L), GL_DRAW_BUFFER11_NV(34864L), GL_DRAW_BUFFER12_NV(34865L), GL_DRAW_BUFFER13_NV(34866L), GL_DRAW_BUFFER14_NV(34867L), GL_DRAW_BUFFER15_NV(34868L), GL_BLEND_EQUATION_ALPHA(34877L), GL_MATRIX_PALETTE(34880L), GL_MAX_PALETTE_MATRICES(34882L), GL_CURRENT_PALETTE_MATRIX(34883L), GL_MATRIX_INDEX_ARRAY(34884L), GL_MATRIX_INDEX_ARRAY_SIZE(34886L), GL_MATRIX_INDEX_ARRAY_TYPE(34887L), GL_MATRIX_INDEX_ARRAY_STRIDE(34888L), GL_MATRIX_INDEX_ARRAY_POINTER(34889L), GL_COMPARE_REF_TO_TEXTURE_EXT(34894L), GL_CURRENT_QUERY_EXT(34917L), GL_QUERY_RESULT_EXT(34918L), GL_QUERY_RESULT_AVAILABLE_EXT(34919L), GL_POINT_SPRITE(34913L), GL_COORD_REPLACE(34914L), GL_MAX_VERTEX_ATTRIBS(34921L), GL_VERTEX_ATTRIB_ARRAY_NORMALIZED(34922L), GL_MAX_TEXTURE_IMAGE_UNITS(34930L), GL_ARRAY_BUFFER(34962L), GL_ELEMENT_ARRAY_BUFFER(34963L), GL_ARRAY_BUFFER_BINDING(34964L), GL_ELEMENT_ARRAY_BUFFER_BINDING(34965L), GL_VERTEX_ARRAY_BUFFER_BINDING(34966L), GL_NORMAL_ARRAY_BUFFER_BINDING(34967L), GL_COLOR_ARRAY_BUFFER_BINDING(34968L), GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING(34970L), GL_WEIGHT_ARRAY_BUFFER_BINDING(34974L), GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING(34975L), GL_WRITE_ONLY(35001L), GL_BUFFER_ACCESS(35003L), GL_BUFFER_MAPPED(35004L), GL_BUFFER_MAP_POINTER(35005L), GL_STREAM_DRAW(35040L), GL_STATIC_DRAW(35044L), GL_DYNAMIC_DRAW(35048L), GL_DEPTH24_STENCIL8(35056L), GL_POINT_SIZE_ARRAY_TYPE(35210L), GL_POINT_SIZE_ARRAY_STRIDE(35211L), GL_POINT_SIZE_ARRAY_POINTER(35212L), GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS(35213L), GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS(35214L), GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS(35215L), GL_RGB_422_APPLE(35359L), GL_PROGRAM_PIPELINE_OBJECT_EXT(35407L), GL_FRAGMENT_SHADER(35632L), GL_VERTEX_SHADER(35633L), GL_PROGRAM_OBJECT_EXT(35648L), GL_SHADER_OBJECT_EXT(35656L), GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS(35660L), GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS(35661L), GL_SHADER_TYPE(35663L), GL_FLOAT_VEC2(35664L), GL_FLOAT_VEC3(35665L), GL_FLOAT_VEC4(35666L), GL_INT_VEC2(35667L), GL_INT_VEC3(35668L), GL_INT_VEC4(35669L), GL_BOOL(35670L), GL_BOOL_VEC2(35671L), GL_BOOL_VEC3(35672L), GL_BOOL_VEC4(35673L), GL_FLOAT_MAT2(35674L), GL_FLOAT_MAT3(35675L), GL_FLOAT_MAT4(35676L), GL_SAMPLER_2D(35678L), GL_SAMPLER_3D(35679L), GL_SAMPLER_CUBE(35680L), GL_SAMPLER_2D_SHADOW_EXT(35682L), GL_DELETE_STATUS(35712L), GL_COMPILE_STATUS(35713L), GL_LINK_STATUS(35714L), GL_VALIDATE_STATUS(35715L), GL_INFO_LOG_LENGTH(35716L), GL_ATTACHED_SHADERS(35717L), GL_ACTIVE_UNIFORMS(35718L), GL_ACTIVE_UNIFORM_MAX_LENGTH(35719L), GL_SHADER_SOURCE_LENGTH(35720L), GL_ACTIVE_ATTRIBUTES(35721L), GL_ACTIVE_ATTRIBUTE_MAX_LENGTH(35722L), GL_FRAGMENT_SHADER_DERIVATIVE_HINT(35723L), GL_SHADING_LANGUAGE_VERSION(35724L), GL_CURRENT_PROGRAM(35725L), GL_PALETTE4_RGB8(35728L), GL_PALETTE4_RGBA8(35729L), GL_PALETTE4_R5_G6_B5(35730L), GL_PALETTE4_RGBA4(35731L), GL_PALETTE4_RGB5_A1(35732L), GL_PALETTE8_RGB8(35733L), GL_PALETTE8_RGBA8(35734L), GL_PALETTE8_R5_G6_B5(35735L), GL_PALETTE8_RGBA4(35736L), GL_PALETTE8_RGB5_A1(35737L), GL_IMPLEMENTATION_COLOR_READ_TYPE(35738L), GL_IMPLEMENTATION_COLOR_READ_FORMAT(35739L), GL_POINT_SIZE_ARRAY(35740L), GL_TEXTURE_CROP_RECT(35741L), GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING(35742L), GL_POINT_SIZE_ARRAY_BUFFER_BINDING(35743L), GL_COUNTER_TYPE_AMD(35776L), GL_COUNTER_RANGE_AMD(35777L), GL_UNSIGNED_INT64_AMD(35778L), GL_PERCENTAGE_AMD(35779L), GL_PERFMON_RESULT_AVAILABLE_AMD(35780L), GL_PERFMON_RESULT_SIZE_AMD(35781L), GL_PERFMON_RESULT_AMD(35782L), GL_TEXTURE_WIDTH_QCOM(35794L), GL_TEXTURE_HEIGHT_QCOM(35795L), GL_TEXTURE_DEPTH_QCOM(35796L), GL_TEXTURE_INTERNAL_FORMAT_QCOM(35797L), GL_TEXTURE_FORMAT_QCOM(35798L), GL_TEXTURE_TYPE_QCOM(35799L), GL_TEXTURE_IMAGE_VALID_QCOM(35800L), GL_TEXTURE_NUM_LEVELS_QCOM(35801L), GL_TEXTURE_TARGET_QCOM(35802L), GL_TEXTURE_OBJECT_VALID_QCOM(35803L), GL_STATE_RESTORE(35804L), GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG(35840L), GL_COMPRESSED_RGB_P Further reading...For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.New!JAR listings
|