diff options
author | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 18:04:49 +0000 |
---|---|---|
committer | zmo@chromium.org <zmo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-14 18:04:49 +0000 |
commit | 2f143d485600728b7037d3a71920ab74abe07eb5 (patch) | |
tree | fc5d0d7ce1295d5741ed80a96843d5d08df5fd7c /gpu/GLES2 | |
parent | 0e2f4256b4bdc921a738c0285470aa1943885b33 (diff) | |
download | chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.zip chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.tar.gz chromium_src-2f143d485600728b7037d3a71920ab74abe07eb5.tar.bz2 |
Implement EXT_draw_buffers WebGL extention support in command buffer.
A few things:
1) I only hooked up with desktop GL backend, i.e., GL_ARB_draw_buffers. Will add GLES support later.
2) Probably we need to do something to enable this for Pepper3D also? If yes, will do so in a seperate CL.
3) I didn't add the wordarounds for Mac/Linux driver bugs. Will do so in a seperate CL.
BUG=180397
TEST=gpu_unittests, webgl conformance tests
Review URL: https://codereview.chromium.org/12545014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/GLES2')
-rw-r--r-- | gpu/GLES2/gl2chromium_autogen.h | 1 | ||||
-rw-r--r-- | gpu/GLES2/gl2extchromium.h | 119 |
2 files changed, 120 insertions, 0 deletions
diff --git a/gpu/GLES2/gl2chromium_autogen.h b/gpu/GLES2/gl2chromium_autogen.h index c53d1ce..fa099e6 100644 --- a/gpu/GLES2/gl2chromium_autogen.h +++ b/gpu/GLES2/gl2chromium_autogen.h @@ -225,6 +225,7 @@ #define glLoseContextCHROMIUM GLES2_GET_FUN(LoseContextCHROMIUM) #define glInsertSyncPointCHROMIUM GLES2_GET_FUN(InsertSyncPointCHROMIUM) #define glWaitSyncPointCHROMIUM GLES2_GET_FUN(WaitSyncPointCHROMIUM) +#define glDrawBuffersEXT GLES2_GET_FUN(DrawBuffersEXT) #endif // GPU_GLES2_GL2CHROMIUM_AUTOGEN_H_ diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h index 6609fd4..b8dbc30 100644 --- a/gpu/GLES2/gl2extchromium.h +++ b/gpu/GLES2/gl2extchromium.h @@ -413,6 +413,125 @@ typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) ( GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #endif /* GL_EXT_framebuffer_blit */ +/* GL_EXT_draw_buffers */ +#ifndef GL_EXT_draw_buffers +#define GL_EXT_draw_buffers 1 + +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawBuffersEXT( + GLsizei n, const GLenum* bufs); +#endif +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) ( + GLsizei n, const GLenum* bufs); + +#ifndef GL_COLOR_ATTACHMENT0_EXT +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#endif +#ifndef GL_COLOR_ATTACHMENT1_EXT +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#endif +#ifndef GL_COLOR_ATTACHMENT2_EXT +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#endif +#ifndef GL_COLOR_ATTACHMENT3_EXT +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#endif +#ifndef GL_COLOR_ATTACHMENT4_EXT +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#endif +#ifndef GL_COLOR_ATTACHMENT5_EXT +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#endif +#ifndef GL_COLOR_ATTACHMENT6_EXT +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#endif +#ifndef GL_COLOR_ATTACHMENT7_EXT +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#endif +#ifndef GL_COLOR_ATTACHMENT8_EXT +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#endif +#ifndef GL_COLOR_ATTACHMENT9_EXT +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#endif +#ifndef GL_COLOR_ATTACHMENT10_EXT +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#endif +#ifndef GL_COLOR_ATTACHMENT11_EXT +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#endif +#ifndef GL_COLOR_ATTACHMENT12_EXT +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#endif +#ifndef GL_COLOR_ATTACHMENT13_EXT +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#endif +#ifndef GL_COLOR_ATTACHMENT14_EXT +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#endif +#ifndef GL_COLOR_ATTACHMENT15_EXT +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#endif + +#ifndef GL_DRAW_BUFFER0_EXT +#define GL_DRAW_BUFFER0_EXT 0x8825 +#endif +#ifndef GL_DRAW_BUFFER1_EXT +#define GL_DRAW_BUFFER1_EXT 0x8826 +#endif +#ifndef GL_DRAW_BUFFER2_EXT +#define GL_DRAW_BUFFER2_EXT 0x8827 +#endif +#ifndef GL_DRAW_BUFFER3_EXT +#define GL_DRAW_BUFFER3_EXT 0x8828 +#endif +#ifndef GL_DRAW_BUFFER4_EXT +#define GL_DRAW_BUFFER4_EXT 0x8829 +#endif +#ifndef GL_DRAW_BUFFER5_EXT +#define GL_DRAW_BUFFER5_EXT 0x882A +#endif +#ifndef GL_DRAW_BUFFER6_EXT +#define GL_DRAW_BUFFER6_EXT 0x882B +#endif +#ifndef GL_DRAW_BUFFER7_EXT +#define GL_DRAW_BUFFER7_EXT 0x882C +#endif +#ifndef GL_DRAW_BUFFER8_EXT +#define GL_DRAW_BUFFER8_EXT 0x882D +#endif +#ifndef GL_DRAW_BUFFER9_EXT +#define GL_DRAW_BUFFER9_EXT 0x882E +#endif +#ifndef GL_DRAW_BUFFER10_EXT +#define GL_DRAW_BUFFER10_EXT 0x882F +#endif +#ifndef GL_DRAW_BUFFER11_EXT +#define GL_DRAW_BUFFER11_EXT 0x8830 +#endif +#ifndef GL_DRAW_BUFFER12_EXT +#define GL_DRAW_BUFFER12_EXT 0x8831 +#endif +#ifndef GL_DRAW_BUFFER13_EXT +#define GL_DRAW_BUFFER13_EXT 0x8832 +#endif +#ifndef GL_DRAW_BUFFER14_EXT +#define GL_DRAW_BUFFER14_EXT 0x8833 +#endif +#ifndef GL_DRAW_BUFFER15_EXT +#define GL_DRAW_BUFFER15_EXT 0x8834 +#endif + +#ifndef GL_MAX_COLOR_ATTACHMENTS_EXT +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#endif + +#ifndef GL_MAX_DRAW_BUFFERS_EXT +#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 +#endif + +#endif /* GL_EXT_draw_buffers */ + /* GL_CHROMIUM_resize */ #ifndef GL_CHROMIUM_resize #define GL_CHROMIUM_resize 1 |