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

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

Issue 653533005: gpu: Add missing ScopedRenderTo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review Created 6 years, 2 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 | no next file » | 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 <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 4348 matching lines...) Expand 10 before | Expand all | Expand 10 after
4359 attachment = GL_STENCIL_ATTACHMENT; 4359 attachment = GL_STENCIL_ATTACHMENT;
4360 break; 4360 break;
4361 default: 4361 default:
4362 NOTREACHED(); 4362 NOTREACHED();
4363 return; 4363 return;
4364 } 4364 }
4365 } 4365 }
4366 translated_attachments[i] = attachment; 4366 translated_attachments[i] = attachment;
4367 } 4367 }
4368 4368
4369 ScopedRenderTo do_render(framebuffer);
4369 glDiscardFramebufferEXT(target, numAttachments, translated_attachments.get()); 4370 glDiscardFramebufferEXT(target, numAttachments, translated_attachments.get());
4370 } 4371 }
4371 4372
4372 void GLES2DecoderImpl::DoEnableVertexAttribArray(GLuint index) { 4373 void GLES2DecoderImpl::DoEnableVertexAttribArray(GLuint index) {
4373 if (state_.vertex_attrib_manager->Enable(index, true)) { 4374 if (state_.vertex_attrib_manager->Enable(index, true)) {
4374 glEnableVertexAttribArray(index); 4375 glEnableVertexAttribArray(index);
4375 } else { 4376 } else {
4376 LOCAL_SET_GL_ERROR( 4377 LOCAL_SET_GL_ERROR(
4377 GL_INVALID_VALUE, "glEnableVertexAttribArray", "index out of range"); 4378 GL_INVALID_VALUE, "glEnableVertexAttribArray", "index out of range");
4378 } 4379 }
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
5000 GL_INVALID_VALUE, "glDeleteProgram", "unknown program"); 5001 GL_INVALID_VALUE, "glDeleteProgram", "unknown program");
5001 } 5002 }
5002 } 5003 }
5003 return error::kNoError; 5004 return error::kNoError;
5004 } 5005 }
5005 5006
5006 error::Error GLES2DecoderImpl::DoClear(GLbitfield mask) { 5007 error::Error GLES2DecoderImpl::DoClear(GLbitfield mask) {
5007 DCHECK(!ShouldDeferDraws()); 5008 DCHECK(!ShouldDeferDraws());
5008 if (CheckBoundFramebuffersValid("glClear")) { 5009 if (CheckBoundFramebuffersValid("glClear")) {
5009 ApplyDirtyState(); 5010 ApplyDirtyState();
5011 ScopedRenderTo do_render(framebuffer_state_.bound_draw_framebuffer.get());
5010 glClear(mask); 5012 glClear(mask);
5011 } 5013 }
5012 return error::kNoError; 5014 return error::kNoError;
5013 } 5015 }
5014 5016
5015 void GLES2DecoderImpl::DoFramebufferRenderbuffer( 5017 void GLES2DecoderImpl::DoFramebufferRenderbuffer(
5016 GLenum target, GLenum attachment, GLenum renderbuffertarget, 5018 GLenum target, GLenum attachment, GLenum renderbuffertarget,
5017 GLuint client_renderbuffer_id) { 5019 GLuint client_renderbuffer_id) {
5018 Framebuffer* framebuffer = GetFramebufferInfoForTarget(target); 5020 Framebuffer* framebuffer = GetFramebufferInfoForTarget(target);
5019 if (!framebuffer) { 5021 if (!framebuffer) {
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
5301 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 5303 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
5302 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, 5304 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
5303 GLbitfield mask, GLenum filter) { 5305 GLbitfield mask, GLenum filter) {
5304 DCHECK(!ShouldDeferReads() && !ShouldDeferDraws()); 5306 DCHECK(!ShouldDeferReads() && !ShouldDeferDraws());
5305 5307
5306 if (!CheckBoundFramebuffersValid("glBlitFramebufferCHROMIUM")) { 5308 if (!CheckBoundFramebuffersValid("glBlitFramebufferCHROMIUM")) {
5307 return; 5309 return;
5308 } 5310 }
5309 5311
5310 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false); 5312 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, false);
5313 ScopedRenderTo do_render(framebuffer_state_.bound_draw_framebuffer.get());
5311 BlitFramebufferHelper( 5314 BlitFramebufferHelper(
5312 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 5315 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
5313 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST, 5316 state_.SetDeviceCapabilityState(GL_SCISSOR_TEST,
5314 state_.enable_flags.scissor_test); 5317 state_.enable_flags.scissor_test);
5315 } 5318 }
5316 5319
5317 void GLES2DecoderImpl::EnsureRenderbufferBound() { 5320 void GLES2DecoderImpl::EnsureRenderbufferBound() {
5318 if (!state_.bound_renderbuffer_valid) { 5321 if (!state_.bound_renderbuffer_valid) {
5319 state_.bound_renderbuffer_valid = true; 5322 state_.bound_renderbuffer_valid = true;
5320 glBindRenderbufferEXT(GL_RENDERBUFFER, 5323 glBindRenderbufferEXT(GL_RENDERBUFFER,
(...skipping 5868 matching lines...) Expand 10 before | Expand all | Expand 10 after
11189 } 11192 }
11190 } 11193 }
11191 11194
11192 // Include the auto-generated part of this file. We split this because it means 11195 // Include the auto-generated part of this file. We split this because it means
11193 // we can easily edit the non-auto generated parts right here in this file 11196 // we can easily edit the non-auto generated parts right here in this file
11194 // instead of having to edit some template or the code generator. 11197 // instead of having to edit some template or the code generator.
11195 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 11198 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
11196 11199
11197 } // namespace gles2 11200 } // namespace gles2
11198 } // namespace gpu 11201 } // namespace gpu
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698