1 /*
2  * Copyright (c) 2002-2014 LWJGL Project
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'LWJGL' nor the names of
17  *   its contributors may be used to endorse or promote products derived
18  *   from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package org.lwjgl.opengl;
33 
34 import org.lwjgl.util.generator.*;
35 import org.lwjgl.util.generator.opengl.*;
36 
37 import java.nio.Buffer;
38 import java.nio.FloatBuffer;
39 import java.nio.IntBuffer;
40 
41 @Extension(postfix = "")
42 public interface KHR_robustness {
43 
44 	/** Returned by GetGraphicsResetStatus: */
45 	int GL_GUILTY_CONTEXT_RESET   = 0x8253,
46 		GL_INNOCENT_CONTEXT_RESET = 0x8254,
47 		GL_UNKNOWN_CONTEXT_RESET  = 0x8255;
48 
49 	/**
50 	 * Accepted by the <value> parameter of GetBooleanv, GetIntegerv,
51 	 * and GetFloatv:
52 	 */
53 	int GL_CONTEXT_ROBUST_ACCESS       = 0x90F3,
54 		GL_RESET_NOTIFICATION_STRATEGY = 0x8256;
55 
56 	/**
57 	 * Returned by GetIntegerv and related simple queries when <value> is
58 	 * RESET_NOTIFICATION_STRATEGY:
59 	 */
60 	int GL_LOSE_CONTEXT_ON_RESET = 0x8252,
61 		GL_NO_RESET_NOTIFICATION = 0x8261;
62 
63 	/** Returned by GetError: */
64 	int GL_CONTEXT_LOST = 0x0507;
65 
66 	@Reuse("GL45")
67 	@GLenum
glGetGraphicsResetStatus()68 	int glGetGraphicsResetStatus();
69 
70 	@Reuse("GL45")
glReadnPixels(int x, int y, @GLsizei int width, @GLsizei int height, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer pixels)71 	void glReadnPixels(int x, int y, @GLsizei int width, @GLsizei int height, @GLenum int format, @GLenum int type, @AutoSize("pixels") @GLsizei int bufSize,
72 		@OutParameter
73 		@BufferObject(BufferKind.PackPBO)
74 		@GLbyte
75 		@GLshort
76 		@GLint
77 		@GLfloat
78 		@GLdouble Buffer pixels);
79 
80 	@StripPostfix("params")
81 	@Reuse("GL45")
glGetnUniformfv(@Luint int program, int location, @AutoSize(R) @GLsizei int bufSize, @OutParameter FloatBuffer params)82 	void glGetnUniformfv(@GLuint int program, int location, @AutoSize("params") @GLsizei int bufSize, @OutParameter FloatBuffer params);
83 
84 	@StripPostfix("params")
85 	@Reuse("GL45")
glGetnUniformiv(@Luint int program, int location, @AutoSize(R) @GLsizei int bufSize, @OutParameter IntBuffer params)86 	void glGetnUniformiv(@GLuint int program, int location, @AutoSize("params") @GLsizei int bufSize, @OutParameter IntBuffer params);
87 
88 	@StripPostfix("params")
89 	@Reuse("GL45")
glGetnUniformuiv(@Luint int program, int location, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLuint IntBuffer params)90 	void glGetnUniformuiv(@GLuint int program, int location, @AutoSize("params") @GLsizei int bufSize, @OutParameter @GLuint IntBuffer params);
91 
92 }