Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Unified Diff: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_copy_compressed_texture.txt

Issue 1119723003: Add glCopyCompressedTextureCHROMIUM (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments in tests Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698