| OLD | NEW |
| (Empty) |
| 1 Name | |
| 2 | |
| 3 CHROMIUM_map_image | |
| 4 | |
| 5 Name Strings | |
| 6 | |
| 7 GL_CHROMIUM_map_image | |
| 8 | |
| 9 Version | |
| 10 | |
| 11 Last Modifed Date: May 9, 2013 | |
| 12 | |
| 13 Dependencies | |
| 14 | |
| 15 OpenGL ES 2.0 is required. | |
| 16 | |
| 17 Overview | |
| 18 | |
| 19 This extension allows for more efficient uploading of texture data through | |
| 20 Chromium's OpenGL ES 2.0 implementation. | |
| 21 | |
| 22 For security reasons Chromium accesses the GPU from a separate process. User | |
| 23 processes are not allowed to access the GPU directly. This multi-process | |
| 24 architechure has the advantage that GPU operations can be secured and | |
| 25 pipelined but it has the disadvantage that all data that is going to be | |
| 26 passed to GPU must first be made available to the separate GPU process. | |
| 27 | |
| 28 This extension helps the application directly allocate and access texture | |
| 29 memory. | |
| 30 | |
| 31 Issues | |
| 32 | |
| 33 None | |
| 34 | |
| 35 New Tokens | |
| 36 | |
| 37 None | |
| 38 | |
| 39 New Procedures and Functions | |
| 40 | |
| 41 GLuint CreateImageCHROMIUM (GLsizei width, GLsizei height, | |
| 42 GLenum internalformat) | |
| 43 | |
| 44 Allocate an image with width equal to <width> and height equal | |
| 45 to <height> stored in format <internalformat>. | |
| 46 | |
| 47 Returns a unique identifier for the allocated image that could be used | |
| 48 in subsequent operations. | |
| 49 | |
| 50 INVALID_VALUE is generated if <width> or <height> is nonpositive. | |
| 51 | |
| 52 void DestroyImageCHROMIUM (GLuint image_id) | |
| 53 | |
| 54 Frees the image previously allocated by a call to CreateImageCHROMIUM. | |
| 55 | |
| 56 INVALID_OPERATION is generated if <image_id> is not a valid image id. | |
| 57 | |
| 58 void* MapImageCHROMIUM (GLuint image_id, GLenum access) | |
| 59 | |
| 60 Returns a pointer to in the user memory for the application to modify | |
| 61 the image. <access> parameter defines if the user will read or write the | |
| 62 pixels. | |
| 63 | |
| 64 INVALID_OPERATION is generated if <image_id> is not a valid image id. | |
| 65 | |
| 66 INVALID_OPERATION is generated if the image was already mapped by a previous | |
| 67 call to this method. | |
| 68 | |
| 69 INVALID_ENUM is generated if <access> is not one of WRITE_ONLY, READ_ONLY | |
| 70 and READ_WRITE. | |
| 71 | |
| 72 void UnmapImageCHROMIUM (GLuint image_id) | |
| 73 | |
| 74 Removes the mapping created by a call to MapImageCHROMIUM. | |
| 75 | |
| 76 Note that after calling UnmapImageCHROMIUM the application should assume | |
| 77 that the memory returned by MapImageCHROMIUM is off limits and is no longer | |
| 78 accessible by the application. Accessing it after calling | |
| 79 UnmapImageCHROMIUM will produce undefined results. | |
| 80 | |
| 81 INVALID_OPERATION is generated if <image_id> is not a valid image id. | |
| 82 | |
| 83 INVALID_OPERATION is generated if the image was not already mapped by a | |
| 84 previous call to MapImageCHROMIUM. | |
| 85 | |
| 86 void GetImageParameterivCHROMIUM(GLuint image_id, GLenum pname, | |
| 87 GLint* params) | |
| 88 | |
| 89 Sets <params> to the integer value of the parameter specified by <pname> | |
| 90 for the image specified by <image_id>. <params> is expected to be | |
| 91 properly allocated before calling this method. | |
| 92 | |
| 93 INVALID_OPERATION is generated if <image_id> is not a valid image id. | |
| 94 | |
| 95 INVALID_ENUM is generated if <pname> is not IMAGE_ROWBYTES_CHROMIUM. | |
| 96 | |
| 97 Errors | |
| 98 | |
| 99 None. | |
| 100 | |
| 101 New State | |
| 102 | |
| 103 None. | |
| 104 | |
| 105 Revision History | |
| 106 | |
| 107 5/9/2013 Documented the extension | |
| OLD | NEW |