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

Side by Side Diff: gpu/command_buffer/common/gles2_cmd_utils.cc

Issue 1516683007: Remove code duplication in GPU command buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 // This file is here so other GLES2 related files can have a common set of 5 // This file is here so other GLES2 related files can have a common set of
6 // includes where appropriate. 6 // includes where appropriate.
7 7
8 #include <sstream> 8 #include <sstream>
9 #include <GLES2/gl2.h> 9 #include <GLES2/gl2.h>
10 #include <GLES2/gl2ext.h> 10 #include <GLES2/gl2ext.h>
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 uint32 bytes_per_group = ComputeImageGroupSize(format, type); 535 uint32 bytes_per_group = ComputeImageGroupSize(format, type);
536 return ComputeImageRowSizeHelper( 536 return ComputeImageRowSizeHelper(
537 width, bytes_per_group, alignment, nullptr, padded_row_size); 537 width, bytes_per_group, alignment, nullptr, padded_row_size);
538 } 538 }
539 539
540 // Returns the amount of data glTexImage*D or glTexSubImage*D will access. 540 // Returns the amount of data glTexImage*D or glTexSubImage*D will access.
541 bool GLES2Util::ComputeImageDataSizes( 541 bool GLES2Util::ComputeImageDataSizes(
542 int width, int height, int depth, int format, int type, 542 int width, int height, int depth, int format, int type,
543 int alignment, uint32* size, uint32* opt_unpadded_row_size, 543 int alignment, uint32* size, uint32* opt_unpadded_row_size,
544 uint32* opt_padded_row_size) { 544 uint32* opt_padded_row_size) {
545 DCHECK(width >= 0 && height >= 0 && depth >= 0); 545 PixelStoreParams params;
546 546 params.alignment = alignment;
547 uint32 bytes_per_group = ComputeImageGroupSize(format, type); 547 return ComputeImageDataSizesES3(
548 548 width, height, depth, format, type, params,
549 uint32 unpadded_row_size; 549 size, opt_unpadded_row_size, opt_padded_row_size, nullptr);
550 uint32 padded_row_size;
551 if (!ComputeImageRowSizeHelper(width, bytes_per_group, alignment,
552 &unpadded_row_size, &padded_row_size)) {
553 return false;
554 }
555 uint32 num_of_rows;
556 if (!SafeMultiplyUint32(height, depth, &num_of_rows)) {
557 return false;
558 }
559 if (num_of_rows > 0) {
560 uint32 size_of_all_but_last_row;
561 if (!SafeMultiplyUint32((num_of_rows - 1), padded_row_size,
562 &size_of_all_but_last_row)) {
563 return false;
564 }
565 if (!SafeAddUint32(size_of_all_but_last_row, unpadded_row_size, size)) {
566 return false;
567 }
568 } else {
569 *size = 0;
570 }
571 if (opt_padded_row_size) {
572 *opt_padded_row_size = padded_row_size;
573 }
574 if (opt_unpadded_row_size) {
575 *opt_unpadded_row_size = unpadded_row_size;
576 }
577
578 return true;
579 } 550 }
580 551
581 bool GLES2Util::ComputeImageDataSizesES3( 552 bool GLES2Util::ComputeImageDataSizesES3(
582 int width, int height, int depth, int format, int type, 553 int width, int height, int depth, int format, int type,
583 const PixelStoreParams& params, 554 const PixelStoreParams& params,
584 uint32_t* size, uint32_t* opt_unpadded_row_size, 555 uint32_t* size, uint32_t* opt_unpadded_row_size,
585 uint32_t* opt_padded_row_size, uint32_t* opt_skip_size) { 556 uint32_t* opt_padded_row_size, uint32_t* opt_skip_size) {
586 DCHECK(width >= 0 && height >= 0 && depth >= 0); 557 DCHECK(width >= 0 && height >= 0 && depth >= 0);
587 558
588 uint32 bytes_per_group = ComputeImageGroupSize(format, type); 559 uint32 bytes_per_group = ComputeImageGroupSize(format, type);
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
1517 } 1488 }
1518 1489
1519 return true; 1490 return true;
1520 } 1491 }
1521 1492
1522 #include "gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h" 1493 #include "gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h"
1523 1494
1524 } // namespace gles2 1495 } // namespace gles2
1525 } // namespace gpu 1496 } // namespace gpu
1526 1497
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