Chromium Code Reviews| Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_compressed_texture.txt |
| diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_compressed_texture.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_compressed_texture.txt |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3b485194434fb9b8612329165bdf25b8eb5828ad |
| --- /dev/null |
| +++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_compressed_texture.txt |
| @@ -0,0 +1,100 @@ |
| +Name |
| + |
| + CHROMIUM_copy_compressed_texture |
| + |
| +Name Strings |
| + |
| + GL_CHROMIUM_copy_compressed_texture |
| + |
| +Version |
| + |
| + Last Modifed Date: May 28, 2015 |
| + |
| +Dependencies |
| + |
| + OpenGL ES 2.0 is required. |
| + |
| + GL_AMD_compressed_ATC_texture, GL_ATI_texture_compression_atitc, |
| + GL_EXT_texture_compression_dxt1, GL_ANGLE_texture_compression_dxt5, |
| + GL_EXT_texture_compression_s3tc and GL_OES_compressed_ETC1_RGB8_texture |
| + affects the definition of this extension. |
| + |
| +Overview |
| + |
| + This extension provides functionality for copying compressed textures. It |
| + adds a new function glCopyCompressedTextureCHROMIUM that works similarily |
| + to glCopyTexImage2D, but for compressed textures. |
|
piman
2015/05/28 20:34:27
You mean, similar to glCopyTextureCHROMIUM?
glCopy
christiank
2015/06/05 12:53:31
Yes, maybe that's a better reference. I was thinki
|
| + |
| + This extension does not respect pixel-storage modifiers like |
| + UNPACK_FLIP_Y_CHROMIUM, GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM and |
| + GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM. |
|
reveman
2015/05/28 14:06:48
think that's implicit by not mentioning them.
christiank
2015/06/05 12:53:31
Done.
|
| + |
| + Which compressed texture formats that this extension supports depends on |
| + the supported texture compression formats of the host GPU. |
| + |
| +Issues |
| + |
| + glCopyCompressedTextureCHROMIUM will first try to perform the copy using |
| + the GLImage object. If that operation fails glCopyCompressedTextureCHROMIUM |
| + will fallback to using glGetCompressedTexImage. |
|
reveman
2015/05/28 14:06:48
I think that's too implementation specific to be m
christiank
2015/06/05 12:53:31
Done.
|
| + |
| + Depending on platform support, glGetCompressedTexImage may not be |
| + available. In that case glCopyCompressedTextureCHROMIUM will return |
| + INVALID_OPERATION. |
|
reveman
2015/05/28 14:06:48
Please make sure the requirements to always guaran
christiank
2015/05/28 14:40:29
Do you have any suggestion on how I can formally s
reveman
2015/05/28 16:33:08
I don't think we can have such a dependency. We ca
christiank
2015/06/05 12:53:31
This should now be addressed since the operation w
|
| + |
| +New Procedures and Functions |
| + |
| + The command |
| + |
| + void glCopyCompressedTextureCHROMIUM (GLenum target, GLenum source_id, |
| + GLenum dest_id, |
| + GLint internal_format, |
| + GLenum dest_type, |
|
piman
2015/05/28 20:34:27
What is dest_type? Compressed texture data doesn't
christiank
2015/06/05 12:53:31
It was included because I modeled this function of
|
| + GLsizei source_size) |
|
reveman
2015/05/28 14:06:48
glCompressedCopyTextureCHROMIUM? to match the Comp
christiank
2015/05/28 14:40:29
Ahh I see. Should I perhaps rename this document t
reveman
2015/05/28 16:33:08
Sounds good.
piman
2015/05/28 20:34:27
Similarly, I don't think there's a good argument f
christiank
2015/06/05 12:53:31
Alright, I'll try to get rid of the source_size pa
|
| + |
| + Copies the contents of a compressed texture referred to by <source_id> to |
| + <dest_id> texture. |
| + |
| + Texture level 0 is copied from the source image to level 0 of the |
| + destination texture. |
| + |
| + The internal format of the source and destination texture must be |
| + compressed, and they must match. The <internal_format> must be one of the |
| + following symbolic constants: GL_ATC_RGB_AMD, |
| + GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, |
| + GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, GL_ETC1_RGB8_OES |
| + |
| + <target> uses the same parameters as TexImage2D. |
| + |
| + INVALID_OPERATION is generated if the current platform does not support |
| + copying compressed textures. |
|
reveman
2015/05/28 14:06:48
I think that should be handled by the availability
christiank
2015/06/05 12:53:31
Done.
|
| + |
| + INVALID_OPERATION is generated if <internal_format> is not one of the valid |
| + formats described above. |
| + |
| + INVALID_OPERATION is generated if internal format of source and destination |
| + texture doesn't match. |
| + |
| + INVALID_VALUE is generated if <source_id> or <dest_id> are not valid texture |
| + objects. |
| + |
| + INVALID_VALUE is generated if textures corresponding to <dest_id> have not |
| + been bound as GL_TEXTURE_2D object. |
| + |
| + INVALID_VALUE is generated if level 0 of the source texture is not defined. |
| + |
| +Errors |
| + |
| + None. |
| + |
| +New Tokens |
| + |
| + None. |
| + |
| +New State |
| + |
| + None. |
| + |
| +Revision History |
| + |
| + 28/5/2015 Documented the extension. |