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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h

Issue 2557783002: Improve metrics for display list canvas fallback reason (Closed)
Patch Set: Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 CompressedTexImage 980 CompressedTexImage
981 }; 981 };
982 982
983 // This must stay in sync with WebMediaPlayer::TexImageFunctionID. 983 // This must stay in sync with WebMediaPlayer::TexImageFunctionID.
984 enum TexImageFunctionID { 984 enum TexImageFunctionID {
985 TexImage2D, 985 TexImage2D,
986 TexSubImage2D, 986 TexSubImage2D,
987 TexImage3D, 987 TexImage3D,
988 TexSubImage3D 988 TexSubImage3D
989 }; 989 };
990 enum TexImageByGPUType { 990
991 TexImage2DByGPU, 991 static SnapshotReason functionIDToSnapshotReason(TexImageFunctionID);
992 TexSubImage2DByGPU, 992
993 TexSubImage3DByGPU
994 };
995 enum TexImageDimension { Tex2D, Tex3D }; 993 enum TexImageDimension { Tex2D, Tex3D };
996 void texImage2DBase(GLenum target, 994 void texImage2DBase(GLenum target,
997 GLint level, 995 GLint level,
998 GLint internalformat, 996 GLint internalformat,
999 GLsizei width, 997 GLsizei width,
1000 GLsizei height, 998 GLsizei height,
1001 GLint border, 999 GLint border,
1002 GLenum format, 1000 GLenum format,
1003 GLenum type, 1001 GLenum type,
1004 const void* pixels); 1002 const void* pixels);
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 } 1093 }
1096 } else { 1094 } else {
1097 DCHECK_EQ(depth, 1); 1095 DCHECK_EQ(depth, 1);
1098 DCHECK_EQ(unpackImageHeight, 0); 1096 DCHECK_EQ(unpackImageHeight, 0);
1099 } 1097 }
1100 return true; 1098 return true;
1101 } 1099 }
1102 1100
1103 // Copy from the source directly to the texture via the gpu, without a 1101 // Copy from the source directly to the texture via the gpu, without a
1104 // read-back to system memory. Source could be canvas or imageBitmap. 1102 // read-back to system memory. Source could be canvas or imageBitmap.
1105 void texImageByGPU(TexImageByGPUType, 1103 void texImageByGPU(TexImageFunctionID,
1106 WebGLTexture*, 1104 WebGLTexture*,
1107 GLenum target, 1105 GLenum target,
1108 GLint level, 1106 GLint level,
1109 GLint internalformat, 1107 GLint internalformat,
1110 GLenum type, 1108 GLenum type,
1111 GLint xoffset, 1109 GLint xoffset,
1112 GLint yoffset, 1110 GLint yoffset,
1113 GLint zoffset, 1111 GLint zoffset,
1114 CanvasImageSource*, 1112 CanvasImageSource*,
1115 const IntRect& sourceSubRectangle); 1113 const IntRect& sourceSubRectangle);
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 WebGLRenderingContextBase(HTMLCanvasElement*, 1637 WebGLRenderingContextBase(HTMLCanvasElement*,
1640 OffscreenCanvas*, 1638 OffscreenCanvas*,
1641 std::unique_ptr<WebGraphicsContext3DProvider>, 1639 std::unique_ptr<WebGraphicsContext3DProvider>,
1642 const CanvasContextCreationAttributes&, 1640 const CanvasContextCreationAttributes&,
1643 unsigned); 1641 unsigned);
1644 static std::unique_ptr<WebGraphicsContext3DProvider> 1642 static std::unique_ptr<WebGraphicsContext3DProvider>
1645 createContextProviderInternal(HTMLCanvasElement*, 1643 createContextProviderInternal(HTMLCanvasElement*,
1646 ScriptState*, 1644 ScriptState*,
1647 const CanvasContextCreationAttributes&, 1645 const CanvasContextCreationAttributes&,
1648 unsigned); 1646 unsigned);
1649 void texImageCanvasByGPU(HTMLCanvasElement*, 1647 void texImageCanvasByGPU(TexImageFunctionID,
1648 HTMLCanvasElement*,
1650 GLuint, 1649 GLuint,
1651 GLenum, 1650 GLenum,
1652 GLenum, 1651 GLenum,
1653 GLint, 1652 GLint,
1654 GLint, 1653 GLint,
1655 GLint, 1654 GLint,
1656 const IntRect& sourceSubRectangle); 1655 const IntRect& sourceSubRectangle);
1657 void texImageBitmapByGPU(ImageBitmap*, GLuint, GLenum, GLenum, GLint, bool); 1656 void texImageBitmapByGPU(ImageBitmap*, GLuint, GLenum, GLenum, GLint, bool);
1658 1657
1659 const unsigned m_version; 1658 const unsigned m_version;
1660 1659
1661 bool isPaintable() const final { return drawingBuffer(); } 1660 bool isPaintable() const final { return drawingBuffer(); }
1662 }; 1661 };
1663 1662
1664 DEFINE_TYPE_CASTS(WebGLRenderingContextBase, 1663 DEFINE_TYPE_CASTS(WebGLRenderingContextBase,
1665 CanvasRenderingContext, 1664 CanvasRenderingContext,
1666 context, 1665 context,
1667 context->is3d(), 1666 context->is3d(),
1668 context.is3d()); 1667 context.is3d());
1669 1668
1670 } // namespace blink 1669 } // namespace blink
1671 1670
1672 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS( 1671 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(
1673 blink::WebGLRenderingContextBase::TextureUnitState); 1672 blink::WebGLRenderingContextBase::TextureUnitState);
1674 1673
1675 #endif // WebGLRenderingContextBase_h 1674 #endif // WebGLRenderingContextBase_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698