| 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 0c85ec5e87826da09b566f1df2ed8f1dda8573eb..5e7fad8c9932d247ca36607ad9c67340d15227d5 100644
|
| --- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt
|
| +++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_texture.txt
|
| @@ -8,7 +8,7 @@ Name Strings
|
|
|
| Version
|
|
|
| - Last Modifed Date: July 16, 2014
|
| + Last Modifed Date: March 24, 2017
|
|
|
| Dependencies
|
|
|
| @@ -31,122 +31,120 @@ Overview
|
|
|
| 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
|
|
|
| - 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.
|
| + 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.
|
|
|
| The internal format of the destination texture is converted to that
|
| - 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.
|
| + specified by <internalFormat>.
|
| +
|
| When source texture doens't contain a superset of the component
|
| - 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)
|
| + 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)
|
|
|
| The format type of the destination texture is converted to that specified
|
| - by <dest_type>.
|
| + by <destType>.
|
|
|
| - If <flip_y> is true, vertically flip texture image data.
|
| + If <flipY> is true, vertically flip texture image data.
|
|
|
| - If <unpack_premultiply_alpha> and <unpack_unmultiply_alpha> are true,
|
| + If <unpackPremultiplyAlpha> and <unpackUnmultiplyAlpha> are true,
|
| no alpha processing occurs. This is the equivalent of having neither flag
|
| set.
|
|
|
| - When <source_id> refers to a stream texture, the texture matrix will be
|
| + When <sourceId> refers to a stream texture, the texture matrix will be
|
| applied as part of the copy operation.
|
|
|
| - INVALID_OPERATION is generated if <internal_format> is not one of the valid
|
| - formats described above.
|
| + 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 <source_id> is not
|
| - one of formats from the table above.
|
| + INVALID_OPERATION is generated if the internal format of <sourceId> is not
|
| + one of formats in Table 1.1.
|
|
|
| - INVALID_VALUE is generated if <source_id> or <dest_id> are not valid texture
|
| + INVALID_VALUE is generated if <sourceId> or <destId> are not valid texture
|
| objects.
|
|
|
| - INVALID_ENUM is generated if <dest_target> is not one of the valid targets
|
| + INVALID_ENUM is generated if <destTarget> 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 <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 <destId> have not
|
| + been bound as TEXTURE_2D, TEXTURE_CUBE_MAP, or
|
| + 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 textures corresponding to <sourceId> have not
|
| + been bound as TEXTURE_2D, TEXTURE_RECTANGLE_ARB or
|
| + 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 <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 <source_level> of the source texture is not
|
| + INVALID_VALUE is generated if <sourceLevel> of the source texture is not
|
| defined.
|
|
|
| The command
|
|
|
| - 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.
|
| + 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.
|
|
|
| <xoffset> and <yoffset> specify a texel offset in the x and y direction
|
| respectively within the destination texture.
|
| @@ -158,25 +156,76 @@ New Procedures and Functions
|
|
|
| <height> specifies the width of the texture subimage.
|
|
|
| - INVALID_VALUE is generated if either <source_id> texture or <dest_id>
|
| + INVALID_VALUE is generated if either <sourceId> texture or <destId>
|
| texture is not defined.
|
|
|
| - 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 internal format of <sourceId> or
|
| + <destId> is not one of formats in Table 1.1.
|
|
|
| INVALID_OPERATION is generated if the destination texture array has not
|
| been defined.
|
|
|
| - 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 <destId> texture is not bound as
|
| + TEXTURE_2D or 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> < 0 , or <yoffset> < 0.
|
| -
|
| - INVALID_VALUE is generated if (<xoffset> + <width>) > dest_width,
|
| - or (<yoffset> + <height>) > dest_height.
|
| + 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.
|
|
|
| Dependencies on ARB_texture_rg
|
|
|
| @@ -204,11 +253,12 @@ Revision History
|
|
|
| 8/1/2011 Documented the extension
|
| 7/4/2013 Add a new parameter dest_type to glCopyTextureCHROMIUM()
|
| - 16/7/2014 Add GL_TEXTURE_RECTANGLE_ARB as valid source_id target
|
| + 16/7/2014 Add 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 GL_TEXTURE_RECTANGLE_ARB as valid dest_id target.
|
| + 4/1/2016 Added 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 GL_TEXTURE_CUBE_MAP as valid dest_id target.
|
| + 19/1/2017 Added TEXTURE_CUBE_MAP as valid dest_id target.
|
| + 24/3/2017 Clean up naming and move formats into tables.
|
|
|