Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h

Issue 3122033: Adds support for EXT_framebuffer_multisample... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
===================================================================
--- gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (revision 56887)
+++ gpu/command_buffer/service/gles2_cmd_decoder_autogen.h (working copy)
@@ -2723,6 +2723,68 @@
return error::kNoError;
}
+error::Error GLES2DecoderImpl::HandleBlitFramebufferEXT(
+ uint32 immediate_data_size, const gles2::BlitFramebufferEXT& c) {
+ GLint srcX0 = static_cast<GLint>(c.srcX0);
+ GLint srcY0 = static_cast<GLint>(c.srcY0);
+ GLint srcX1 = static_cast<GLint>(c.srcX1);
+ GLint srcY1 = static_cast<GLint>(c.srcY1);
+ GLint dstX0 = static_cast<GLint>(c.dstX0);
+ GLint dstY0 = static_cast<GLint>(c.dstY0);
+ GLint dstX1 = static_cast<GLint>(c.dstX1);
+ GLint dstY1 = static_cast<GLint>(c.dstY1);
+ GLbitfield mask = static_cast<GLbitfield>(c.mask);
+ GLenum filter = static_cast<GLenum>(c.filter);
+ if (!validators_->blit_filter.IsValid(filter)) {
+ SetGLError(
+ GL_INVALID_ENUM, "glBlitFramebufferEXT: filter GL_INVALID_ENUM");
+ return error::kNoError;
+ }
+ DoBlitFramebufferEXT(
+ srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
+ return error::kNoError;
+}
+
+error::Error GLES2DecoderImpl::HandleRenderbufferStorageMultisampleEXT(
+ uint32 immediate_data_size,
+ const gles2::RenderbufferStorageMultisampleEXT& c) {
+ GLenum target = static_cast<GLenum>(c.target);
+ GLsizei samples = static_cast<GLsizei>(c.samples);
+ GLenum internalformat = static_cast<GLenum>(c.internalformat);
+ GLsizei width = static_cast<GLsizei>(c.width);
+ GLsizei height = static_cast<GLsizei>(c.height);
+ if (!validators_->render_buffer_target.IsValid(target)) {
+ SetGLError(
+ GL_INVALID_ENUM,
+ "glRenderbufferStorageMultisampleEXT: target GL_INVALID_ENUM");
+ return error::kNoError;
+ }
+ if (samples < 0) {
+ SetGLError(
+ GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: samples < 0");
+ return error::kNoError;
+ }
+ if (!validators_->render_buffer_format.IsValid(internalformat)) {
+ SetGLError(
+ GL_INVALID_ENUM,
+ "glRenderbufferStorageMultisampleEXT: internalformat GL_INVALID_ENUM");
+ return error::kNoError;
+ }
+ if (width < 0) {
+ SetGLError(
+ GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: width < 0");
+ return error::kNoError;
+ }
+ if (height < 0) {
+ SetGLError(
+ GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: height < 0");
+ return error::kNoError;
+ }
+ DoRenderbufferStorageMultisample(
+ target, samples, internalformat, width, height);
+ return error::kNoError;
+}
+
error::Error GLES2DecoderImpl::HandleGetMaxValueInBuffer(
uint32 immediate_data_size, const gles2::GetMaxValueInBuffer& c) {
GLuint buffer_id = c.buffer_id;

Powered by Google App Engine
This is Rietveld 408576698