diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 18:46:30 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-23 18:46:30 +0000 |
commit | 8e3e066579460f88a19e2e6e091c396f3bd851c3 (patch) | |
tree | 06df7936a1cba62db31ee09f437d1328ba21fbcf /gpu/command_buffer/client | |
parent | 83f49d2a539d5c2752958d8b6d7c9c6644aab62c (diff) | |
download | chromium_src-8e3e066579460f88a19e2e6e091c396f3bd851c3.zip chromium_src-8e3e066579460f88a19e2e6e091c396f3bd851c3.tar.gz chromium_src-8e3e066579460f88a19e2e6e091c396f3bd851c3.tar.bz2 |
Adds support for EXT_framebuffer_multisample
I probably need more tests but in order to test
I need to figure out how to init the system
with different caps enabled from the unit tests
and that's probably not a small amount of work
so leaving that till later.
TEST=some unit tests, ran conformance tests
BUG=none
Review URL: http://codereview.chromium.org/3122033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57081 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/client')
-rw-r--r-- | gpu/command_buffer/client/gles2_c_lib_autogen.h | 12 | ||||
-rw-r--r-- | gpu/command_buffer/client/gles2_cmd_helper_autogen.h | 16 | ||||
-rw-r--r-- | gpu/command_buffer/client/gles2_implementation_autogen.h | 29 |
3 files changed, 57 insertions, 0 deletions
diff --git a/gpu/command_buffer/client/gles2_c_lib_autogen.h b/gpu/command_buffer/client/gles2_c_lib_autogen.h index bae1f9e..0aca957 100644 --- a/gpu/command_buffer/client/gles2_c_lib_autogen.h +++ b/gpu/command_buffer/client/gles2_c_lib_autogen.h @@ -500,6 +500,18 @@ void GLES2VertexAttribPointer( void GLES2Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { gles2::GetGLContext()->Viewport(x, y, width, height); } +void GLES2BlitFramebufferEXT( + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, + GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + gles2::GetGLContext()->BlitFramebufferEXT( + srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); +} +void GLES2RenderbufferStorageMultisampleEXT( + GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height) { + gles2::GetGLContext()->RenderbufferStorageMultisampleEXT( + target, samples, internalformat, width, height); +} void GLES2SwapBuffers() { gles2::GetGLContext()->SwapBuffers(); } diff --git a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h index aa2270b..0815df3 100644 --- a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h +++ b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h @@ -1131,6 +1131,22 @@ c.Init(x, y, width, height); } + void BlitFramebufferEXT( + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, + GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + gles2::BlitFramebufferEXT& c = GetCmdSpace<gles2::BlitFramebufferEXT>(); + c.Init( + srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } + + void RenderbufferStorageMultisampleEXT( + GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height) { + gles2::RenderbufferStorageMultisampleEXT& c = + GetCmdSpace<gles2::RenderbufferStorageMultisampleEXT>(); + c.Init(target, samples, internalformat, width, height); + } + void SwapBuffers() { gles2::SwapBuffers& c = GetCmdSpace<gles2::SwapBuffers>(); c.Init(); diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h index 8dd914b..872bcf63 100644 --- a/gpu/command_buffer/client/gles2_implementation_autogen.h +++ b/gpu/command_buffer/client/gles2_implementation_autogen.h @@ -770,6 +770,35 @@ void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { helper_->Viewport(x, y, width, height); } +void BlitFramebufferEXT( + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, + GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { + helper_->BlitFramebufferEXT( + srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); +} + +void RenderbufferStorageMultisampleEXT( + GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, + GLsizei height) { + if (samples < 0) { + SetGLError( + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: samples < 0"); + return; + } + if (width < 0) { + SetGLError( + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: width < 0"); + return; + } + if (height < 0) { + SetGLError( + GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: height < 0"); + return; + } + helper_->RenderbufferStorageMultisampleEXT( + target, samples, internalformat, width, height); +} + void SwapBuffers(); GLuint GetMaxValueInBuffer( |