gl2extchromium.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730
  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. // This file contains Chromium-specific GLES2 extensions declarations.
  5. #ifndef GPU_GLES2_GL2EXTCHROMIUM_H_
  6. #define GPU_GLES2_GL2EXTCHROMIUM_H_
  7. #include <GLES2/gl2.h>
  8. #include <GLES2/gl2ext.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* GL_CHROMIUM_texture_mailbox */
  13. #ifndef GL_CHROMIUM_texture_mailbox
  14. #define GL_CHROMIUM_texture_mailbox 1
  15. #ifndef GL_MAILBOX_SIZE_CHROMIUM
  16. #define GL_MAILBOX_SIZE_CHROMIUM 16
  17. #endif
  18. #ifdef GL_GLEXT_PROTOTYPES
  19. GL_APICALL void GL_APIENTRY glProduceTextureDirectCHROMIUM(GLuint texture,
  20. GLbyte* mailbox);
  21. GL_APICALL GLuint GL_APIENTRY
  22. glCreateAndConsumeTextureCHROMIUM(const GLbyte* mailbox);
  23. #endif
  24. typedef void (GL_APIENTRYP PFNGLGENMAILBOXCHROMIUMPROC) (GLbyte* mailbox);
  25. typedef void (GL_APIENTRYP PFNGLPRODUCETEXTUREDIRECTCHROMIUMPROC) (
  26. GLuint texture, GLenum target, const GLbyte* mailbox);
  27. typedef GLuint(GL_APIENTRYP PFNGLCREATEANDCONSUMETEXTURECHROMIUMPROC)(
  28. const GLbyte* mailbox);
  29. #endif /* GL_CHROMIUM_texture_mailbox */
  30. /* GL_CHROMIUM_pixel_transfer_buffer_object */
  31. #ifndef GL_CHROMIUM_pixel_transfer_buffer_object
  32. #define GL_CHROMIUM_pixel_transfer_buffer_object 1
  33. #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM
  34. // TODO(reveman): Get official numbers for this constants.
  35. #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_CHROMIUM 0x78EC
  36. #define GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM 0x78ED
  37. #ifdef GL_GLEXT_PROTOTYPES
  38. GL_APICALL void* GL_APIENTRY glMapBufferCHROMIUM(GLuint target,GLenum access);
  39. GL_APICALL GLboolean GL_APIENTRY glUnmapBufferCHROMIUM(GLuint target);
  40. #endif
  41. typedef void* (GL_APIENTRY PFNGLMAPBUFFERCHROMIUM) (
  42. GLuint target,GLenum access);
  43. typedef GLboolean (GL_APIENTRY PFNGLUNMAPBUFFERCHROMIUM) (GLuint target);
  44. #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
  45. #ifndef GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM
  46. // TODO(reveman): Get official numbers for this constants.
  47. #define GL_PIXEL_UNPACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EF
  48. #define GL_PIXEL_PACK_TRANSFER_BUFFER_BINDING_CHROMIUM 0x78EE
  49. #endif
  50. #ifndef GL_STREAM_READ
  51. #define GL_STREAM_READ 0x88E1
  52. #endif
  53. #endif /* GL_CHROMIUM_pixel_transfer_buffer_object */
  54. #ifndef GL_RGB_YCRCB_420_CHROMIUM
  55. #define GL_RGB_YCRCB_420_CHROMIUM 0x78FA
  56. #endif
  57. #ifndef GL_RGB_YCBCR_422_CHROMIUM
  58. #define GL_RGB_YCBCR_422_CHROMIUM 0x78FB
  59. #endif
  60. #ifndef GL_RGB_YCBCR_420V_CHROMIUM
  61. #define GL_RGB_YCBCR_420V_CHROMIUM 0x78FC
  62. #endif
  63. #ifndef GL_RGB_YCBCR_P010_CHROMIUM
  64. #define GL_RGB_YCBCR_P010_CHROMIUM 0x78FD
  65. #endif
  66. /* GL_CHROMIUM_deschedule */
  67. #ifndef GL_CHROMIUM_deschedule
  68. #define GL_CHROMIUM_deschedule 1
  69. #ifdef GL_GLEXT_PROTOTYPES
  70. GL_APICALL void GL_APIENTRY glDescheduleUntilFinishedCHROMIUM();
  71. #endif
  72. typedef void(GL_APIENTRYP PFNGLDESCHEDULEUNTILFINISHEDCHROMIUM)();
  73. #endif /* GL_CHROMIUM_deschedule */
  74. /* GL_CHROMIUM_map_sub */
  75. #ifndef GL_CHROMIUM_map_sub
  76. #define GL_CHROMIUM_map_sub 1
  77. #ifndef GL_READ_ONLY
  78. #define GL_READ_ONLY 0x88B8
  79. #endif
  80. #ifndef GL_WRITE_ONLY
  81. #define GL_WRITE_ONLY 0x88B9
  82. #endif
  83. #ifdef GL_GLEXT_PROTOTYPES
  84. GL_APICALL void* GL_APIENTRY glMapBufferSubDataCHROMIUM(
  85. GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
  86. GL_APICALL void GL_APIENTRY glUnmapBufferSubDataCHROMIUM(const void* mem);
  87. GL_APICALL void* GL_APIENTRY glMapTexSubImage2DCHROMIUM(
  88. GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
  89. GLsizei height, GLenum format, GLenum type, GLenum access);
  90. GL_APICALL void GL_APIENTRY glUnmapTexSubImage2DCHROMIUM(const void* mem);
  91. #endif
  92. typedef void* (GL_APIENTRYP PFNGLMAPBUFFERSUBDATACHROMIUMPROC) (
  93. GLuint target, GLintptr offset, GLsizeiptr size, GLenum access);
  94. typedef void (
  95. GL_APIENTRYP PFNGLUNMAPBUFFERSUBDATACHROMIUMPROC) (const void* mem);
  96. typedef void* (GL_APIENTRYP PFNGLMAPTEXSUBIMAGE2DCHROMIUMPROC) (
  97. GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
  98. GLsizei height, GLenum format, GLenum type, GLenum access);
  99. typedef void (
  100. GL_APIENTRYP PFNGLUNMAPTEXSUBIMAGE2DCHROMIUMPROC) (const void* mem);
  101. #endif /* GL_CHROMIUM_map_sub */
  102. /* GL_CHROMIUM_request_extension */
  103. #ifndef GL_CHROMIUM_request_extension
  104. #define GL_CHROMIUM_request_extension 1
  105. #ifdef GL_GLEXT_PROTOTYPES
  106. GL_APICALL const GLchar* GL_APIENTRY glGetRequestableExtensionsCHROMIUM();
  107. GL_APICALL void GL_APIENTRY glRequestExtensionCHROMIUM(const char* extension);
  108. #endif
  109. typedef const GLchar* (GL_APIENTRYP PFNGLGETREQUESTABLEEXTENSIONSCHROMIUMPROC) (
  110. );
  111. typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONCHROMIUMPROC) (
  112. const char* extension);
  113. #endif /* GL_CHROMIUM_request_extension */
  114. /* GL_CHROMIUM_get_error_query */
  115. #ifndef GL_CHROMIUM_get_error_query
  116. #define GL_CHROMIUM_get_error_query 1
  117. #ifndef GL_GET_ERROR_QUERY_CHROMIUM
  118. // TODO(gman): Get official numbers for this constants.
  119. #define GL_GET_ERROR_QUERY_CHROMIUM 0x6003
  120. #endif
  121. #endif /* GL_CHROMIUM_get_error_query */
  122. /* GL_CHROMIUM_bind_uniform_location */
  123. #ifndef GL_CHROMIUM_bind_uniform_location
  124. #define GL_CHROMIUM_bind_uniform_location 1
  125. #ifdef GL_GLEXT_PROTOTYPES
  126. GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(
  127. GLuint program, GLint location, const char* name);
  128. #endif
  129. typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC) (
  130. GLuint program, GLint location, const char* name);
  131. #endif /* GL_CHROMIUM_bind_uniform_location */
  132. /* GL_CHROMIUM_command_buffer_query */
  133. #ifndef GL_CHROMIUM_command_buffer_query
  134. #define GL_CHROMIUM_command_buffer_query 1
  135. #ifndef GL_COMMANDS_ISSUED_CHROMIUM
  136. // TODO(andrescj): Get official numbers for these constants.
  137. #define GL_COMMANDS_ISSUED_CHROMIUM 0x6004
  138. #endif
  139. #ifndef GL_COMMANDS_ISSUED_TIMESTAMP_CHROMIUM
  140. // TODO(andrescj): Get official numbers for these constants.
  141. #define GL_COMMANDS_ISSUED_TIMESTAMP_CHROMIUM 0x6005
  142. #endif
  143. #endif /* GL_CHROMIUM_command_buffer_query */
  144. /* GL_CHROMIUM_framebuffer_multisample */
  145. #ifndef GL_CHROMIUM_framebuffer_multisample
  146. #define GL_CHROMIUM_framebuffer_multisample 1
  147. #ifdef GL_GLEXT_PROTOTYPES
  148. GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleCHROMIUM (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  149. GL_APICALL void GL_APIENTRY glBlitFramebufferCHROMIUM (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  150. #endif
  151. typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECHROMIUMPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  152. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERCHROMIUMPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  153. #ifndef GL_FRAMEBUFFER_BINDING_EXT
  154. #define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
  155. #endif
  156. #ifndef GL_DRAW_FRAMEBUFFER_BINDING_EXT
  157. #define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_DRAW_FRAMEBUFFER_BINDING
  158. #endif
  159. #ifndef GL_RENDERBUFFER_BINDING_EXT
  160. #define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
  161. #endif
  162. #ifndef GL_RENDERBUFFER_SAMPLES
  163. #define GL_RENDERBUFFER_SAMPLES 0x8CAB
  164. #endif
  165. #ifndef GL_READ_FRAMEBUFFER_EXT
  166. #define GL_READ_FRAMEBUFFER_EXT GL_READ_FRAMEBUFFER
  167. #endif
  168. #ifndef GL_RENDERBUFFER_SAMPLES_EXT
  169. #define GL_RENDERBUFFER_SAMPLES_EXT GL_RENDERBUFFER_SAMPLES
  170. #endif
  171. #ifndef GL_RENDERBUFFER_BINDING
  172. #define GL_RENDERBUFFER_BINDING 0x8CA7
  173. #endif
  174. #ifndef GL_READ_FRAMEBUFFER_BINDING
  175. #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
  176. #endif
  177. #ifndef GL_MAX_SAMPLES
  178. #define GL_MAX_SAMPLES 0x8D57
  179. #endif
  180. #ifndef GL_READ_FRAMEBUFFER_BINDING_EXT
  181. #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_READ_FRAMEBUFFER_BINDING
  182. #endif
  183. #ifndef GL_DRAW_FRAMEBUFFER_BINDING
  184. #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
  185. #endif
  186. #ifndef GL_MAX_SAMPLES_EXT
  187. #define GL_MAX_SAMPLES_EXT GL_MAX_SAMPLES
  188. #endif
  189. #ifndef GL_DRAW_FRAMEBUFFER
  190. #define GL_DRAW_FRAMEBUFFER 0x8CA9
  191. #endif
  192. #ifndef GL_READ_FRAMEBUFFER
  193. #define GL_READ_FRAMEBUFFER 0x8CA8
  194. #endif
  195. #ifndef GL_DRAW_FRAMEBUFFER_EXT
  196. #define GL_DRAW_FRAMEBUFFER_EXT GL_DRAW_FRAMEBUFFER
  197. #endif
  198. #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
  199. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
  200. #endif
  201. #ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT
  202. #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE // NOLINT
  203. #endif
  204. #ifndef GL_FRAMEBUFFER_BINDING
  205. #define GL_FRAMEBUFFER_BINDING 0x8CA6
  206. #endif
  207. #endif /* GL_CHROMIUM_framebuffer_multisample */
  208. /* GL_ANGLE_texture_compression_dxt3 */
  209. #ifndef GL_ANGLE_texture_compression_dxt3
  210. #define GL_ANGLE_texture_compression_dxt3 1
  211. #ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
  212. #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
  213. #endif
  214. #endif /* GL_ANGLE_texture_compression_dxt3 */
  215. /* GL_ANGLE_texture_compression_dxt5 */
  216. #ifndef GL_ANGLE_texture_compression_dxt5
  217. #define GL_ANGLE_texture_compression_dxt5 1
  218. #ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
  219. #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
  220. #endif
  221. #endif /* GL_ANGLE_texture_compression_dxt5 */
  222. /* GL_ANGLE_rgbx_internal_format */
  223. #ifndef GL_ANGLE_rgbx_internal_format
  224. #define GL_ANGLE_rgbx_internal_format 1
  225. #ifndef GL_RGBX8_ANGLE
  226. #define GL_RGBX8_ANGLE 0x96BA
  227. #endif
  228. #endif /* GL_ANGLE_rgbx_internal_format */
  229. /* GL_CHROMIUM_async_pixel_transfers */
  230. #ifndef GL_CHROMIUM_async_pixel_transfers
  231. #define GL_CHROMIUM_async_pixel_transfers 1
  232. #ifndef GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM
  233. #define GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM 0x6006
  234. #endif
  235. #endif /* GL_CHROMIUM_async_pixel_transfers */
  236. #ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
  237. #define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
  238. #endif
  239. /* GL_CHROMIUM_copy_texture */
  240. #ifndef GL_CHROMIUM_copy_texture
  241. #define GL_CHROMIUM_copy_texture 1
  242. #ifndef GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM
  243. #define GL_UNPACK_COLORSPACE_CONVERSION_CHROMIUM 0x9243
  244. #endif
  245. #ifdef GL_GLEXT_PROTOTYPES
  246. GL_APICALL void GL_APIENTRY
  247. glCopyTextureCHROMIUM(GLenum source_id,
  248. GLint source_level,
  249. GLenum dest_target,
  250. GLenum dest_id,
  251. GLint dest_level,
  252. GLint internalformat,
  253. GLenum dest_type,
  254. GLboolean unpack_flip_y,
  255. GLboolean unpack_premultiply_alpha,
  256. GLboolean unpack_unmultiply_alpha);
  257. GL_APICALL void GL_APIENTRY
  258. glCopySubTextureCHROMIUM(GLenum source_id,
  259. GLint source_level,
  260. GLenum dest_target,
  261. GLenum dest_id,
  262. GLint dest_level,
  263. GLint xoffset,
  264. GLint yoffset,
  265. GLint x,
  266. GLint y,
  267. GLsizei width,
  268. GLsizei height,
  269. GLboolean unpack_flip_y,
  270. GLboolean unpack_premultiply_alpha,
  271. GLboolean unpack_unmultiply_alpha);
  272. #endif
  273. typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC)(
  274. GLenum source_id,
  275. GLint source_level,
  276. GLenum dest_target,
  277. GLenum dest_id,
  278. GLint dest_level,
  279. GLint internalformat,
  280. GLenum dest_type,
  281. GLboolean unpack_flip_y,
  282. GLboolean unpack_premultiply_alpha,
  283. GLboolean unpack_unmultiply_alpha);
  284. typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC)(
  285. GLenum source_id,
  286. GLint source_level,
  287. GLenum dest_target,
  288. GLenum dest_id,
  289. GLint dest_level,
  290. GLint xoffset,
  291. GLint yoffset,
  292. GLint x,
  293. GLint y,
  294. GLsizei width,
  295. GLsizei height,
  296. GLboolean unpack_flip_y,
  297. GLboolean unpack_premultiply_alpha,
  298. GLboolean unpack_unmultiply_alpha);
  299. #endif /* GL_CHROMIUM_copy_texture */
  300. /* GL_CHROMIUM_lose_context */
  301. #ifndef GL_CHROMIUM_lose_context
  302. #define GL_CHROMIUM_lose_context 1
  303. #ifdef GL_GLEXT_PROTOTYPES
  304. GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
  305. #endif
  306. typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (
  307. GLenum current, GLenum other);
  308. #endif /* GL_CHROMIUM_lose_context */
  309. /* GL_ARB_texture_rectangle */
  310. #ifndef GL_ARB_texture_rectangle
  311. #define GL_ARB_texture_rectangle 1
  312. #ifndef GL_SAMPLER_2D_RECT_ARB
  313. #define GL_SAMPLER_2D_RECT_ARB 0x8B63
  314. #endif
  315. #ifndef GL_TEXTURE_BINDING_RECTANGLE_ARB
  316. #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
  317. #endif
  318. #ifndef GL_TEXTURE_RECTANGLE_ARB
  319. #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
  320. #endif
  321. #endif /* GL_ARB_texture_rectangle */
  322. /* GL_CHROMIUM_enable_feature */
  323. #ifndef GL_CHROMIUM_enable_feature
  324. #define GL_CHROMIUM_enable_feature 1
  325. #ifdef GL_GLEXT_PROTOTYPES
  326. GL_APICALL GLboolean GL_APIENTRY glEnableFeatureCHROMIUM(const char* feature);
  327. #endif
  328. typedef GLboolean (GL_APIENTRYP PFNGLENABLEFEATURECHROMIUMPROC) (
  329. const char* feature);
  330. #endif /* GL_CHROMIUM_enable_feature */
  331. /* GL_CHROMIUM_command_buffer_latency_query */
  332. #ifndef GL_CHROMIUM_command_buffer_latency_query
  333. #define GL_CHROMIUM_command_buffer_latency_query 1
  334. #ifndef GL_LATENCY_QUERY_CHROMIUM
  335. // TODO(gman): Get official numbers for these constants.
  336. #define GL_LATENCY_QUERY_CHROMIUM 0x6007
  337. #endif
  338. #endif /* GL_CHROMIUM_command_buffer_latency_query */
  339. /* GL_ARB_robustness */
  340. #ifndef GL_ARB_robustness
  341. #define GL_ARB_robustness 1
  342. #ifndef GL_GUILTY_CONTEXT_RESET_ARB
  343. #define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
  344. #endif
  345. #ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
  346. #define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
  347. #endif
  348. #ifndef GL_INNOCENT_CONTEXT_RESET_ARB
  349. #define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
  350. #endif
  351. #endif /* GL_ARB_robustness */
  352. /* GL_EXT_framebuffer_blit */
  353. #ifndef GL_EXT_framebuffer_blit
  354. #define GL_EXT_framebuffer_blit 1
  355. #ifdef GL_GLEXT_PROTOTYPES
  356. GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(
  357. GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
  358. GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  359. #endif
  360. typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (
  361. GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0,
  362. GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  363. #endif /* GL_EXT_framebuffer_blit */
  364. /* GL_EXT_draw_buffers */
  365. #ifndef GL_EXT_draw_buffers
  366. #define GL_EXT_draw_buffers 1
  367. #ifdef GL_GLEXT_PROTOTYPES
  368. GL_APICALL void GL_APIENTRY glDrawBuffersEXT(
  369. GLsizei n, const GLenum* bufs);
  370. #endif
  371. typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (
  372. GLsizei n, const GLenum* bufs);
  373. #ifndef GL_COLOR_ATTACHMENT0_EXT
  374. #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
  375. #endif
  376. #ifndef GL_COLOR_ATTACHMENT1_EXT
  377. #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
  378. #endif
  379. #ifndef GL_COLOR_ATTACHMENT2_EXT
  380. #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
  381. #endif
  382. #ifndef GL_COLOR_ATTACHMENT3_EXT
  383. #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
  384. #endif
  385. #ifndef GL_COLOR_ATTACHMENT4_EXT
  386. #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
  387. #endif
  388. #ifndef GL_COLOR_ATTACHMENT5_EXT
  389. #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
  390. #endif
  391. #ifndef GL_COLOR_ATTACHMENT6_EXT
  392. #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
  393. #endif
  394. #ifndef GL_COLOR_ATTACHMENT7_EXT
  395. #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
  396. #endif
  397. #ifndef GL_COLOR_ATTACHMENT8_EXT
  398. #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
  399. #endif
  400. #ifndef GL_COLOR_ATTACHMENT9_EXT
  401. #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
  402. #endif
  403. #ifndef GL_COLOR_ATTACHMENT10_EXT
  404. #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
  405. #endif
  406. #ifndef GL_COLOR_ATTACHMENT11_EXT
  407. #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
  408. #endif
  409. #ifndef GL_COLOR_ATTACHMENT12_EXT
  410. #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
  411. #endif
  412. #ifndef GL_COLOR_ATTACHMENT13_EXT
  413. #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
  414. #endif
  415. #ifndef GL_COLOR_ATTACHMENT14_EXT
  416. #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
  417. #endif
  418. #ifndef GL_COLOR_ATTACHMENT15_EXT
  419. #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
  420. #endif
  421. #ifndef GL_DRAW_BUFFER0_EXT
  422. #define GL_DRAW_BUFFER0_EXT 0x8825
  423. #endif
  424. #ifndef GL_DRAW_BUFFER1_EXT
  425. #define GL_DRAW_BUFFER1_EXT 0x8826
  426. #endif
  427. #ifndef GL_DRAW_BUFFER2_EXT
  428. #define GL_DRAW_BUFFER2_EXT 0x8827
  429. #endif
  430. #ifndef GL_DRAW_BUFFER3_EXT
  431. #define GL_DRAW_BUFFER3_EXT 0x8828
  432. #endif
  433. #ifndef GL_DRAW_BUFFER4_EXT
  434. #define GL_DRAW_BUFFER4_EXT 0x8829
  435. #endif
  436. #ifndef GL_DRAW_BUFFER5_EXT
  437. #define GL_DRAW_BUFFER5_EXT 0x882A
  438. #endif
  439. #ifndef GL_DRAW_BUFFER6_EXT
  440. #define GL_DRAW_BUFFER6_EXT 0x882B
  441. #endif
  442. #ifndef GL_DRAW_BUFFER7_EXT
  443. #define GL_DRAW_BUFFER7_EXT 0x882C
  444. #endif
  445. #ifndef GL_DRAW_BUFFER8_EXT
  446. #define GL_DRAW_BUFFER8_EXT 0x882D
  447. #endif
  448. #ifndef GL_DRAW_BUFFER9_EXT
  449. #define GL_DRAW_BUFFER9_EXT 0x882E
  450. #endif
  451. #ifndef GL_DRAW_BUFFER10_EXT
  452. #define GL_DRAW_BUFFER10_EXT 0x882F
  453. #endif
  454. #ifndef GL_DRAW_BUFFER11_EXT
  455. #define GL_DRAW_BUFFER11_EXT 0x8830
  456. #endif
  457. #ifndef GL_DRAW_BUFFER12_EXT
  458. #define GL_DRAW_BUFFER12_EXT 0x8831
  459. #endif
  460. #ifndef GL_DRAW_BUFFER13_EXT
  461. #define GL_DRAW_BUFFER13_EXT 0x8832
  462. #endif
  463. #ifndef GL_DRAW_BUFFER14_EXT
  464. #define GL_DRAW_BUFFER14_EXT 0x8833
  465. #endif
  466. #ifndef GL_DRAW_BUFFER15_EXT
  467. #define GL_DRAW_BUFFER15_EXT 0x8834
  468. #endif
  469. #ifndef GL_MAX_COLOR_ATTACHMENTS_EXT
  470. #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
  471. #endif
  472. #ifndef GL_MAX_DRAW_BUFFERS_EXT
  473. #define GL_MAX_DRAW_BUFFERS_EXT 0x8824
  474. #endif
  475. #endif /* GL_EXT_draw_buffers */
  476. /* GL_CHROMIUM_resize */
  477. #ifndef GL_CHROMIUM_resize
  478. #define GL_CHROMIUM_resize 1
  479. typedef const struct _GLcolorSpace* GLcolorSpace;
  480. #ifdef GL_GLEXT_PROTOTYPES
  481. GL_APICALL void GL_APIENTRY glResizeCHROMIUM(GLuint width,
  482. GLuint height,
  483. GLfloat scale_factor,
  484. GLcolorSpace color_space,
  485. GLboolean alpha);
  486. #endif
  487. typedef void(GL_APIENTRYP PFNGLRESIZECHROMIUMPROC)(GLuint width,
  488. GLuint height,
  489. GLfloat scale_factor,
  490. GLcolorSpace color_space,
  491. GLboolean alpha);
  492. #endif /* GL_CHROMIUM_resize */
  493. /* GL_CHROMIUM_get_multiple */
  494. #ifndef GL_CHROMIUM_get_multiple
  495. #define GL_CHROMIUM_get_multiple 1
  496. #ifdef GL_GLEXT_PROTOTYPES
  497. GL_APICALL void GL_APIENTRY glGetProgramInfoCHROMIUM(
  498. GLuint program, GLsizei bufsize, GLsizei* size, void* info);
  499. #endif
  500. typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOCHROMIUMPROC) (
  501. GLuint program, GLsizei bufsize, GLsizei* size, void* info);
  502. #endif /* GL_CHROMIUM_get_multiple */
  503. /* GL_CHROMIUM_sync_point */
  504. #ifndef GL_CHROMIUM_sync_point
  505. #define GL_CHROMIUM_sync_point 1
  506. #ifndef GL_SYNC_TOKEN_SIZE_CHROMIUM
  507. #define GL_SYNC_TOKEN_SIZE_CHROMIUM 24
  508. #endif
  509. #ifdef GL_GLEXT_PROTOTYPES
  510. GL_APICALL void GL_APIENTRY glGenSyncTokenCHROMIUM(GLbyte* sync_token);
  511. GL_APICALL void GL_APIENTRY
  512. glGenUnverifiedSyncTokenCHROMIUM(GLbyte* sync_token);
  513. GL_APICALL void GL_APIENTRY glVerifySyncTokensCHROMIUM(GLbyte **sync_tokens,
  514. GLsizei count);
  515. GL_APICALL void GL_APIENTRY glWaitSyncTokenCHROMIUM(const GLbyte* sync_token);
  516. #endif
  517. typedef void(GL_APIENTRYP PFNGLGENSYNCTOKENCHROMIUMPROC)(GLbyte* sync_token);
  518. typedef void(GL_APIENTRYP PFNGLGENUNVERIFIEDSYNCTOKENCHROMIUMPROC)(
  519. GLbyte* sync_token);
  520. typedef void (GL_APIENTRYP PFNGLVERIFYSYNCTOKENSCHROMIUMPROC) (
  521. GLbyte **sync_tokens, GLsizei count);
  522. typedef void (GL_APIENTRYP PFNGLWAITSYNCTOKENCHROMIUM) (
  523. const GLbyte* sync_tokens);
  524. #endif /* GL_CHROMIUM_sync_point */
  525. #ifndef GL_CHROMIUM_color_buffer_float_rgba
  526. #define GL_CHROMIUM_color_buffer_float_rgba 1
  527. #ifndef GL_RGBA32F
  528. #define GL_RGBA32F 0x8814
  529. #endif
  530. #endif /* GL_CHROMIUM_color_buffer_float_rgba */
  531. #ifndef GL_CHROMIUM_color_buffer_float_rgb
  532. #define GL_CHROMIUM_color_buffer_float_rgb 1
  533. #ifndef GL_RGB32F
  534. #define GL_RGB32F 0x8815
  535. #endif
  536. #endif /* GL_CHROMIUM_color_buffer_float_rgb */
  537. /* GL_CHROMIUM_sync_query */
  538. #ifndef GL_CHROMIUM_sync_query
  539. #define GL_CHROMIUM_sync_query 1
  540. #ifndef GL_COMMANDS_COMPLETED_CHROMIUM
  541. #define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
  542. #endif
  543. #endif /* GL_CHROMIUM_sync_query */
  544. /* GL_CHROMIUM_nonblocking_readback */
  545. #ifndef GL_CHROMIUM_nonblocking_readback
  546. #define GL_CHROMIUM_nonblocking_readback 1
  547. #ifndef GL_READBACK_SHADOW_COPIES_UPDATED_CHROMIUM
  548. #define GL_READBACK_SHADOW_COPIES_UPDATED_CHROMIUM 0x84F8
  549. #endif
  550. #endif /* GL_CHROMIUM_nonblocking_readback */
  551. #ifndef GL_EXT_multisample_compatibility
  552. #define GL_EXT_multisample_compatibility 1
  553. #define GL_MULTISAMPLE_EXT 0x809D
  554. #define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
  555. #endif /* GL_EXT_multisample_compatiblity */
  556. #ifndef GL_EXT_blend_func_extended
  557. #define GL_EXT_blend_func_extended 1
  558. #ifdef GL_GLEXT_PROTOTYPES
  559. GL_APICALL void GL_APIENTRY glBindFragDataLocationIndexedEXT(GLuint program,
  560. GLuint colorNumber,
  561. GLuint index,
  562. const char* name);
  563. GL_APICALL void GL_APIENTRY glBindFragDataLocationEXT(GLuint program,
  564. GLuint colorNumber,
  565. const char* name);
  566. GL_APICALL GLint GL_APIENTRY glGetFragDataIndexEXT(GLuint program,
  567. const char* name);
  568. #endif
  569. typedef void(GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDEXT)(
  570. GLuint program,
  571. GLuint colorNumber,
  572. GLuint index,
  573. const char* name);
  574. typedef void(GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONEXT)(GLuint program,
  575. GLuint colorNumber,
  576. const char* name);
  577. typedef GLint(GL_APIENTRYP PFNGLGETFRAGDATAINDEXEXT)(GLuint program,
  578. const GLchar* name);
  579. #define GL_SRC_ALPHA_SATURATE_EXT 0x0308
  580. #define GL_SRC1_ALPHA_EXT 0x8589 // OpenGL 1.5 token value
  581. #define GL_SRC1_COLOR_EXT 0x88F9
  582. #define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA
  583. #define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB
  584. #define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC
  585. #endif /* GL_EXT_blend_func_extended */
  586. #ifndef GL_CHROMIUM_framebuffer_mixed_samples
  587. #define GL_CHROMIUM_framebuffer_mixed_samples 1
  588. typedef void(GL_APIENTRYP PFNGLCOVERAGEMODULATIONCHROMIUMPROC)(
  589. GLenum components);
  590. #ifdef GL_GLEXT_PROTOTYPES
  591. GL_APICALL void GL_APIENTRY glCoverageModulationCHROMIUM(GLenum components);
  592. #endif
  593. #define GL_COVERAGE_MODULATION_CHROMIUM 0x9332
  594. #endif /* GL_CHROMIUM_framebuffer_mixed_samples */
  595. #ifndef GL_ARB_occlusion_query
  596. #define GL_ARB_occlusion_query 1
  597. #define GL_SAMPLES_PASSED_ARB 0x8914
  598. #endif /* GL_ARB_occlusion_query */
  599. #ifndef GL_CHROMIUM_texture_filtering_hint
  600. #define GL_CHROMIUM_texture_filtering_hint 1
  601. #define GL_TEXTURE_FILTERING_HINT_CHROMIUM 0x8AF0
  602. #endif /* GL_CHROMIUM_texture_filtering_hint */
  603. #ifndef GL_QUERY_RESULT_AVAILABLE_NO_FLUSH_CHROMIUM_EXT
  604. #define GL_QUERY_RESULT_AVAILABLE_NO_FLUSH_CHROMIUM_EXT 0x8868
  605. #endif
  606. /* GL_CHROMIUM_shared_image */
  607. #ifndef GL_CHROMIUM_shared_image
  608. #define GL_CHROMIUM_shared_image 1
  609. #define GL_SHARED_IMAGE_ACCESS_MODE_READ_CHROMIUM 0x8AF6
  610. #define GL_SHARED_IMAGE_ACCESS_MODE_READWRITE_CHROMIUM 0x8AF7
  611. #define GL_SHARED_IMAGE_ACCESS_MODE_OVERLAY_CHROMIUM 0x8AF8
  612. #endif /* GL_CHROMIUM_shared_image */
  613. /* GL_CHROMIUM_program_completion_query */
  614. #ifndef GL_CHROMIUM_program_completion_query
  615. #define GL_CHROMIUM_program_completion_query 1
  616. #ifndef GL_PROGRAM_COMPLETION_QUERY_CHROMIUM
  617. // TODO(jie.a.chen@intel.com): Get official numbers for this constants.
  618. #define GL_PROGRAM_COMPLETION_QUERY_CHROMIUM 0x6009
  619. #endif
  620. #endif /* GL_CHROMIUM_program_completion_query */
  621. #ifdef __cplusplus
  622. }
  623. #endif
  624. #endif // GPU_GLES2_GL2EXTCHROMIUM_H_