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

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

Issue 2728343002: Refactor CopyTexture method determination (Closed)
Patch Set: fix windows build Created 3 years, 9 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 | « gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc ('k') | 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 <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 2012 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 bool ValidateCompressedTexSubDimensions( 2023 bool ValidateCompressedTexSubDimensions(
2024 const char* function_name, 2024 const char* function_name,
2025 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, 2025 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
2026 GLsizei width, GLsizei height, GLsizei depth, GLenum format, 2026 GLsizei width, GLsizei height, GLsizei depth, GLenum format,
2027 Texture* texture); 2027 Texture* texture);
2028 bool ValidateCopyTextureCHROMIUMTextures(const char* function_name, 2028 bool ValidateCopyTextureCHROMIUMTextures(const char* function_name,
2029 GLenum dest_target, 2029 GLenum dest_target,
2030 TextureRef* source_texture_ref, 2030 TextureRef* source_texture_ref,
2031 TextureRef* dest_texture_ref); 2031 TextureRef* dest_texture_ref);
2032 bool CanUseCopyTextureCHROMIUMInternalFormat(GLenum dest_internal_format); 2032 bool CanUseCopyTextureCHROMIUMInternalFormat(GLenum dest_internal_format);
2033 CopyTextureMethod ValidateCopyTextureCHROMIUMInternalFormats( 2033 bool ValidateCopyTextureCHROMIUMInternalFormats(const char* function_name,
2034 const char* function_name, 2034 GLenum source_internal_format,
2035 GLint source_level, 2035 GLenum dest_internal_format);
2036 GLenum source_internal_format, 2036 CopyTextureMethod getCopyTextureCHROMIUMMethod(GLenum source_target,
2037 GLenum source_type, 2037 GLint source_level,
2038 GLenum dest_target, 2038 GLenum source_internal_format,
2039 GLint dest_level, 2039 GLenum source_type,
2040 GLenum dest_internal_format); 2040 GLenum dest_target,
2041 GLint dest_level,
2042 GLenum dest_internal_format,
2043 bool flip_y,
2044 bool premultiply_alpha,
2045 bool unpremultiply_alpha);
2041 bool ValidateCompressedCopyTextureCHROMIUM(const char* function_name, 2046 bool ValidateCompressedCopyTextureCHROMIUM(const char* function_name,
2042 TextureRef* source_texture_ref, 2047 TextureRef* source_texture_ref,
2043 TextureRef* dest_texture_ref); 2048 TextureRef* dest_texture_ref);
2044 2049
2045 void RenderWarning(const char* filename, int line, const std::string& msg); 2050 void RenderWarning(const char* filename, int line, const std::string& msg);
2046 void PerformanceWarning( 2051 void PerformanceWarning(
2047 const char* filename, int line, const std::string& msg); 2052 const char* filename, int line, const std::string& msg);
2048 2053
2049 const FeatureInfo::FeatureFlags& features() const { 2054 const FeatureInfo::FeatureFlags& features() const {
2050 return feature_info_->feature_flags(); 2055 return feature_info_->feature_flags();
(...skipping 14251 matching lines...) Expand 10 before | Expand all | Expand 10 after
16302 case GL_RGB32F: 16307 case GL_RGB32F:
16303 case GL_RGBA16F: 16308 case GL_RGBA16F:
16304 case GL_RGBA32F: 16309 case GL_RGBA32F:
16305 case GL_R11F_G11F_B10F: 16310 case GL_R11F_G11F_B10F:
16306 return true; 16311 return true;
16307 default: 16312 default:
16308 return false; 16313 return false;
16309 } 16314 }
16310 } 16315 }
16311 16316
16312 CopyTextureMethod GLES2DecoderImpl::ValidateCopyTextureCHROMIUMInternalFormats( 16317 bool GLES2DecoderImpl::ValidateCopyTextureCHROMIUMInternalFormats(
16313 const char* function_name, 16318 const char* function_name,
16314 GLint source_level,
16315 GLenum source_internal_format, 16319 GLenum source_internal_format,
16316 GLenum source_type,
16317 GLenum dest_target,
16318 GLint dest_level,
16319 GLenum dest_internal_format) { 16320 GLenum dest_internal_format) {
16320 bool valid_dest_format = false; 16321 bool valid_dest_format = false;
16321 // TODO(qiankun.miao@intel.com): ALPHA, LUMINANCE and LUMINANCE_ALPHA formats 16322 // TODO(qiankun.miao@intel.com): ALPHA, LUMINANCE and LUMINANCE_ALPHA formats
16322 // are not supported on GL core profile. See crbug.com/577144. Enable the 16323 // are not supported on GL core profile. See crbug.com/577144. Enable the
16323 // workaround for glCopyTexImage and glCopyTexSubImage in 16324 // workaround for glCopyTexImage and glCopyTexSubImage in
16324 // gles2_cmd_copy_tex_image.cc for glCopyTextureCHROMIUM implementation. 16325 // gles2_cmd_copy_tex_image.cc for glCopyTextureCHROMIUM implementation.
16325 switch (dest_internal_format) { 16326 switch (dest_internal_format) {
16326 case GL_RGB: 16327 case GL_RGB:
16327 case GL_RGBA: 16328 case GL_RGBA:
16328 case GL_RGB8: 16329 case GL_RGB8:
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
16386 source_internal_format == GL_LUMINANCE_ALPHA || 16387 source_internal_format == GL_LUMINANCE_ALPHA ||
16387 source_internal_format == GL_BGRA_EXT || 16388 source_internal_format == GL_BGRA_EXT ||
16388 source_internal_format == GL_BGRA8_EXT || 16389 source_internal_format == GL_BGRA8_EXT ||
16389 source_internal_format == GL_RGB_YCBCR_420V_CHROMIUM || 16390 source_internal_format == GL_RGB_YCBCR_420V_CHROMIUM ||
16390 source_internal_format == GL_RGB_YCBCR_422_CHROMIUM; 16391 source_internal_format == GL_RGB_YCBCR_422_CHROMIUM;
16391 if (!valid_source_format) { 16392 if (!valid_source_format) {
16392 std::string msg = "invalid source internal format " + 16393 std::string msg = "invalid source internal format " +
16393 GLES2Util::GetStringEnum(source_internal_format); 16394 GLES2Util::GetStringEnum(source_internal_format);
16394 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name, 16395 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name,
16395 msg.c_str()); 16396 msg.c_str());
16396 return NOT_COPYABLE; 16397 return false;
16397 } 16398 }
16398 if (!valid_dest_format) { 16399 if (!valid_dest_format) {
16399 std::string msg = "invalid dest internal format " + 16400 std::string msg = "invalid dest internal format " +
16400 GLES2Util::GetStringEnum(dest_internal_format); 16401 GLES2Util::GetStringEnum(dest_internal_format);
16401 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name, 16402 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name,
16402 msg.c_str()); 16403 msg.c_str());
16403 return NOT_COPYABLE; 16404 return false;
16404 } 16405 }
16405 16406
16407 return true;
16408 }
16409
16410 CopyTextureMethod GLES2DecoderImpl::getCopyTextureCHROMIUMMethod(
16411 GLenum source_target,
16412 GLint source_level,
16413 GLenum source_internal_format,
16414 GLenum source_type,
16415 GLenum dest_target,
16416 GLint dest_level,
16417 GLenum dest_internal_format,
16418 bool flip_y,
16419 bool premultiply_alpha,
16420 bool unpremultiply_alpha) {
16421 bool premultiply_alpha_change = premultiply_alpha ^ unpremultiply_alpha;
16406 bool source_format_color_renderable = 16422 bool source_format_color_renderable =
16407 Texture::ColorRenderable(GetFeatureInfo(), source_internal_format, false); 16423 Texture::ColorRenderable(GetFeatureInfo(), source_internal_format, false);
16408 bool dest_format_color_renderable = 16424 bool dest_format_color_renderable =
16409 Texture::ColorRenderable(GetFeatureInfo(), dest_internal_format, false); 16425 Texture::ColorRenderable(GetFeatureInfo(), dest_internal_format, false);
16410 std::string output_error_msg; 16426 std::string output_error_msg;
16411 16427
16412 // CopyTexImage* should not allow internalformat of GL_BGRA_EXT and 16428 // CopyTexImage* should not allow internalformat of GL_BGRA_EXT and
16413 // GL_BGRA8_EXT. crbug.com/663086. 16429 // GL_BGRA8_EXT. crbug.com/663086.
16414 bool copy_tex_image_format_valid = 16430 bool copy_tex_image_format_valid =
16415 source_internal_format != GL_BGRA_EXT && 16431 source_internal_format != GL_BGRA_EXT &&
16416 dest_internal_format != GL_BGRA_EXT && 16432 dest_internal_format != GL_BGRA_EXT &&
16417 source_internal_format != GL_BGRA8_EXT && 16433 source_internal_format != GL_BGRA8_EXT &&
16418 dest_internal_format != GL_BGRA8_EXT && 16434 dest_internal_format != GL_BGRA8_EXT &&
16419 ValidateCopyTexFormatHelper(dest_internal_format, source_internal_format, 16435 ValidateCopyTexFormatHelper(dest_internal_format, source_internal_format,
16420 source_type, &output_error_msg); 16436 source_type, &output_error_msg);
16421 16437
16422 // TODO(qiankun.miao@intel.com): for WebGL 2.0 or OpenGL ES 3.0, both 16438 // TODO(qiankun.miao@intel.com): for WebGL 2.0 or OpenGL ES 3.0, both
16423 // DIRECT_DRAW path for dest_level > 0 and DIRECT_COPY path for source_level > 16439 // DIRECT_DRAW path for dest_level > 0 and DIRECT_COPY path for source_level >
16424 // 0 are not available due to a framebuffer completeness bug: 16440 // 0 are not available due to a framebuffer completeness bug:
16425 // crbug.com/678526. Once the bug is fixed, the limitation for WebGL 2.0 and 16441 // crbug.com/678526. Once the bug is fixed, the limitation for WebGL 2.0 and
16426 // OpenGL ES 3.0 can be lifted. 16442 // OpenGL ES 3.0 can be lifted.
16427 // For WebGL 1.0 or OpenGL ES 2.0, DIRECT_DRAW path isn't available for 16443 // For WebGL 1.0 or OpenGL ES 2.0, DIRECT_DRAW path isn't available for
16428 // dest_level > 0 due to level > 0 isn't supported by glFramebufferTexture2D 16444 // dest_level > 0 due to level > 0 isn't supported by glFramebufferTexture2D
16429 // in ES2 context. DIRECT_DRAW path isn't available for cube map dest texture 16445 // in ES2 context. DIRECT_DRAW path isn't available for cube map dest texture
16430 // either due to it may be cube map incomplete. Go to DRAW_AND_COPY path in 16446 // either due to it may be cube map incomplete. Go to DRAW_AND_COPY path in
16431 // these cases. 16447 // these cases.
16432 if (source_format_color_renderable && copy_tex_image_format_valid && 16448 if (source_target == GL_TEXTURE_2D &&
16433 source_level == 0) 16449 (dest_target == GL_TEXTURE_2D || dest_target == GL_TEXTURE_CUBE_MAP) &&
16450 source_format_color_renderable && copy_tex_image_format_valid &&
16451 source_level == 0 && !flip_y && !premultiply_alpha_change)
16434 return DIRECT_COPY; 16452 return DIRECT_COPY;
16435 if (dest_format_color_renderable && dest_level == 0 && 16453 if (dest_format_color_renderable && dest_level == 0 &&
16436 dest_target != GL_TEXTURE_CUBE_MAP) 16454 dest_target != GL_TEXTURE_CUBE_MAP)
16437 return DIRECT_DRAW; 16455 return DIRECT_DRAW;
16438 16456
16439 // Draw to a fbo attaching level 0 of an intermediate texture, 16457 // Draw to a fbo attaching level 0 of an intermediate texture,
16440 // then copy from the fbo to dest texture level with glCopyTexImage2D. 16458 // then copy from the fbo to dest texture level with glCopyTexImage2D.
16441 return DRAW_AND_COPY; 16459 return DRAW_AND_COPY;
16442 } 16460 }
16443 16461
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
16527 source_texture->GetLevelType(source_target, source_level, &source_type, 16545 source_texture->GetLevelType(source_target, source_level, &source_type,
16528 &source_internal_format); 16546 &source_internal_format);
16529 GLenum format = 16547 GLenum format =
16530 TextureManager::ExtractFormatFromStorageFormat(internal_format); 16548 TextureManager::ExtractFormatFromStorageFormat(internal_format);
16531 if (!texture_manager()->ValidateTextureParameters( 16549 if (!texture_manager()->ValidateTextureParameters(
16532 GetErrorState(), kFunctionName, true, format, dest_type, 16550 GetErrorState(), kFunctionName, true, format, dest_type,
16533 internal_format, dest_level)) { 16551 internal_format, dest_level)) {
16534 return; 16552 return;
16535 } 16553 }
16536 16554
16537 CopyTextureMethod method = ValidateCopyTextureCHROMIUMInternalFormats( 16555 if (!ValidateCopyTextureCHROMIUMInternalFormats(
16538 kFunctionName, source_level, source_internal_format, source_type, 16556 kFunctionName, source_internal_format, internal_format)) {
16539 dest_binding_target, dest_level, internal_format);
16540 // INVALID_OPERATION is already generated by
16541 // ValidateCopyTextureCHROMIUMInternalFormats.
16542 if (method == NOT_COPYABLE) {
16543 return; 16557 return;
16544 } 16558 }
16545 16559
16546 if (feature_info_->feature_flags().desktop_srgb_support) { 16560 if (feature_info_->feature_flags().desktop_srgb_support) {
16547 bool enable_framebuffer_srgb = 16561 bool enable_framebuffer_srgb =
16548 GLES2Util::GetColorEncodingFromInternalFormat(source_internal_format) == 16562 GLES2Util::GetColorEncodingFromInternalFormat(source_internal_format) ==
16549 GL_SRGB || 16563 GL_SRGB ||
16550 GLES2Util::GetColorEncodingFromInternalFormat(internal_format) == 16564 GLES2Util::GetColorEncodingFromInternalFormat(internal_format) ==
16551 GL_SRGB; 16565 GL_SRGB;
16552 state_.EnableDisableFramebufferSRGB(enable_framebuffer_srgb); 16566 state_.EnableDisableFramebufferSRGB(enable_framebuffer_srgb);
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
16662 copy_texture_CHROMIUM_->DoCopyTextureWithTransform( 16676 copy_texture_CHROMIUM_->DoCopyTextureWithTransform(
16663 this, source_target, source_texture->service_id(), source_level, 16677 this, source_target, source_texture->service_id(), source_level,
16664 source_internal_format, dest_target, dest_texture->service_id(), 16678 source_internal_format, dest_target, dest_texture->service_id(),
16665 dest_level, internal_format, source_width, source_height, 16679 dest_level, internal_format, source_width, source_height,
16666 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE, 16680 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16667 unpack_unmultiply_alpha == GL_TRUE, transform_matrix); 16681 unpack_unmultiply_alpha == GL_TRUE, transform_matrix);
16668 return; 16682 return;
16669 } 16683 }
16670 } 16684 }
16671 16685
16686 CopyTextureMethod method = getCopyTextureCHROMIUMMethod(
16687 source_target, source_level, source_internal_format, source_type,
16688 dest_binding_target, dest_level, internal_format,
16689 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16690 unpack_unmultiply_alpha == GL_TRUE);
16672 copy_texture_CHROMIUM_->DoCopyTexture( 16691 copy_texture_CHROMIUM_->DoCopyTexture(
16673 this, source_target, source_texture->service_id(), source_level, 16692 this, source_target, source_texture->service_id(), source_level,
16674 source_internal_format, dest_target, dest_texture->service_id(), 16693 source_internal_format, dest_target, dest_texture->service_id(),
16675 dest_level, internal_format, source_width, source_height, 16694 dest_level, internal_format, source_width, source_height,
16676 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE, 16695 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16677 unpack_unmultiply_alpha == GL_TRUE, method); 16696 unpack_unmultiply_alpha == GL_TRUE, method);
16678 } 16697 }
16679 16698
16680 void GLES2DecoderImpl::DoCopySubTextureCHROMIUM( 16699 void GLES2DecoderImpl::DoCopySubTextureCHROMIUM(
16681 GLuint source_id, 16700 GLuint source_id,
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
16779 "destination texture is not defined"); 16798 "destination texture is not defined");
16780 return; 16799 return;
16781 } 16800 }
16782 if (!dest_texture->ValidForTexture(dest_target, dest_level, xoffset, yoffset, 16801 if (!dest_texture->ValidForTexture(dest_target, dest_level, xoffset, yoffset,
16783 0, width, height, 1)) { 16802 0, width, height, 1)) {
16784 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, kFunctionName, 16803 LOCAL_SET_GL_ERROR(GL_INVALID_VALUE, kFunctionName,
16785 "destination texture bad dimensions."); 16804 "destination texture bad dimensions.");
16786 return; 16805 return;
16787 } 16806 }
16788 16807
16789 CopyTextureMethod method = ValidateCopyTextureCHROMIUMInternalFormats( 16808 if (!ValidateCopyTextureCHROMIUMInternalFormats(
16790 kFunctionName, source_level, source_internal_format, source_type, 16809 kFunctionName, source_internal_format, dest_internal_format)) {
16791 dest_binding_target, dest_level, dest_internal_format);
16792 // INVALID_OPERATION is already generated by
16793 // ValidateCopyTextureCHROMIUMInternalFormats.
16794 if (method == NOT_COPYABLE) {
16795 return; 16810 return;
16796 } 16811 }
16797 16812
16798 #if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
16799 // glDrawArrays is faster than glCopyTexSubImage2D on IA Mesa driver,
16800 // although opposite in Android.
16801 // TODO(dshwang): After Mesa fixes this issue, remove this hack.
16802 // https://bugs.freedesktop.org/show_bug.cgi?id=98478, crbug.com/535198.
16803 if (Texture::ColorRenderable(GetFeatureInfo(), dest_internal_format,
16804 dest_texture->IsImmutable()) &&
16805 method == DIRECT_COPY) {
16806 method = DIRECT_DRAW;
16807 }
16808 #endif
16809
16810 if (feature_info_->feature_flags().desktop_srgb_support) { 16813 if (feature_info_->feature_flags().desktop_srgb_support) {
16811 bool enable_framebuffer_srgb = 16814 bool enable_framebuffer_srgb =
16812 GLES2Util::GetColorEncodingFromInternalFormat(source_internal_format) == 16815 GLES2Util::GetColorEncodingFromInternalFormat(source_internal_format) ==
16813 GL_SRGB || 16816 GL_SRGB ||
16814 GLES2Util::GetColorEncodingFromInternalFormat(dest_internal_format) == 16817 GLES2Util::GetColorEncodingFromInternalFormat(dest_internal_format) ==
16815 GL_SRGB; 16818 GL_SRGB;
16816 state_.EnableDisableFramebufferSRGB(enable_framebuffer_srgb); 16819 state_.EnableDisableFramebufferSRGB(enable_framebuffer_srgb);
16817 } 16820 }
16818 16821
16819 // Clear the source texture if necessary. 16822 // Clear the source texture if necessary.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
16885 copy_texture_CHROMIUM_->DoCopySubTextureWithTransform( 16888 copy_texture_CHROMIUM_->DoCopySubTextureWithTransform(
16886 this, source_target, source_texture->service_id(), source_level, 16889 this, source_target, source_texture->service_id(), source_level,
16887 source_internal_format, dest_target, dest_texture->service_id(), 16890 source_internal_format, dest_target, dest_texture->service_id(),
16888 dest_level, dest_internal_format, xoffset, yoffset, x, y, width, 16891 dest_level, dest_internal_format, xoffset, yoffset, x, y, width,
16889 height, dest_width, dest_height, source_width, source_height, 16892 height, dest_width, dest_height, source_width, source_height,
16890 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE, 16893 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16891 unpack_unmultiply_alpha == GL_TRUE, transform_matrix); 16894 unpack_unmultiply_alpha == GL_TRUE, transform_matrix);
16892 return; 16895 return;
16893 } 16896 }
16894 } 16897 }
16898
16899 CopyTextureMethod method = getCopyTextureCHROMIUMMethod(
16900 source_target, source_level, source_internal_format, source_type,
16901 dest_binding_target, dest_level, dest_internal_format,
16902 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16903 unpack_unmultiply_alpha == GL_TRUE);
16904 #if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
16905 // glDrawArrays is faster than glCopyTexSubImage2D on IA Mesa driver,
16906 // although opposite in Android.
16907 // TODO(dshwang): After Mesa fixes this issue, remove this hack.
16908 // https://bugs.freedesktop.org/show_bug.cgi?id=98478, crbug.com/535198.
16909 if (Texture::ColorRenderable(GetFeatureInfo(), dest_internal_format,
16910 dest_texture->IsImmutable()) &&
16911 method == DIRECT_COPY) {
16912 method = DIRECT_DRAW;
16913 }
16914 #endif
16915
16895 copy_texture_CHROMIUM_->DoCopySubTexture( 16916 copy_texture_CHROMIUM_->DoCopySubTexture(
16896 this, source_target, source_texture->service_id(), source_level, 16917 this, source_target, source_texture->service_id(), source_level,
16897 source_internal_format, dest_target, dest_texture->service_id(), 16918 source_internal_format, dest_target, dest_texture->service_id(),
16898 dest_level, dest_internal_format, xoffset, yoffset, x, y, width, height, 16919 dest_level, dest_internal_format, xoffset, yoffset, x, y, width, height,
16899 dest_width, dest_height, source_width, source_height, 16920 dest_width, dest_height, source_width, source_height,
16900 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE, 16921 unpack_flip_y == GL_TRUE, unpack_premultiply_alpha == GL_TRUE,
16901 unpack_unmultiply_alpha == GL_TRUE, method); 16922 unpack_unmultiply_alpha == GL_TRUE, method);
16902 } 16923 }
16903 16924
16904 bool GLES2DecoderImpl::InitializeCopyTexImageBlitter( 16925 bool GLES2DecoderImpl::InitializeCopyTexImageBlitter(
(...skipping 2430 matching lines...) Expand 10 before | Expand all | Expand 10 after
19335 } 19356 }
19336 19357
19337 // Include the auto-generated part of this file. We split this because it means 19358 // Include the auto-generated part of this file. We split this because it means
19338 // we can easily edit the non-auto generated parts right here in this file 19359 // we can easily edit the non-auto generated parts right here in this file
19339 // instead of having to edit some template or the code generator. 19360 // instead of having to edit some template or the code generator.
19340 #include "base/macros.h" 19361 #include "base/macros.h"
19341 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 19362 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
19342 19363
19343 } // namespace gles2 19364 } // namespace gles2
19344 } // namespace gpu 19365 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698