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

Side by Side Diff: content/common/gpu/client/gl_helper_scaling.cc

Issue 649533003: C++11 declares a type safe null pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Presubmit errors 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
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 "content/common/gpu/client/gl_helper_scaling.h" 5 #include "content/common/gpu/client/gl_helper_scaling.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 ScopedTextureBinder<GL_TEXTURE_2D> texture_binder(gl_, 144 ScopedTextureBinder<GL_TEXTURE_2D> texture_binder(gl_,
145 intermediate_texture_); 145 intermediate_texture_);
146 gl_->TexImage2D(GL_TEXTURE_2D, 146 gl_->TexImage2D(GL_TEXTURE_2D,
147 0, 147 0,
148 GL_RGBA, 148 GL_RGBA,
149 spec_.src_size.width(), 149 spec_.src_size.width(),
150 spec_.src_size.height(), 150 spec_.src_size.height(),
151 0, 151 0,
152 GL_RGBA, 152 GL_RGBA,
153 GL_UNSIGNED_BYTE, 153 GL_UNSIGNED_BYTE,
154 NULL); 154 nullptr);
155 } 155 }
156 } 156 }
157 157
158 virtual ~ScalerImpl() { 158 virtual ~ScalerImpl() {
159 if (intermediate_texture_) { 159 if (intermediate_texture_) {
160 gl_->DeleteTextures(1, &intermediate_texture_); 160 gl_->DeleteTextures(1, &intermediate_texture_);
161 } 161 }
162 } 162 }
163 163
164 // GLHelperShader::ShaderInterface implementation. 164 // GLHelperShader::ShaderInterface implementation.
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 gfx::Size src_size, 276 gfx::Size src_size,
277 gfx::Rect src_subrect, 277 gfx::Rect src_subrect,
278 const gfx::Size& dst_size, 278 const gfx::Size& dst_size,
279 bool vertically_flip_texture, 279 bool vertically_flip_texture,
280 bool swizzle, 280 bool swizzle,
281 std::deque<GLHelperScaling::ScaleOp>* x_ops, 281 std::deque<GLHelperScaling::ScaleOp>* x_ops,
282 std::deque<GLHelperScaling::ScaleOp>* y_ops, 282 std::deque<GLHelperScaling::ScaleOp>* y_ops,
283 std::vector<ScalerStage>* scaler_stages) { 283 std::vector<ScalerStage>* scaler_stages) {
284 while (!x_ops->empty() || !y_ops->empty()) { 284 while (!x_ops->empty() || !y_ops->empty()) {
285 gfx::Size intermediate_size = src_subrect.size(); 285 gfx::Size intermediate_size = src_subrect.size();
286 std::deque<ScaleOp>* current_queue = NULL; 286 std::deque<ScaleOp>* current_queue = nullptr;
287 287
288 if (!y_ops->empty()) { 288 if (!y_ops->empty()) {
289 current_queue = y_ops; 289 current_queue = y_ops;
290 } else { 290 } else {
291 current_queue = x_ops; 291 current_queue = x_ops;
292 } 292 }
293 293
294 ShaderType current_shader = SHADER_BILINEAR; 294 ShaderType current_shader = SHADER_BILINEAR;
295 switch (current_queue->front().scale_factor) { 295 switch (current_queue->front().scale_factor) {
296 case 0: 296 case 0:
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 bool swizzle) { 444 bool swizzle) {
445 std::vector<ScalerStage> scaler_stages; 445 std::vector<ScalerStage> scaler_stages;
446 ComputeScalerStages(quality, 446 ComputeScalerStages(quality,
447 src_size, 447 src_size,
448 src_subrect, 448 src_subrect,
449 dst_size, 449 dst_size,
450 vertically_flip_texture, 450 vertically_flip_texture,
451 swizzle, 451 swizzle,
452 &scaler_stages); 452 &scaler_stages);
453 453
454 ScalerImpl* ret = NULL; 454 ScalerImpl* ret = nullptr;
455 for (unsigned int i = 0; i < scaler_stages.size(); i++) { 455 for (unsigned int i = 0; i < scaler_stages.size(); i++) {
456 ret = new ScalerImpl(gl_, this, scaler_stages[i], ret, NULL); 456 ret = new ScalerImpl(gl_, this, scaler_stages[i], ret, nullptr);
457 } 457 }
458 return ret; 458 return ret;
459 } 459 }
460 460
461 GLHelper::ScalerInterface* GLHelperScaling::CreatePlanarScaler( 461 GLHelper::ScalerInterface* GLHelperScaling::CreatePlanarScaler(
462 const gfx::Size& src_size, 462 const gfx::Size& src_size,
463 const gfx::Rect& src_subrect, 463 const gfx::Rect& src_subrect,
464 const gfx::Size& dst_size, 464 const gfx::Size& dst_size,
465 bool vertically_flip_texture, 465 bool vertically_flip_texture,
466 bool swizzle, 466 bool swizzle,
467 const float color_weights[4]) { 467 const float color_weights[4]) {
468 ScalerStage stage(SHADER_PLANAR, 468 ScalerStage stage(SHADER_PLANAR,
469 src_size, 469 src_size,
470 src_subrect, 470 src_subrect,
471 dst_size, 471 dst_size,
472 true, 472 true,
473 vertically_flip_texture, 473 vertically_flip_texture,
474 swizzle); 474 swizzle);
475 return new ScalerImpl(gl_, this, stage, NULL, color_weights); 475 return new ScalerImpl(gl_, this, stage, nullptr, color_weights);
476 } 476 }
477 477
478 GLHelperScaling::ShaderInterface* GLHelperScaling::CreateYuvMrtShader( 478 GLHelperScaling::ShaderInterface* GLHelperScaling::CreateYuvMrtShader(
479 const gfx::Size& src_size, 479 const gfx::Size& src_size,
480 const gfx::Rect& src_subrect, 480 const gfx::Rect& src_subrect,
481 const gfx::Size& dst_size, 481 const gfx::Size& dst_size,
482 bool vertically_flip_texture, 482 bool vertically_flip_texture,
483 bool swizzle, 483 bool swizzle,
484 ShaderType shader) { 484 ShaderType shader) {
485 DCHECK(shader == SHADER_YUV_MRT_PASS1 || shader == SHADER_YUV_MRT_PASS2); 485 DCHECK(shader == SHADER_YUV_MRT_PASS1 || shader == SHADER_YUV_MRT_PASS2);
486 ScalerStage stage(shader, 486 ScalerStage stage(shader,
487 src_size, 487 src_size,
488 src_subrect, 488 src_subrect,
489 dst_size, 489 dst_size,
490 true, 490 true,
491 vertically_flip_texture, 491 vertically_flip_texture,
492 swizzle); 492 swizzle);
493 return new ScalerImpl(gl_, this, stage, NULL, NULL); 493 return new ScalerImpl(gl_, this, stage, nullptr, nullptr);
494 } 494 }
495 495
496 const GLfloat GLHelperScaling::kVertexAttributes[] = { 496 const GLfloat GLHelperScaling::kVertexAttributes[] = {
497 -1.0f, -1.0f, 0.0f, 0.0f, // vertex 0 497 -1.0f, -1.0f, 0.0f, 0.0f, // vertex 0
498 1.0f, -1.0f, 1.0f, 0.0f, // vertex 1 498 1.0f, -1.0f, 1.0f, 0.0f, // vertex 1
499 -1.0f, 1.0f, 0.0f, 1.0f, // vertex 2 499 -1.0f, 1.0f, 0.0f, 1.0f, // vertex 2
500 1.0f, 1.0f, 1.0f, 1.0f, }; // vertex 3 500 1.0f, 1.0f, 1.0f, 1.0f, }; // vertex 3
501 501
502 void GLHelperScaling::InitBuffer() { 502 void GLHelperScaling::InitBuffer() {
503 ScopedBufferBinder<GL_ARRAY_BUFFER> buffer_binder(gl_, 503 ScopedBufferBinder<GL_ARRAY_BUFFER> buffer_binder(gl_,
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 gl_->Uniform2f(dst_pixelsize_location_, 920 gl_->Uniform2f(dst_pixelsize_location_,
921 static_cast<float>(dst_size.width()), 921 static_cast<float>(dst_size.width()),
922 static_cast<float>(dst_size.height())); 922 static_cast<float>(dst_size.height()));
923 923
924 gl_->Uniform2f( 924 gl_->Uniform2f(
925 scaling_vector_location_, scale_x ? 1.0 : 0.0, scale_x ? 0.0 : 1.0); 925 scaling_vector_location_, scale_x ? 1.0 : 0.0, scale_x ? 0.0 : 1.0);
926 gl_->Uniform4fv(color_weights_location_, 1, color_weights); 926 gl_->Uniform4fv(color_weights_location_, 1, color_weights);
927 } 927 }
928 928
929 } // namespace content 929 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/client/gl_helper_readback_support.cc ('k') | content/common/gpu/client/gl_helper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698