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. |