1 /*
2  * Copyright (c) 2002-2008 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.*;
38 
39 @Dependent
40 @DeprecatedGL
41 public interface ARB_robustness {
42 
43 	/** Returned by GetGraphicsResetStatusARB: */
44 	int GL_GUILTY_CONTEXT_RESET_ARB = 0x8253,
45 		GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254,
46 		GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255;
47 
48 	/**
49 	 * Accepted by the <value> parameter of GetBooleanv, GetIntegerv,
50 	 * GetInteger64v, GetFloatv, and GetDoublev:
51 	 */
52 	int GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256;
53 
54 	/**
55 	 * Returned by GetIntegerv and related simple queries when
56 	 * <value> is RESET_NOTIFICATION_STRATEGY_ARB:
57 	 */
58 	int GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252,
59 		GL_NO_RESET_NOTIFICATION_ARB = 0x8261;
60 
61 	/** Returned by GetIntegerv when <pname> is CONTEXT_FLAGS: */
62 	int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004;
63 
64 	@GLenum
glGetGraphicsResetStatusARB()65 	int glGetGraphicsResetStatusARB();
66 
67 	@DeprecatedGL
glGetnMapdvARB(@Lenum int target, @GLenum int query, @Constant(R) @GLsizei int bufSize, @OutParameter @Check DoubleBuffer v)68 	void glGetnMapdvARB(@GLenum int target, @GLenum int query, @Constant("v.remaining() << 3") @GLsizei int bufSize, @OutParameter @Check DoubleBuffer v);
69 
70 	@DeprecatedGL
glGetnMapfvARB(@Lenum int target, @GLenum int query, @Constant(R) @GLsizei int bufSize, @OutParameter @Check FloatBuffer v)71 	void glGetnMapfvARB(@GLenum int target, @GLenum int query, @Constant("v.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check FloatBuffer v);
72 
73 	@DeprecatedGL
glGetnMapivARB(@Lenum int target, @GLenum int query, @Constant(R) @GLsizei int bufSize, @OutParameter @Check IntBuffer v)74 	void glGetnMapivARB(@GLenum int target, @GLenum int query, @Constant("v.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check IntBuffer v);
75 
76 	@DeprecatedGL
glGetnPixelMapfvARB(@Lenum int map, @Constant(R) @GLsizei int bufSize, @OutParameter @Check FloatBuffer values)77 	void glGetnPixelMapfvARB(@GLenum int map, @Constant("values.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check FloatBuffer values);
78 
79 	@DeprecatedGL
glGetnPixelMapuivARB(@Lenum int map, @Constant(R) @GLsizei int bufSize, @OutParameter @Check @GLuint IntBuffer values)80 	void glGetnPixelMapuivARB(@GLenum int map, @Constant("values.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check @GLuint IntBuffer values);
81 
82 	@DeprecatedGL
glGetnPixelMapusvARB(@Lenum int map, @Constant(R) @GLsizei int bufSize, @OutParameter @Check @GLushort ShortBuffer values)83 	void glGetnPixelMapusvARB(@GLenum int map, @Constant("values.remaining() << 1") @GLsizei int bufSize, @OutParameter @Check @GLushort ShortBuffer values);
84 
85 	@DeprecatedGL
glGetnPolygonStippleARB(@utoSizeR) @Lsizei int bufSize, @OutParameter @GLubyte ByteBuffer pattern)86 	void glGetnPolygonStippleARB(@AutoSize("pattern") @GLsizei int bufSize, @OutParameter @GLubyte ByteBuffer pattern);
87 
glGetnTexImageARB(@Lenum int target, int level, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer img)88 	void glGetnTexImageARB(@GLenum int target, int level, @GLenum int format, @GLenum int type, @AutoSize("img") @GLsizei int bufSize,
89 	                       @OutParameter
90 	                       @BufferObject(BufferKind.PackPBO)
91 	                       @GLbyte
92 	                       @GLshort
93 	                       @GLint
94 	                       @GLfloat
95 	                       @GLdouble Buffer img);
96 
glReadnPixelsARB(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 data)97 	void glReadnPixelsARB(int x, int y, @GLsizei int width, @GLsizei int height,
98 	                      @GLenum int format, @GLenum int type, @AutoSize("data") @GLsizei int bufSize,
99 	                      @OutParameter
100 	                      @BufferObject(BufferKind.PackPBO)
101 	                      @GLbyte
102 	                      @GLshort
103 	                      @GLint
104 	                      @GLfloat
105 	                      @GLdouble Buffer data);
106 
107 	@Dependent("GL_ARB_imaging")
glGetnColorTableARB(@Lenum int target, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLbyte @GLfloat @GLdouble Buffer table)108 	void glGetnColorTableARB(@GLenum int target, @GLenum int format, @GLenum int type, @AutoSize("table") @GLsizei int bufSize,
109 	                         @OutParameter
110 	                         @GLbyte
111 	                         @GLfloat
112 	                         @GLdouble Buffer table);
113 
114 	@Dependent("GL_ARB_imaging")
glGetnConvolutionFilterARB(@Lenum int target, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer image)115 	void glGetnConvolutionFilterARB(@GLenum int target, @GLenum int format, @GLenum int type, @AutoSize("image") @GLsizei int bufSize,
116 	                                @OutParameter
117 	                                @BufferObject(BufferKind.PackPBO)
118 	                                @GLbyte
119 	                                @GLshort
120 	                                @GLint
121 	                                @GLfloat
122 	                                @GLdouble Buffer image);
123 
124 	@Dependent("GL_ARB_imaging")
glGetnSeparableFilterARB(@Lenum int target, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int rowBufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer row, @AutoSize(R) @GLsizei int columnBufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer column, @OutParameter @BufferObject(BufferKind.PackPBO) @Check @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer span)125 	void glGetnSeparableFilterARB(@GLenum int target, @GLenum int format, @GLenum int type,
126 	                              @AutoSize("row") @GLsizei int rowBufSize,
127 	                              @OutParameter
128 	                              @BufferObject(BufferKind.PackPBO)
129 	                              @GLbyte
130 	                              @GLshort
131 	                              @GLint
132 	                              @GLfloat
133 	                              @GLdouble Buffer row,
134 	                              @AutoSize("column") @GLsizei int columnBufSize,
135 	                              @OutParameter
136 	                              @BufferObject(BufferKind.PackPBO)
137 	                              @GLbyte
138 	                              @GLshort
139 	                              @GLint
140 	                              @GLfloat
141 	                              @GLdouble Buffer column,
142 	                              @OutParameter
143 	                              @BufferObject(BufferKind.PackPBO)
144 	                              @Check
145 	                              @GLbyte
146 	                              @GLshort
147 	                              @GLint
148 	                              @GLfloat
149 	                              @GLdouble Buffer span);
150 
151 	@Dependent("GL_ARB_imaging")
glGetnHistogramARB(@Lenum int target, boolean reset, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer values)152 	void glGetnHistogramARB(@GLenum int target, boolean reset, @GLenum int format, @GLenum int type, @AutoSize("values") @GLsizei int bufSize,
153 	                        @OutParameter
154 	                        @BufferObject(BufferKind.PackPBO)
155 	                        @GLbyte
156 	                        @GLshort
157 	                        @GLint
158 	                        @GLfloat
159 	                        @GLdouble Buffer values);
160 
161 	@Dependent("GL_ARB_imaging")
glGetnMinmaxARB(@Lenum int target, boolean reset, @GLenum int format, @GLenum int type, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint @GLfloat @GLdouble Buffer values)162 	void glGetnMinmaxARB(@GLenum int target, boolean reset, @GLenum int format, @GLenum int type, @AutoSize("values") @GLsizei int bufSize,
163 	                     @OutParameter
164 	                     @BufferObject(BufferKind.PackPBO)
165 	                     @GLbyte
166 	                     @GLshort
167 	                     @GLint
168 	                     @GLfloat
169 	                     @GLdouble Buffer values);
170 
171 	@Dependent("OpenGL13")
glGetnCompressedTexImageARB(@Lenum int target, int lod, @AutoSize(R) @GLsizei int bufSize, @OutParameter @BufferObject(BufferKind.PackPBO) @GLbyte @GLshort @GLint Buffer img)172 	void glGetnCompressedTexImageARB(@GLenum int target, int lod, @AutoSize("img") @GLsizei int bufSize,
173 	                                 @OutParameter
174 	                                 @BufferObject(BufferKind.PackPBO)
175 	                                 @GLbyte
176 	                                 @GLshort
177 	                                 @GLint Buffer img);
178 
179 	@Dependent("OpenGL20")
glGetnUniformfvARB(@Luint int program, int location, @Constant(R) @GLsizei int bufSize, @OutParameter @Check FloatBuffer params)180 	void glGetnUniformfvARB(@GLuint int program, int location, @Constant("params.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check FloatBuffer params);
181 
182 	@Dependent("OpenGL20")
glGetnUniformivARB(@Luint int program, int location, @Constant(R) @GLsizei int bufSize, @OutParameter @Check IntBuffer params)183 	void glGetnUniformivARB(@GLuint int program, int location, @Constant("params.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check IntBuffer params);
184 
185 	@Dependent("OpenGL20")
glGetnUniformuivARB(@Luint int program, int location, @Constant(R) @GLsizei int bufSize, @OutParameter @Check @GLuint IntBuffer params)186 	void glGetnUniformuivARB(@GLuint int program, int location, @Constant("params.remaining() << 2") @GLsizei int bufSize, @OutParameter @Check @GLuint IntBuffer params);
187 
188 	@Dependent("OpenGL20")
glGetnUniformdvARB(@Luint int program, int location, @Constant(R) @GLsizei int bufSize, @OutParameter @Check DoubleBuffer params)189 	void glGetnUniformdvARB(@GLuint int program, int location, @Constant("params.remaining() << 3") @GLsizei int bufSize, @OutParameter @Check DoubleBuffer params);
190 }