Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt |
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt |
index 5e7fad8c9932d247ca36607ad9c67340d15227d5..0c85ec5e87826da09b566f1df2ed8f1dda8573eb 100644 |
--- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt |
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt |
@@ -8,7 +8,7 @@ |
Version |
- Last Modifed Date: March 24, 2017 |
+ Last Modifed Date: July 16, 2014 |
Dependencies |
@@ -31,120 +31,122 @@ |
New Procedures and Functions |
- void CopyTextureCHROMIUM(uint sourceId, |
- int sourceLevel, |
- enum destTarget, |
- uint destId, |
- int destLevel, |
- int internalFormat, |
- enum destType, |
- boolean unpackFlipY, |
- boolean unpackPremultiplyAlpha, |
- boolean unpackUnmultiplyAlpha) |
- |
- |
- void CopySubTextureCHROMIUM(uint sourceId, |
- int sourceLevel, |
- enum destTarget, |
- uint destId, |
- int destLevel, |
- int xoffset, |
- int yoffset, |
- int x, |
- int y, |
- sizei width, |
- sizei height, |
- boolean unpackFlipY, |
- boolean unpackPremultiplyAlpha, |
- boolean unpackUnmultiplyAlpha) |
- |
-Additions to the OpenGL ES 2.0 Specification |
- |
The command |
- CopyTextureCHROMIUM |
- |
- Copies the contents of <sourceLevel> level of <sourceId> texture to |
- <destLevel> level and <destTarget> target of <destId> texture. |
- |
- <destTarget> must be TEXTURE_2D, |
- TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X, |
- TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y, |
- TEXTURE_CUBE_MAP_POSITIVE_Z, TEXTURE_CUBE_MAP_NEGATIVE_Z, |
- TEXTURE_RECTANGLE_ARB. |
+ void glCopyTextureCHROMIUM (GLenum source_id, |
+ GLint source_level, |
+ GLenum dest_target, |
+ GLenum dest_id, |
+ GLint dest_level, |
+ GLint internal_format, GLenum dest_type, |
+ GLboolean unpack_flip_y, |
+ GLboolean unpack_premultiply_alpha, |
+ GLboolean unpack_unmultiply_alpha) |
+ |
+ Copies the contents of <source_id> texture to <dest_id> texture. |
+ |
+ <source_level> specifies the level of the source texture which is copied |
+ from. |
+ <dest_level> specifies the level of the destination texture which is copied |
+ to. |
+ |
+ <dest_target> specifies the target of destination texture. Must be |
+ GL_TEXTURE_2D, |
+ GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, |
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, |
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, |
+ GL_TEXTURE_RECTANGLE_ARB. |
The internal format of the destination texture is converted to that |
- specified by <internalFormat>. |
- |
+ specified by <internal_format>. Must be one of the following symbolic |
+ constants: GL_RGB, GL_RGBA, GL_RGB8, GL_RGBA8, GL_BGRA_EXT, GL_BGRA8_EXT, |
+ GL_SRGB_EXT, GL_SRGB_ALPHA_EXT, GL_R8, GL_R8UI, GL_RG8, GL_RG8UI, GL_SRGB8, |
+ GL_RGB565, GL_RGB8UI, GL_SRGB8_ALPHA8, GL_RGB5_A1, GL_RGBA4, GL_RGBA4, |
+ GL_RGBA8UI, GL_RGB9_E5, GL_R16F, GL_R32F, GL_RG16F, GL_RG32F, GL_RGB16F, |
+ GL_RGB32F, GL_RGBA16F, GL_RGBA32F, GL_R11F_G11F_B10F. |
+ The internal format of source texture must be one of the following |
+ symbolic constants: GL_RED, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, |
+ GL_RGB, GL_RGBA, GL_RGB8, GL_RGBA8, GL_BGRA_EXT, GL_BGRA8_EXT, |
+ GL_RGB_YCBCR_420V_CHROMIUM, GL_RGB_YCBCR_422_CHROMIUM. |
When source texture doens't contain a superset of the component |
- required by <internalFormat>, fill the components by following rules. |
- |
- source format color components |
- ---------------------------------------- |
- ALPHA (0, 0, 0, A) |
- RED (R, 0, 0, 1) |
- LUMINANCE (L, L, L, 1) |
- LUMINANCE_ALPHA (L, L, L, A) |
- RGB (R, G, B, 1) |
- RGB8 (R, G, B, 1) |
- RGBA (R, G, B, A) |
- RGBA8 (R, G, B, A) |
- BGRA_EXT (R, G, B, A) |
- BGRA8_EXT (R, G, B, A) |
- RGB_YCBCR_420V_CHROMIUM (R, G, B, 1) |
- RGB_YCBCR_422_CHROMIUM (R, G, B, 1) |
+ required by <internal_format>, fill the components by following rules. |
+ |
+ source format color components |
+ ===================================================== |
+ GL_ALPHA (0, 0, 0, A) |
+ GL_RED (R, 0, 0, 1) |
+ GL_LUMINANCE (L, L, L, 1) |
+ GL_LUMINANCE_ALPHA (L, L, L, A) |
+ GL_RGB (R, G, B, 1) |
+ GL_RGB8 (R, G, B, 1) |
+ GL_RGBA (R, G, B, A) |
+ GL_RGBA8 (R, G, B, A) |
+ GL_BGRA_EXT (R, G, B, A) |
+ GL_BGRA8_EXT (R, G, B, A) |
+ GL_RGB_YCBCR_420V_CHROMIUM (R, G, B, 1) |
+ GL_RGB_YCBCR_422_CHROMIUM (R, G, B, 1) |
The format type of the destination texture is converted to that specified |
- by <destType>. |
- |
- If <flipY> is true, vertically flip texture image data. |
- |
- If <unpackPremultiplyAlpha> and <unpackUnmultiplyAlpha> are true, |
+ by <dest_type>. |
+ |
+ If <flip_y> is true, vertically flip texture image data. |
+ |
+ If <unpack_premultiply_alpha> and <unpack_unmultiply_alpha> are true, |
no alpha processing occurs. This is the equivalent of having neither flag |
set. |
- When <sourceId> refers to a stream texture, the texture matrix will be |
+ When <source_id> refers to a stream texture, the texture matrix will be |
applied as part of the copy operation. |
- INVALID_OPERATION is generated if <internalFormat> is not one of the |
- formats in Table 1.0. |
- |
- INVALID_OPERATION is generated if the internal format of <sourceId> is not |
- one of formats in Table 1.1. |
- |
- INVALID_VALUE is generated if <sourceId> or <destId> are not valid texture |
+ INVALID_OPERATION is generated if <internal_format> is not one of the valid |
+ formats described above. |
+ |
+ INVALID_OPERATION is generated if the internal format of <source_id> is not |
+ one of formats from the table above. |
+ |
+ INVALID_VALUE is generated if <source_id> or <dest_id> are not valid texture |
objects. |
- INVALID_ENUM is generated if <destTarget> is not one of the valid targets |
+ INVALID_ENUM is generated if <dest_target> is not one of the valid targets |
described above. |
INVALID_OPERATION is generated if the bound target of destination texture |
does not match <target>. |
- INVALID_VALUE is generated if textures corresponding to <destId> have not |
- been bound as TEXTURE_2D, TEXTURE_CUBE_MAP, or |
- TEXTURE_RECTANGLE_ARB objects. |
- |
- INVALID_VALUE is generated if textures corresponding to <sourceId> have not |
- been bound as TEXTURE_2D, TEXTURE_RECTANGLE_ARB or |
- TEXTURE_EXTERNAL_OES objects. |
- |
- INVALID_VALUE is generated if <sourceLevel> is not 0 for ES 2.0, or if |
- <sourceLevel> or <destLevel> is less than 0 for ES 3.0. |
- |
- INVALID_VALUE is generated if <sourceLevel> of the source texture is not |
+ INVALID_VALUE is generated if textures corresponding to <dest_id> have not |
+ been bound as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, or |
+ GL_TEXTURE_RECTANGLE_ARB objects. |
+ |
+ INVALID_VALUE is generated if textures corresponding to <source_id> have not |
+ been bound as GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE_ARB or |
+ GL_TEXTURE_EXTERNAL_OES objects. |
+ |
+ INVALID_VALUE is generated if <source_level> is not 0 for ES 2.0, or if |
+ <source_level> or <dest_level> is less than 0 for ES 3.0. |
+ |
+ INVALID_VALUE is generated if <source_level> of the source texture is not |
defined. |
The command |
- CopySubTextureCHROMIUM |
- |
- Copies the sub contents of texture referred to by <sourceId> to <destId> |
- texture without redefining <destId> texture. |
- |
- See CopyTextureCHROMIUM for the interpretation of the <destTarget>, |
- <sourceLevel>, <destLevel>, <flipY>, <premultiplyAlpha>, and |
- <unmultiplyAlpha> arguments. |
+ void glCopySubTextureCHROMIUM (GLenum source_id, |
+ GLint source_level, |
+ GLenum dest_target, |
+ GLenum dest_id, |
+ GLint dest_level, |
+ GLint xoffset, GLint yoffset, |
+ GLint x, GLint y, |
+ GLsizei width, GLsizei height, |
+ GLboolean unpack_flip_y, |
+ GLboolean unpack_premultiply_alpha, |
+ GLboolean unpack_unmultiply_alpha) |
+ |
+ Copies the sub contents of texture referred to by <source_id> to <dest_id> |
+ texture without redefining <dest_id> texture. |
+ |
+ See CopyTextureCHROMIUM for the interpretation of the <dest_target>, |
+ <source_level>, <dest_level>, <flip_y>, <premultiply_alpha>, and |
+ <unmultiply_alpha> arguments. |
<xoffset> and <yoffset> specify a texel offset in the x and y direction |
respectively within the destination texture. |
@@ -156,76 +158,25 @@ |
<height> specifies the width of the texture subimage. |
- INVALID_VALUE is generated if either <sourceId> texture or <destId> |
+ INVALID_VALUE is generated if either <source_id> texture or <dest_id> |
texture is not defined. |
- INVALID_OPERATION is generated if the internal format of <sourceId> or |
- <destId> is not one of formats in Table 1.1. |
+ INVALID_OPERATION is generated if source internal_format and destination |
+ internal_format are not one of the valid formats described above. |
INVALID_OPERATION is generated if the destination texture array has not |
been defined. |
- INVALID_VALUE is generated if <destId> texture is not bound as |
- TEXTURE_2D or TEXTURE_RECTANGLE_ARB. |
+ INVALID_VALUE is generated if <dest_id> texture is not bound as |
+ GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE_ARB. |
INVALID_VALUE is generated if level 0 of the source texture or |
the destination texture is not defined. |
- INVALID_VALUE is generated if (<xoffset> + <width>) > destWidth, |
- or (<yoffset> + <height>) > destHeight. |
- |
- Table 1.0 Valid internal formats for CopyTextureCHROMIUM: |
- |
- <internalFormat> |
- --------------- |
- RGB |
- RGBA |
- RGB8 |
- RGBA8 |
- BGRA_EXT |
- BGRA8_EXT, |
- SRGB_EXT |
- SRGB_ALPHA_EXT |
- R8 |
- R8UI |
- RG8 |
- RG8UI |
- SRGB8 |
- RGB565 |
- RGB8UI |
- SRGB8_ALPHA8 |
- RGB5_A1 |
- RGBA4 |
- RGBA4 |
- RGBA8UI |
- RGB9_E5 |
- R16F |
- R32F |
- RG16F |
- RG32F |
- RGB16F |
- RGB32F |
- RGBA16F |
- RGBA32F |
- R11F_G11F_B10F |
- |
- Table 1.1 Valid source texture internal formats for CopyTextureCHROMIUM and |
- source and destination formats for CopySubTextureCHROMIUM: |
- |
- internal format |
- --------------- |
- RED |
- ALPHA |
- LUMINANCE |
- LUMINANCE_ALPHA |
- RGB |
- RGBA |
- RGB8 |
- RGBA8 |
- BGRA_EXT |
- BGRA8_EXT |
- RGB_YCBCR_420V_CHROMIUM |
- RGB_YCBCR_422_CHROMIUM. |
+ INVALID_VALUE is generated if <xoffset> < 0 , or <yoffset> < 0. |
+ |
+ INVALID_VALUE is generated if (<xoffset> + <width>) > dest_width, |
+ or (<yoffset> + <height>) > dest_height. |
Dependencies on ARB_texture_rg |
@@ -253,12 +204,11 @@ |
8/1/2011 Documented the extension |
7/4/2013 Add a new parameter dest_type to glCopyTextureCHROMIUM() |
- 16/7/2014 Add TEXTURE_RECTANGLE_ARB as valid source_id target |
+ 16/7/2014 Add GL_TEXTURE_RECTANGLE_ARB as valid source_id target |
19/6/2015 Add arguments unpack_flip_y, unpack_premultiply_alpha, and |
unpack_unmultiply_alpha to both commands. |
4/1/2016 Removed the argument target. |
- 4/1/2016 Added TEXTURE_RECTANGLE_ARB as valid dest_id target. |
+ 4/1/2016 Added GL_TEXTURE_RECTANGLE_ARB as valid dest_id target. |
19/12/2016 Supported more ES 3.0 formats. |
18/1/2017 Supported source_level and dest_level. |
- 19/1/2017 Added TEXTURE_CUBE_MAP as valid dest_id target. |
- 24/3/2017 Clean up naming and move formats into tables. |
+ 19/1/2017 Added GL_TEXTURE_CUBE_MAP as valid dest_id target. |