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

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

Issue 2458943002: Support 2D texture sub-source uploads from HTMLImageElement. (Closed)
Patch Set: Fixed bug in computation of default image sub-rectangle. Created 4 years, 1 month 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 1013 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 GLint level, 1024 GLint level,
1025 GLint internalformat, 1025 GLint internalformat,
1026 GLint xoffset, 1026 GLint xoffset,
1027 GLint yoffset, 1027 GLint yoffset,
1028 GLint zoffset, 1028 GLint zoffset,
1029 GLenum format, 1029 GLenum format,
1030 GLenum type, 1030 GLenum type,
1031 Image*, 1031 Image*,
1032 WebGLImageConversion::ImageHtmlDomSource, 1032 WebGLImageConversion::ImageHtmlDomSource,
1033 bool flipY, 1033 bool flipY,
1034 bool premultiplyAlpha); 1034 bool premultiplyAlpha,
1035 const IntRect&);
1035 1036
1036 // Copy from the source directly to the texture via the gpu, without a 1037 // Copy from the source directly to the texture via the gpu, without a
1037 // read-back to system memory. Souce could be canvas or imageBitmap. 1038 // read-back to system memory. Souce could be canvas or imageBitmap.
1038 void texImageByGPU(TexImageByGPUType, 1039 void texImageByGPU(TexImageByGPUType,
1039 WebGLTexture*, 1040 WebGLTexture*,
1040 GLenum target, 1041 GLenum target,
1041 GLint level, 1042 GLint level,
1042 GLint internalformat, 1043 GLint internalformat,
1043 GLenum type, 1044 GLenum type,
1044 GLint xoffset, 1045 GLint xoffset,
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
1494 void texImageHelperHTMLImageElement(TexImageFunctionID, 1495 void texImageHelperHTMLImageElement(TexImageFunctionID,
1495 GLenum, 1496 GLenum,
1496 GLint, 1497 GLint,
1497 GLint, 1498 GLint,
1498 GLenum, 1499 GLenum,
1499 GLenum, 1500 GLenum,
1500 GLint, 1501 GLint,
1501 GLint, 1502 GLint,
1502 GLint, 1503 GLint,
1503 HTMLImageElement*, 1504 HTMLImageElement*,
1505 const IntRect&,
1504 ExceptionState&); 1506 ExceptionState&);
1505 void texImageHelperHTMLCanvasElement(TexImageFunctionID, 1507 void texImageHelperHTMLCanvasElement(TexImageFunctionID,
1506 GLenum, 1508 GLenum,
1507 GLint, 1509 GLint,
1508 GLint, 1510 GLint,
1509 GLenum, 1511 GLenum,
1510 GLenum, 1512 GLenum,
1511 GLint, 1513 GLint,
1512 GLint, 1514 GLint,
1513 GLint, 1515 GLint,
(...skipping 15 matching lines...) Expand all
1529 GLint, 1531 GLint,
1530 GLint, 1532 GLint,
1531 GLenum, 1533 GLenum,
1532 GLenum, 1534 GLenum,
1533 GLint, 1535 GLint,
1534 GLint, 1536 GLint,
1535 GLint, 1537 GLint,
1536 ImageBitmap*, 1538 ImageBitmap*,
1537 ExceptionState&); 1539 ExceptionState&);
1538 static const char* getTexImageFunctionName(TexImageFunctionID); 1540 static const char* getTexImageFunctionName(TexImageFunctionID);
1541 IntRect sentinelEmptyRect();
1542 IntRect safeGetImageSize(Image*);
1539 1543
1540 private: 1544 private:
1541 WebGLRenderingContextBase(HTMLCanvasElement*, 1545 WebGLRenderingContextBase(HTMLCanvasElement*,
1542 OffscreenCanvas*, 1546 OffscreenCanvas*,
1543 std::unique_ptr<WebGraphicsContext3DProvider>, 1547 std::unique_ptr<WebGraphicsContext3DProvider>,
1544 const CanvasContextCreationAttributes&, 1548 const CanvasContextCreationAttributes&,
1545 unsigned); 1549 unsigned);
1546 static std::unique_ptr<WebGraphicsContext3DProvider> 1550 static std::unique_ptr<WebGraphicsContext3DProvider>
1547 createContextProviderInternal(HTMLCanvasElement*, 1551 createContextProviderInternal(HTMLCanvasElement*,
1548 ScriptState*, 1552 ScriptState*,
(...skipping 12 matching lines...) Expand all
1561 context, 1565 context,
1562 context->is3d(), 1566 context->is3d(),
1563 context.is3d()); 1567 context.is3d());
1564 1568
1565 } // namespace blink 1569 } // namespace blink
1566 1570
1567 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS( 1571 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(
1568 blink::WebGLRenderingContextBase::TextureUnitState); 1572 blink::WebGLRenderingContextBase::TextureUnitState);
1569 1573
1570 #endif // WebGLRenderingContextBase_h 1574 #endif // WebGLRenderingContextBase_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698