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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 2065843003: Remove transform feedback validation in Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix transform feedback status query Created 4 years, 6 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <limits.h> 7 #include <limits.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 3751 matching lines...) Expand 10 before | Expand all | Expand 10 after
3762 } 3762 }
3763 } 3763 }
3764 } 3764 }
3765 3765
3766 void GLES2DecoderImpl::DeleteTransformFeedbacksHelper( 3766 void GLES2DecoderImpl::DeleteTransformFeedbacksHelper(
3767 GLsizei n, const GLuint* client_ids) { 3767 GLsizei n, const GLuint* client_ids) {
3768 for (GLsizei ii = 0; ii < n; ++ii) { 3768 for (GLsizei ii = 0; ii < n; ++ii) {
3769 TransformFeedback* transform_feedback = GetTransformFeedback( 3769 TransformFeedback* transform_feedback = GetTransformFeedback(
3770 client_ids[ii]); 3770 client_ids[ii]);
3771 if (transform_feedback) { 3771 if (transform_feedback) {
3772 if (transform_feedback->active()) {
3773 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, "glDeleteTransformFeedbacks",
3774 "Deleting transform feedback is active");
3775 return;
3776 }
3772 if (state_.bound_transform_feedback.get() == transform_feedback) { 3777 if (state_.bound_transform_feedback.get() == transform_feedback) {
3773 // Bind to the default transform feedback. 3778 // Bind to the default transform feedback.
3774 DCHECK(state_.default_transform_feedback.get()); 3779 DCHECK(state_.default_transform_feedback.get());
3775 state_.default_transform_feedback->DoBindTransformFeedback( 3780 state_.default_transform_feedback->DoBindTransformFeedback(
3776 GL_TRANSFORM_FEEDBACK); 3781 GL_TRANSFORM_FEEDBACK);
3777 state_.bound_transform_feedback = 3782 state_.bound_transform_feedback =
3778 state_.default_transform_feedback.get(); 3783 state_.default_transform_feedback.get();
3779 } 3784 }
3780 RemoveTransformFeedback(client_ids[ii]); 3785 RemoveTransformFeedback(client_ids[ii]);
3781 } 3786 }
(...skipping 1973 matching lines...) Expand 10 before | Expand all | Expand 10 after
5755 GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER); 5760 GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER);
5756 GLenum read_buffer; 5761 GLenum read_buffer;
5757 if (framebuffer) { 5762 if (framebuffer) {
5758 read_buffer = framebuffer->read_buffer(); 5763 read_buffer = framebuffer->read_buffer();
5759 } else { 5764 } else {
5760 read_buffer = back_buffer_read_buffer_; 5765 read_buffer = back_buffer_read_buffer_;
5761 } 5766 }
5762 *params = static_cast<GLint>(read_buffer); 5767 *params = static_cast<GLint>(read_buffer);
5763 } 5768 }
5764 return true; 5769 return true;
5770 case GL_TRANSFORM_FEEDBACK_ACTIVE:
5771 *num_written = 1;
5772 if (params) {
5773 *params =
5774 static_cast<GLint>(state_.bound_transform_feedback->active());
5775 }
5776 return true;
5777 case GL_TRANSFORM_FEEDBACK_PAUSED:
5778 *num_written = 1;
5779 if (params) {
5780 *params =
5781 static_cast<GLint>(state_.bound_transform_feedback->paused());
5782 }
5783 return true;
5765 } 5784 }
5766 } 5785 }
5767 switch (pname) { 5786 switch (pname) {
5768 case GL_MAX_VIEWPORT_DIMS: 5787 case GL_MAX_VIEWPORT_DIMS:
5769 if (offscreen_target_frame_buffer_.get()) { 5788 if (offscreen_target_frame_buffer_.get()) {
5770 *num_written = 2; 5789 *num_written = 2;
5771 if (params) { 5790 if (params) {
5772 params[0] = renderbuffer_manager()->max_renderbuffer_size(); 5791 params[0] = renderbuffer_manager()->max_renderbuffer_size();
5773 params[1] = renderbuffer_manager()->max_renderbuffer_size(); 5792 params[1] = renderbuffer_manager()->max_renderbuffer_size();
5774 } 5793 }
(...skipping 11198 matching lines...) Expand 10 before | Expand all | Expand 10 after
16973 } 16992 }
16974 16993
16975 // Include the auto-generated part of this file. We split this because it means 16994 // Include the auto-generated part of this file. We split this because it means
16976 // we can easily edit the non-auto generated parts right here in this file 16995 // we can easily edit the non-auto generated parts right here in this file
16977 // instead of having to edit some template or the code generator. 16996 // instead of having to edit some template or the code generator.
16978 #include "base/macros.h" 16997 #include "base/macros.h"
16979 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 16998 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
16980 16999
16981 } // namespace gles2 17000 } // namespace gles2
16982 } // namespace gpu 17001 } // namespace gpu
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698