1 /*
2  * Copyright (c) 2002-2012 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.GLenum;
36 import org.lwjgl.util.generator.opengl.GLint64;
37 import org.lwjgl.util.generator.opengl.GLreturn;
38 import org.lwjgl.util.generator.opengl.GLsizei;
39 
40 import java.nio.LongBuffer;
41 
42 @Extension(postfix = "")
43 public interface ARB_internalformat_query2 {
44 
45 	/**
46 	 * Accepted by the <target> parameter of GetInternalformativ
47 	 * and GetInternalformati64v:
48 	 */
49 	int GL_TEXTURE_1D_ARRAY             = 0x8C18,
50 		GL_TEXTURE_2D_ARRAY             = 0x8C1A,
51 		GL_TEXTURE_CUBE_MAP_ARRAY       = 0x9009,
52 		GL_TEXTURE_RECTANGLE            = 0x84F5,
53 		GL_TEXTURE_BUFFER               = 0x8C2A,
54 		GL_RENDERBUFFER                 = 0x8D41,
55 		GL_TEXTURE_2D_MULTISAMPLE       = 0x9100,
56 		GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
57 
58 	/**
59 	 * Accepted by the <pname> parameter of GetInternalformativ
60 	 * and GetInternalformati64v:
61 	 */
62 	int GL_NUM_SAMPLE_COUNTS                      = 0x9380,
63 		GL_INTERNALFORMAT_SUPPORTED               = 0x826F,
64 		GL_INTERNALFORMAT_PREFERRED               = 0x8270,
65 		GL_INTERNALFORMAT_RED_SIZE                = 0x8271,
66 		GL_INTERNALFORMAT_GREEN_SIZE              = 0x8272,
67 		GL_INTERNALFORMAT_BLUE_SIZE               = 0x8273,
68 		GL_INTERNALFORMAT_ALPHA_SIZE              = 0x8274,
69 		GL_INTERNALFORMAT_DEPTH_SIZE              = 0x8275,
70 		GL_INTERNALFORMAT_STENCIL_SIZE            = 0x8276,
71 		GL_INTERNALFORMAT_SHARED_SIZE             = 0x8277,
72 		GL_INTERNALFORMAT_RED_TYPE                = 0x8278,
73 		GL_INTERNALFORMAT_GREEN_TYPE              = 0x8279,
74 		GL_INTERNALFORMAT_BLUE_TYPE               = 0x827A,
75 		GL_INTERNALFORMAT_ALPHA_TYPE              = 0x827B,
76 		GL_INTERNALFORMAT_DEPTH_TYPE              = 0x827C,
77 		GL_INTERNALFORMAT_STENCIL_TYPE            = 0x827D,
78 		GL_MAX_WIDTH                              = 0x827E,
79 		GL_MAX_HEIGHT                             = 0x827F,
80 		GL_MAX_DEPTH                              = 0x8280,
81 		GL_MAX_LAYERS                             = 0x8281,
82 		GL_MAX_COMBINED_DIMENSIONS                = 0x8282,
83 		GL_COLOR_COMPONENTS                       = 0x8283,
84 		GL_DEPTH_COMPONENTS                       = 0x8284,
85 		GL_STENCIL_COMPONENTS                     = 0x8285,
86 		GL_COLOR_RENDERABLE                       = 0x8286,
87 		GL_DEPTH_RENDERABLE                       = 0x8287,
88 		GL_STENCIL_RENDERABLE                     = 0x8288,
89 		GL_FRAMEBUFFER_RENDERABLE                 = 0x8289,
90 		GL_FRAMEBUFFER_RENDERABLE_LAYERED         = 0x828A,
91 		GL_FRAMEBUFFER_BLEND                      = 0x828B,
92 		GL_READ_PIXELS                            = 0x828C,
93 		GL_READ_PIXELS_FORMAT                     = 0x828D,
94 		GL_READ_PIXELS_TYPE                       = 0x828E,
95 		GL_TEXTURE_IMAGE_FORMAT                   = 0x828F,
96 		GL_TEXTURE_IMAGE_TYPE                     = 0x8290,
97 		GL_GET_TEXTURE_IMAGE_FORMAT               = 0x8291,
98 		GL_GET_TEXTURE_IMAGE_TYPE                 = 0x8292,
99 		GL_MIPMAP                                 = 0x8293,
100 		GL_MANUAL_GENERATE_MIPMAP                 = 0x8294,
101 		GL_AUTO_GENERATE_MIPMAP                   = 0x8295,
102 		GL_COLOR_ENCODING                         = 0x8296,
103 		GL_SRGB_READ                              = 0x8297,
104 		GL_SRGB_WRITE                             = 0x8298,
105 		GL_SRGB_DECODE_ARB                        = 0x8299,
106 		GL_FILTER                                 = 0x829A,
107 		GL_VERTEX_TEXTURE                         = 0x829B,
108 		GL_TESS_CONTROL_TEXTURE                   = 0x829C,
109 		GL_TESS_EVALUATION_TEXTURE                = 0x829D,
110 		GL_GEOMETRY_TEXTURE                       = 0x829E,
111 		GL_FRAGMENT_TEXTURE                       = 0x829F,
112 		GL_COMPUTE_TEXTURE                        = 0x82A0,
113 		GL_TEXTURE_SHADOW                         = 0x82A1,
114 		GL_TEXTURE_GATHER                         = 0x82A2,
115 		GL_TEXTURE_GATHER_SHADOW                  = 0x82A3,
116 		GL_SHADER_IMAGE_LOAD                      = 0x82A4,
117 		GL_SHADER_IMAGE_STORE                     = 0x82A5,
118 		GL_SHADER_IMAGE_ATOMIC                    = 0x82A6,
119 		GL_IMAGE_TEXEL_SIZE                       = 0x82A7,
120 		GL_IMAGE_COMPATIBILITY_CLASS              = 0x82A8,
121 		GL_IMAGE_PIXEL_FORMAT                     = 0x82A9,
122 		GL_IMAGE_PIXEL_TYPE                       = 0x82AA,
123 		GL_IMAGE_FORMAT_COMPATIBILITY_TYPE        = 0x90C7,
124 		GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST    = 0x82AC,
125 		GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST  = 0x82AD,
126 		GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE   = 0x82AE,
127 		GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF,
128 		GL_TEXTURE_COMPRESSED_BLOCK_WIDTH         = 0x82B1,
129 		GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT        = 0x82B2,
130 		GL_TEXTURE_COMPRESSED_BLOCK_SIZE          = 0x82B3,
131 		GL_CLEAR_BUFFER                           = 0x82B4,
132 		GL_TEXTURE_VIEW                           = 0x82B5,
133 		GL_VIEW_COMPATIBILITY_CLASS               = 0x82B6;
134 
135 	/**
136 	 * Returned as possible responses for various <pname> queries
137 	 * to GetInternalformativ and GetInternalformati64v
138 	 */
139 	int GL_FULL_SUPPORT              = 0x82B7,
140 		GL_CAVEAT_SUPPORT            = 0x82B8,
141 		GL_IMAGE_CLASS_4_X_32        = 0x82B9,
142 		GL_IMAGE_CLASS_2_X_32        = 0x82BA,
143 		GL_IMAGE_CLASS_1_X_32        = 0x82BB,
144 		GL_IMAGE_CLASS_4_X_16        = 0x82BC,
145 		GL_IMAGE_CLASS_2_X_16        = 0x82BD,
146 		GL_IMAGE_CLASS_1_X_16        = 0x82BE,
147 		GL_IMAGE_CLASS_4_X_8         = 0x82BF,
148 		GL_IMAGE_CLASS_2_X_8         = 0x82C0,
149 		GL_IMAGE_CLASS_1_X_8         = 0x82C1,
150 		GL_IMAGE_CLASS_11_11_10      = 0x82C2,
151 		GL_IMAGE_CLASS_10_10_10_2    = 0x82C3,
152 		GL_VIEW_CLASS_128_BITS       = 0x82C4,
153 		GL_VIEW_CLASS_96_BITS        = 0x82C5,
154 		GL_VIEW_CLASS_64_BITS        = 0x82C6,
155 		GL_VIEW_CLASS_48_BITS        = 0x82C7,
156 		GL_VIEW_CLASS_32_BITS        = 0x82C8,
157 		GL_VIEW_CLASS_24_BITS        = 0x82C9,
158 		GL_VIEW_CLASS_16_BITS        = 0x82CA,
159 		GL_VIEW_CLASS_8_BITS         = 0x82CB,
160 		GL_VIEW_CLASS_S3TC_DXT1_RGB  = 0x82CC,
161 		GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD,
162 		GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE,
163 		GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF,
164 		GL_VIEW_CLASS_RGTC1_RED      = 0x82D0,
165 		GL_VIEW_CLASS_RGTC2_RG       = 0x82D1,
166 		GL_VIEW_CLASS_BPTC_UNORM     = 0x82D2,
167 		GL_VIEW_CLASS_BPTC_FLOAT     = 0x82D3;
168 
169 	@Reuse("GL43")
170 	@StripPostfix("params")
glGetInternalformati64v(@Lenum int target, @GLenum int internalformat, @GLenum int pname, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params)171 	void glGetInternalformati64v(@GLenum int target, @GLenum int internalformat,
172 	                             @GLenum int pname, @AutoSize("params") @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params);
173 
174 	@Reuse("GL43")
175 	@Alternate("glGetInternalformati64v")
176 	@GLreturn("params")
177 	@StripPostfix(value = "params", hasPostfix = false)
glGetInternalformati64v2(@Lenum int target, @GLenum int internalformat, @GLenum int pname, @Constant(R) @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params)178 	void glGetInternalformati64v2(@GLenum int target, @GLenum int internalformat,
179 	                              @GLenum int pname, @Constant("1") @GLsizei int bufSize, @OutParameter @GLint64 LongBuffer params);
180 
181 }