gl2ext_nv.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. /*
  2. * Copyright (c) 2011 - 2016 NVIDIA Corporation. All rights reserved.
  3. *
  4. * NVIDIA Corporation and its licensors retain all intellectual property
  5. * and proprietary rights in and to this software, related documentation
  6. * and any modifications thereto. Any use, reproduction, disclosure or
  7. * distribution of this software and related documentation without an express
  8. * license agreement from NVIDIA Corporation is strictly prohibited.
  9. */
  10. #ifndef __gl2ext_nv_h_
  11. #define __gl2ext_nv_h_
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #ifndef GL_ARB_half_float_pixel
  16. #define GL_ARB_half_float_pixel 1
  17. #define GL_HALF_FLOAT_ARB 0x140B
  18. #endif /* GL_ARB_half_float_pixel */
  19. #ifndef GL_ARB_texture_rectangle
  20. #define GL_ARB_texture_rectangle 1
  21. #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
  22. #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
  23. #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
  24. #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
  25. #define GL_SAMPLER_2D_RECT_ARB 0x8B63
  26. #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
  27. #endif /* GL_ARB_texture_rectangle */
  28. #ifndef GL_EXT_texture_compression_latc
  29. #define GL_EXT_texture_compression_latc 1
  30. #define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
  31. #define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
  32. #define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
  33. #define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
  34. #endif /* GL_EXT_texture_compression_latc */
  35. #ifndef GL_EXT_texture_lod_bias
  36. #define GL_EXT_texture_lod_bias 1
  37. #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
  38. #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
  39. #define GL_TEXTURE_LOD_BIAS_EXT 0x8501
  40. #endif /* GL_EXT_texture_lod_bias */
  41. #ifndef GL_NV_3dvision_settings
  42. #define GL_NV_3dvision_settings 1
  43. #define GL_3DVISION_STEREO_NV 0x90F4
  44. #define GL_STEREO_SEPARATION_NV 0x90F5
  45. #define GL_STEREO_CONVERGENCE_NV 0x90F6
  46. #define GL_STEREO_CUTOFF_NV 0x90F7
  47. #define GL_STEREO_PROJECTION_NV 0x90F8
  48. #define GL_STEREO_PROJECTION_PERSPECTIVE_NV 0x90F9
  49. #define GL_STEREO_PROJECTION_ORTHO_NV 0x90FA
  50. typedef void (GL_APIENTRYP PFNGLSTEREOPARAMETERFNVPROC) (GLenum pname, GLfloat params);
  51. typedef void (GL_APIENTRYP PFNGLSTEREOPARAMETERINVPROC) (GLenum pname, GLint params);
  52. #ifdef GL_GLEXT_PROTOTYPES
  53. GL_APICALL void GL_APIENTRY glStereoParameterfNV(GLenum pname, GLfloat params);
  54. GL_APICALL void GL_APIENTRY glStereoParameteriNV(GLenum pname, GLint params);
  55. #endif
  56. #endif /* GL_NV_3dvision_settings */
  57. #ifndef GL_NV_bgr
  58. #define GL_NV_bgr 1
  59. #define GL_BGR_NV 0x80E0
  60. #endif /* GL_NV_bgr */
  61. #ifndef GL_NV_copy_image
  62. #define GL_NV_copy_image 1
  63. typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
  64. #ifdef GL_GLEXT_PROTOTYPES
  65. GL_APICALL void GL_APIENTRY glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
  66. #endif
  67. #endif /* GL_NV_copy_image */
  68. #ifndef GL_NV_draw_path
  69. #define GL_NV_draw_path 1
  70. #define GL_PATH_QUALITY_NV 0x8ED8
  71. #define GL_FILL_RULE_NV 0x8ED9
  72. #define GL_STROKE_CAP0_STYLE_NV 0x8EE0
  73. #define GL_STROKE_CAP1_STYLE_NV 0x8EE1
  74. #define GL_STROKE_CAP2_STYLE_NV 0x8EE2
  75. #define GL_STROKE_CAP3_STYLE_NV 0x8EE3
  76. #define GL_STROKE_JOIN_STYLE_NV 0x8EE8
  77. #define GL_STROKE_MITER_LIMIT_NV 0x8EE9
  78. #define GL_EVEN_ODD_NV 0x8EF0
  79. #define GL_NON_ZERO_NV 0x8EF1
  80. #define GL_CAP_BUTT_NV 0x8EF4
  81. #define GL_CAP_ROUND_NV 0x8EF5
  82. #define GL_CAP_SQUARE_NV 0x8EF6
  83. #define GL_CAP_TRIANGLE_NV 0x8EF7
  84. #define GL_JOIN_MITER_NV 0x8EFC
  85. #define GL_JOIN_ROUND_NV 0x8EFD
  86. #define GL_JOIN_BEVEL_NV 0x8EFE
  87. #define GL_JOIN_CLIPPED_MITER_NV 0x8EFF
  88. #define GL_MATRIX_PATH_TO_CLIP_NV 0x8F04
  89. #define GL_MATRIX_STROKE_TO_PATH_NV 0x8F05
  90. #define GL_MATRIX_PATH_COORD0_NV 0x8F08
  91. #define GL_MATRIX_PATH_COORD1_NV 0x8F09
  92. #define GL_MATRIX_PATH_COORD2_NV 0x8F0A
  93. #define GL_MATRIX_PATH_COORD3_NV 0x8F0B
  94. #define GL_FILL_PATH_NV 0x8F18
  95. #define GL_STROKE_PATH_NV 0x8F19
  96. #define GL_QUADRATIC_BEZIER_TO_NV 0x02
  97. #define GL_CUBIC_BEZIER_TO_NV 0x03
  98. #define GL_START_MARKER_NV 0x20
  99. #define GL_CLOSE_NV 0x21
  100. #define GL_CLOSE_FILL_NV 0x22
  101. #define GL_STROKE_CAP0_NV 0x40
  102. #define GL_STROKE_CAP1_NV 0x41
  103. #define GL_STROKE_CAP2_NV 0x42
  104. #define GL_STROKE_CAP3_NV 0x43
  105. typedef GLuint (GL_APIENTRYP PFNGLCREATEPATHNVPROC) (GLenum datatype, GLsizei numCommands, const GLubyte* commands);
  106. typedef void (GL_APIENTRYP PFNGLDELETEPATHNVPROC) (GLuint path);
  107. typedef void (GL_APIENTRYP PFNGLPATHVERTICESNVPROC) (GLuint path, const void* vertices);
  108. typedef GLuint (GL_APIENTRYP PFNGLCREATEPATHPROGRAMNVPROC) (void);
  109. typedef void (GL_APIENTRYP PFNGLPATHMATRIXNVPROC) (GLenum target, const GLfloat* value);
  110. typedef void (GL_APIENTRYP PFNGLDRAWPATHNVPROC) (GLuint path, GLenum mode);
  111. typedef GLuint (GL_APIENTRYP PFNGLCREATEPATHBUFFERNVPROC) (GLsizei capacity);
  112. typedef void (GL_APIENTRYP PFNGLDELETEPATHBUFFERNVPROC) (GLuint buffer);
  113. typedef void (GL_APIENTRYP PFNGLPATHBUFFERPATHNVPROC) (GLuint buffer, GLint index, GLuint path);
  114. typedef void (GL_APIENTRYP PFNGLPATHBUFFERPOSITIONNVPROC) (GLuint buffer, GLint index, GLfloat x, GLfloat y);
  115. typedef void (GL_APIENTRYP PFNGLDRAWPATHBUFFERNVPROC) (GLuint buffer, GLenum mode);
  116. #ifdef GL_GLEXT_PROTOTYPES
  117. GL_APICALL GLuint GL_APIENTRY glCreatePathNV (GLenum datatype, GLsizei numCommands, const GLubyte* commands);
  118. GL_APICALL void GL_APIENTRY glDeletePathNV (GLuint path);
  119. GL_APICALL void GL_APIENTRY glPathVerticesNV (GLuint path, const void* vertices);
  120. GL_APICALL GLuint GL_APIENTRY glCreatePathProgramNV (void);
  121. GL_APICALL void GL_APIENTRY glPathMatrixNV (GLenum target, const GLfloat* value);
  122. GL_APICALL void GL_APIENTRY glDrawPathNV (GLuint path, GLenum mode);
  123. GL_APICALL GLuint GL_APIENTRY glCreatePathbufferNV (GLsizei capacity);
  124. GL_APICALL void GL_APIENTRY glDeletePathbufferNV (GLuint buffer);
  125. GL_APICALL void GL_APIENTRY glPathbufferPathNV (GLuint buffer, GLint index, GLuint path);
  126. GL_APICALL void GL_APIENTRY glPathbufferPositionNV (GLuint buffer, GLint index, GLfloat x, GLfloat y);
  127. GL_APICALL void GL_APIENTRY glDrawPathbufferNV (GLuint buffer, GLenum mode);
  128. #endif
  129. #endif /* GL_NV_draw_path */
  130. #ifndef GL_NV_draw_texture
  131. #define GL_NV_draw_texture 1
  132. typedef void (GL_APIENTRYP PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
  133. #ifdef GL_GLEXT_PROTOTYPES
  134. GL_APICALL void GL_APIENTRY glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
  135. #endif
  136. #endif /* GL_NV_draw_texture */
  137. #ifndef GL_NV_EGL_image_YUV
  138. #define GL_NV_EGL_image_YUV 1
  139. #define GL_IMAGE_PLANE_Y_NV 0x313D
  140. #define GL_IMAGE_PLANE_UV_NV 0x313E
  141. typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DYUVNVPROC) (GLenum target, GLenum plane, GLeglImageOES image);
  142. #ifdef GL_GLEXT_PROTOTYPES
  143. GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DYUVNV(GLenum target, GLenum plane, GLeglImageOES image);
  144. #endif
  145. #endif /* GL_NV_EGL_image_YUV */
  146. #ifndef GL_NV_framebuffer_sRGB
  147. #define GL_NV_framebuffer_sRGB 1
  148. #define GL_FRAMEBUFFER_SRGB_NV 0x8DB9
  149. #endif /* GL_NV_framebuffer_sRGB */
  150. #ifndef GL_NV_framebuffer_vertex_attrib_array
  151. #define GL_NV_framebuffer_vertex_attrib_array 1
  152. #define GL_FRAMEBUFFER_ATTACHABLE_NV 0x852A
  153. #define GL_VERTEX_ATTRIB_ARRAY_NV 0x852B
  154. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_SIZE_NV 0x852C
  155. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_TYPE_NV 0x852D
  156. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_NORMALIZED_NV 0x852E
  157. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_OFFSET_NV 0x852F
  158. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_WIDTH_NV 0x8530
  159. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_STRIDE_NV 0x8531
  160. #define GL_FRAMEBUFFER_ATTACHMENT_VERTEX_ATTRIB_ARRAY_HEIGHT_NV 0x8532
  161. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERVERTEXATTRIBARRAYNVPROC) (GLenum target, GLenum attachment, GLenum buffertarget, GLuint bufferobject, GLint size, GLenum type, GLboolean normalized, GLintptr offset, GLsizeiptr width, GLsizeiptr height, GLsizei stride);
  162. #ifdef GL_GLEXT_PROTOTYPES
  163. GL_APICALL void GL_APIENTRY glFramebufferVertexAttribArrayNV (GLenum target, GLenum attachment, GLenum buffertarget, GLuint bufferobject, GLint size, GLenum type, GLboolean normalized, GLintptr offset, GLsizeiptr width, GLsizeiptr height, GLsizei stride);
  164. #endif
  165. #endif /* GL_NV_framebuffer_vertex_attrib_array */
  166. #ifndef GL_NV_get_tex_image
  167. #define GL_NV_get_tex_image 1
  168. #define GL_TEXTURE_WIDTH_NV 0x1000
  169. #define GL_TEXTURE_HEIGHT_NV 0x1001
  170. #define GL_TEXTURE_INTERNAL_FORMAT_NV 0x1003
  171. #define GL_TEXTURE_COMPONENTS_NV GL_TEXTURE_INTERNAL_FORMAT_NV
  172. #define GL_TEXTURE_BORDER_NV 0x1005
  173. #define GL_TEXTURE_RED_SIZE_NV 0x805C
  174. #define GL_TEXTURE_GREEN_SIZE_NV 0x805D
  175. #define GL_TEXTURE_BLUE_SIZE_NV 0x805E
  176. #define GL_TEXTURE_ALPHA_SIZE_NV 0x805F
  177. #define GL_TEXTURE_LUMINANCE_SIZE_NV 0x8060
  178. #define GL_TEXTURE_INTENSITY_SIZE_NV 0x8061
  179. #define GL_TEXTURE_DEPTH_NV 0x8071
  180. #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_NV 0x86A0
  181. #define GL_TEXTURE_COMPRESSED_NV 0x86A1
  182. #define GL_TEXTURE_DEPTH_SIZE_NV 0x884A
  183. #define GL_PACK_SKIP_IMAGES_NV 0x806B
  184. #define GL_PACK_IMAGE_HEIGHT_NV 0x806C
  185. typedef void (GL_APIENTRYP PFNGLGETTEXIMAGENVPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* img);
  186. typedef void (GL_APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGENVPROC) (GLenum target, GLint level, GLvoid* img);
  187. typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVNVPROC) (GLenum target, GLint level, GLenum pname, GLfloat* params);
  188. typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVNVPROC) (GLenum target, GLint level, GLenum pname, GLint* params);
  189. #ifdef GL_GLEXT_PROTOTYPES
  190. GL_APICALL void GL_APIENTRY glGetTexImageNV (GLenum target, GLint level, GLenum format, GLenum type, GLvoid* img);
  191. GL_APICALL void GL_APIENTRY glGetCompressedTexImageNV (GLenum target, GLint level, GLvoid* img);
  192. GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvNV (GLenum target, GLint level, GLenum pname, GLfloat* params);
  193. GL_APICALL void GL_APIENTRY glGetTexLevelParameterivNV (GLenum target, GLint level, GLenum pname, GLint* params);
  194. #endif
  195. #endif /* GL_NV_get_tex_image */
  196. #ifndef GL_NV_occlusion_query_samples
  197. #define GL_NV_occlusion_query_samples 1
  198. #define GL_SAMPLES_PASSED_NV 0x8914
  199. #endif /* GL_NV_occlusion_query_samples */
  200. #ifndef GL_NV_pack_subimage
  201. #define GL_NV_pack_subimage 1
  202. #define GL_PACK_ROW_LENGTH_NV 0x0D02
  203. #define GL_PACK_SKIP_ROWS_NV 0x0D03
  204. #define GL_PACK_SKIP_PIXELS_NV 0x0D04
  205. #endif /* GL_NV_pack_subimage */
  206. #ifndef GL_NV_packed_float
  207. #define GL_NV_packed_float 1
  208. #define GL_R11F_G11F_B10F_NV 0x8C3A
  209. #define GL_UNSIGNED_INT_10F_11F_11F_REV_NV 0x8C3B
  210. #endif /* GL_NV_packed_float */
  211. #ifndef GL_NV_platform_binary
  212. #define GL_NV_platform_binary 1
  213. #define GL_NVIDIA_PLATFORM_BINARY_NV 0x890B
  214. #endif /* GL_NV_platform_binary */
  215. #ifndef GL_NV_sample_mask
  216. #define GL_NV_sample_mask 1
  217. #define GL_SAMPLE_POSITION_NV 0x8E50
  218. #define GL_SAMPLE_MASK_NV 0x8E51
  219. #define GL_SAMPLE_MASK_VALUE_NV 0x8E52
  220. #define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
  221. /* PFNGLGETINTEGERI_VNVPROC defined by NV_uniform_buffer_object */
  222. typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *value);
  223. typedef void (GL_APIENTRYP PFNGLSAMPLEMASKINVPROC) (GLuint index, GLbitfield mask);
  224. #ifdef GL_GLEXT_PROTOTYPES
  225. /* glGetIntegeri_vNV defined by NV_uniform_buffer_object */
  226. GL_APICALL void GL_APIENTRY glGetMultisamplefvNV (GLenum pname, GLuint index, GLfloat *value);
  227. GL_APICALL void GL_APIENTRY glSampleMaskiNV (GLuint index, GLbitfield mask);
  228. #endif
  229. #endif /* NV_sample_mask */
  230. #ifndef GL_NV_sampler_objects
  231. #define GL_NV_sampler_objects 1
  232. #define GL_SAMPLER_BINDING_NV 0x8919
  233. typedef void (GL_APIENTRYP PFNGLGENSAMPLERSNVPROC) (GLsizei count, GLuint *samplers);
  234. typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSNVPROC) (GLsizei count, const GLuint *samplers);
  235. typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERNVPROC) (GLuint sampler);
  236. typedef void (GL_APIENTRYP PFNGLBINDSAMPLERNVPROC) (GLuint unit, GLuint sampler);
  237. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERINVPROC) (GLuint sampler, GLenum pname, GLint param);
  238. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFNVPROC) (GLuint sampler, GLenum pname, GLfloat param);
  239. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVNVPROC) (GLuint sampler, GLenum pname, const GLint *params);
  240. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVNVPROC) (GLuint sampler, GLenum pname, const GLint *params);
  241. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVNVPROC) (GLuint sampler, GLenum pname, const GLuint *params);
  242. typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVNVPROC) (GLuint sampler, GLenum pname, const GLfloat *params);
  243. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVNVPROC) (GLuint sampler, GLenum pname, GLint *params);
  244. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVNVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
  245. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVNVPROC) (GLuint sampler, GLenum pname, GLint *params);
  246. typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVNVPROC) (GLuint sampler, GLenum pname, GLuint *params);
  247. #ifdef GL_GLEXT_PROTOTYPES
  248. GL_APICALL void GL_APIENTRY glGenSamplersNV (GLsizei count, GLuint *samplers);
  249. GL_APICALL void GL_APIENTRY glDeleteSamplersNV (GLsizei count, const GLuint *samplers);
  250. GL_APICALL GLboolean GL_APIENTRY glIsSamplerNV (GLuint sampler);
  251. GL_APICALL void GL_APIENTRY glBindSamplerNV (GLuint unit, GLuint sampler);
  252. GL_APICALL void GL_APIENTRY glSamplerParameteriNV (GLuint sampler, GLenum pname, GLint param);
  253. GL_APICALL void GL_APIENTRY glSamplerParameterfNV (GLuint sampler, GLenum pname, GLfloat param);
  254. GL_APICALL void GL_APIENTRY glSamplerParameterivNV (GLuint sampler, GLenum pname, const GLint *params);
  255. GL_APICALL void GL_APIENTRY glSamplerParameterfvNV (GLuint sampler, GLenum pname, const GLfloat *params);
  256. GL_APICALL void GL_APIENTRY glSamplerParameterIivNV (GLuint sampler, GLenum pname, const GLint *params);
  257. GL_APICALL void GL_APIENTRY glSamplerParameterIuivNV (GLuint sampler, GLenum pname, const GLint *params);
  258. GL_APICALL void GL_APIENTRY glGetSamplerParameterivNV (GLuint sampler, GLenum pname, GLint *params);
  259. GL_APICALL void GL_APIENTRY glGetSamplerParameterfvNV (GLuint sampler, GLenum pname, GLfloat *params);
  260. GL_APICALL void GL_APIENTRY glGetSamplerParameterIivNV (GLuint sampler, GLenum pname, GLint *params);
  261. GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivNV (GLuint sampler, GLenum pname, GLuint *params);
  262. #endif
  263. #endif /* GL_NV_sampler_objects */
  264. #ifndef GL_NV_shader_framebuffer_fetch
  265. #define GL_NV_shader_framebuffer_fetch 1
  266. #endif /* GL_NV_shader_framebuffer_fetch */
  267. #ifndef GL_NV_texture_array
  268. #define GL_NV_texture_array 1
  269. #define GL_UNPACK_SKIP_IMAGES_NV 0x806D
  270. #define GL_UNPACK_IMAGE_HEIGHT_NV 0x806E
  271. #define GL_TEXTURE_2D_ARRAY_NV 0x8C1A
  272. #define GL_SAMPLER_2D_ARRAY_NV 0x8DC1
  273. #define GL_TEXTURE_BINDING_2D_ARRAY_NV 0x8C1D
  274. #define GL_MAX_ARRAY_TEXTURE_LAYERS_NV 0x88FF
  275. #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_NV 0x8CD4
  276. typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DNVPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  277. typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
  278. typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  279. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DNVPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
  280. typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DNVPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
  281. typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERNVPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  282. #ifdef GL_GLEXT_PROTOTYPES
  283. GL_APICALL void GL_APIENTRY glTexImage3DNV (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
  284. GL_APICALL void GL_APIENTRY glTexSubImage3DNV (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
  285. GL_APICALL void GL_APIENTRY glCopyTexSubImage3DNV (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  286. GL_APICALL void GL_APIENTRY glCompressedTexImage3DNV (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
  287. GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DNV (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
  288. GL_APICALL void GL_APIENTRY glFramebufferTextureLayerNV (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  289. #endif
  290. #endif /* GL_NV_texture_array */
  291. #ifndef GL_NV_texture_compression_latc
  292. #define GL_NV_texture_compression_latc 1
  293. #define GL_COMPRESSED_LUMINANCE_LATC1_NV 0x8C70
  294. #define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_NV 0x8C71
  295. #define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_NV 0x8C72
  296. #define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_NV 0x8C73
  297. #endif /* GL_NV_texture_compression_latc */
  298. #ifndef GL_NV_texture_compression_s3tc
  299. #define GL_NV_texture_compression_s3tc 1
  300. #define GL_COMPRESSED_RGB_S3TC_DXT1_NV 0x83F0
  301. #define GL_COMPRESSED_RGBA_S3TC_DXT1_NV 0x83F1
  302. #define GL_COMPRESSED_RGBA_S3TC_DXT3_NV 0x83F2
  303. #define GL_COMPRESSED_RGBA_S3TC_DXT5_NV 0x83F3
  304. #endif /* GL_NV_texture_compression_s3tc */
  305. #ifndef GL_NV_timer_query
  306. #define GL_NV_timer_query 1
  307. typedef khronos_int64_t GLint64NV;
  308. typedef khronos_uint64_t GLuint64NV;
  309. #define GL_TIME_ELAPSED_NV 0x88BF
  310. #define GL_TIMESTAMP_NV 0x8E28
  311. typedef void (GL_APIENTRYP PFNGLQUERYCOUNTERNVPROC) (GLuint id, GLenum target);
  312. typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VNVPROC) (GLuint id, GLenum pname, GLuint64NV *params);
  313. #ifdef GL_GLEXT_PROTOTYPES
  314. GL_APICALL void GL_APIENTRY glQueryCounterNV(GLuint id, GLenum target);
  315. GL_APICALL void GL_APIENTRY glGetQueryObjectui64vNV(GLuint id, GLenum pname, GLuint64NV *params);
  316. #endif
  317. #endif /* GL_NV_timer_query */
  318. #ifndef GL_NV_uniform_buffer_object_es2
  319. #define GL_NV_uniform_buffer_object_es2
  320. #define GL_UNIFORM_BUFFER_NV 0x8A11
  321. #define GL_UNIFORM_BUFFER_BINDING_NV 0x8A28
  322. #define GL_UNIFORM_BUFFER_START_NV 0x8A29
  323. #define GL_UNIFORM_BUFFER_SIZE_NV 0x8A2A
  324. #define GL_MAX_VERTEX_UNIFORM_BLOCKS_NV 0x8A2B
  325. #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS_NV 0x8A2D
  326. #define GL_MAX_COMBINED_UNIFORM_BLOCKS_NV 0x8A2E
  327. #define GL_MAX_UNIFORM_BUFFER_BINDINGS_NV 0x8A2F
  328. #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS_NV 0x8A31
  329. #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS_NV 0x8A33
  330. #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT_NV 0x8A34
  331. #define GL_MAX_UNIFORM_BLOCK_SIZE_NV 0x8A30
  332. #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH_NV 0x8A35
  333. #define GL_ACTIVE_UNIFORM_BLOCKS_NV 0x8A36
  334. #define GL_UNIFORM_TYPE_NV 0x8A37
  335. #define GL_UNIFORM_SIZE_NV 0x8A38
  336. #define GL_UNIFORM_NAME_LENGTH_NV 0x8A39
  337. #define GL_UNIFORM_BLOCK_INDEX_NV 0x8A3A
  338. #define GL_UNIFORM_OFFSET_NV 0x8A3B
  339. #define GL_UNIFORM_ARRAY_STRIDE_NV 0x8A3C
  340. #define GL_UNIFORM_MATRIX_STRIDE_NV 0x8A3D
  341. #define GL_UNIFORM_IS_ROW_MAJOR_NV 0x8A3E
  342. #define GL_UNIFORM_BLOCK_BINDING_NV 0x8A3F
  343. #define GL_UNIFORM_BLOCK_DATA_SIZE_NV 0x8A40
  344. #define GL_UNIFORM_BLOCK_NAME_LENGTH_NV 0x8A41
  345. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS_NV 0x8A42
  346. #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES_NV 0x8A43
  347. #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER_NV 0x8A44
  348. #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER_NV 0x8A46
  349. #define GL_INVALID_INDEX_NV 0xFFFFFFFFu
  350. typedef void (GL_APIENTRYP PFNGLGETUNIFORMINDICESNVPROC) (GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);
  351. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVNVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
  352. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMNAMENVPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName);
  353. typedef GLuint (GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXNVPROC) (GLuint program, const GLchar* uniformBlockName);
  354. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVNVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
  355. typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMENVPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
  356. typedef void (GL_APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  357. typedef void (GL_APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
  358. typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VNVPROC) (GLenum target, GLuint index, GLint* data);
  359. typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VNVPROC) (GLenum target, GLuint index, GLint64NV* data);
  360. typedef void (GL_APIENTRYP PFNGLGETINTEGER64VNVPROC) (GLenum target, GLint64NV* data);
  361. typedef void (GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGNVPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  362. #ifdef GL_GLEXT_PROTOTYPES
  363. GL_APICALL void GL_APIENTRY glGetUniformIndicesNV(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, GLuint *uniformIndices);
  364. GL_APICALL void GL_APIENTRY glGetActiveUniformsivNV(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
  365. GL_APICALL void GL_APIENTRY glGetActiveUniformNameNV(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName);
  366. GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndexNV(GLuint program, const GLchar* uniformBlockName);
  367. GL_APICALL void GL_APIENTRY glGetActiveUniformBlockivNV(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
  368. GL_APICALL void GL_APIENTRY glGetActiveUniformBlockNameNV(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
  369. GL_APICALL void GL_APIENTRY glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  370. GL_APICALL void GL_APIENTRY glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer);
  371. GL_APICALL void GL_APIENTRY glGetIntegeri_vNV(GLenum target, GLuint index, GLint* data);
  372. GL_APICALL void GL_APIENTRY glGetInteger64i_vNV(GLenum target, GLuint index, GLint64NV* data);
  373. GL_APICALL void GL_APIENTRY glGetInteger64vNV(GLenum target, GLint64NV *data);
  374. GL_APICALL void GL_APIENTRY glUniformBlockBindingNV(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  375. #endif
  376. #endif /* GL_NV_uniform_buffer_object_es2 */
  377. #ifndef GL_SGIS_texture_lod
  378. #define GL_SGIS_texture_lod 1
  379. #define GL_TEXTURE_MIN_LOD_SGIS 0x813A
  380. #define GL_TEXTURE_MAX_LOD_SGIS 0x813B
  381. #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
  382. #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
  383. #endif /* GL_SGIS_texture_lod */
  384. #ifdef __cplusplus
  385. }
  386. #endif
  387. #endif /* __gl2ext_nv_h_ */