Name CHROMIUM_copy_texture Name Strings GL_CHROMIUM_copy_texture Version Last Modifed Date: July 16, 2014 Dependencies OpenGL ES 2.0 is required. CHROMIUM_flipy affects the definition of this extension. EXT_texture_format_BGRA8888 affects the definition of this extension. Overview This extension expands on the functionality provided by the glCopyTexImage2D command. A new function is exported, glCopyTextureCHROMIUM, that performs the same copy operation as glCopyTexImage2D, while respecting the pixel-storage modifiers UNPACK_FLIP_Y_CHROMIUM, GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM and GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM. If GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM and GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM are enabled. Then no alpha processing occurs. This is the equivalent of having neither flag set. The extension also supports copying BGRA textures and copying EXTERNAL_OES texture to BGRA texture, which is not explicitly granted by EXT_texture_format_BGRA8888. New Procedures and Functions void glCopyTextureCHROMIUM (GLenum target, GLenum source_id, GLenum dest_id, GLint level, GLint internal_format, GLenum dest_type) Copies the contents of texture referred to by to texture . Texture level 0 is copied from the source image to level of the destination texture. The level parameter must be 0 at present. The internal format of the destination texture is converted to that specified by . Must be one of the following symbolic constants: GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA When texture doens't contain a superset of the component required by , fill the components by following rules. source format color components ================================================= GL_ALPHA (0, 0, 0, A) GL_LUMINANCE (L, L, L, 1) GL_LUMINANCE_ALPHA (L, L, L, A) GL_RGB (R, G, B, 1) GL_RGBA (R, G, B, A) The format type of the destination texture is converted to that specified by . uses the same parameters as TexImage2D. INVALID_VALUE is generated if is not GL_TEXTURE_2D. INVALID_VALUE is generated if or are not valid texture objects. INVALID_VALUE is generated if textures corresponding to have not been bound as GL_TEXTURE_2D object. INVALID_VALUE is generated if textures corresponding to have not been bound as GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE_ARB or GL_TEXTURE_EXTERNAL_OES objects. INVALID_VALUE is generated if is not a valid level of the destination texture, or if level 0 of the source texture is not defined. Errors None. New Tokens None. New State None. 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.