Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 Name | 1 Name |
| 2 | 2 |
| 3 CHROMIUM_map_image | 3 CHROMIUM_image |
| 4 | 4 |
| 5 Name Strings | 5 Name Strings |
| 6 | 6 |
| 7 GL_CHROMIUM_map_image | 7 GL_CHROMIUM_image |
| 8 | 8 |
| 9 Version | 9 Version |
| 10 | 10 |
| 11 Last Modifed Date: May 9, 2013 | 11 Last Modifed Date: Apr 30, 2014 |
| 12 | 12 |
| 13 Dependencies | 13 Dependencies |
| 14 | 14 |
| 15 OpenGL ES 2.0 is required. | 15 OpenGL ES 2.0 is required. |
| 16 | 16 |
| 17 Overview | 17 Overview |
| 18 | 18 |
| 19 This extension allows for more efficient uploading of texture data through | 19 This extension allows for more efficient uploading of texture data through |
| 20 Chromium's OpenGL ES 2.0 implementation. | 20 Chromium's OpenGL ES 2.0 implementation as well as enable hardware overlay |
| 21 support by providing ability to create buffers capable of being scanned out | |
| 22 directly by the display controller. | |
| 21 | 23 |
| 22 For security reasons Chromium accesses the GPU from a separate process. User | 24 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 | 25 processes are not allowed to access the GPU directly. This multi-process |
| 24 architechure has the advantage that GPU operations can be secured and | 26 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 | 27 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. | 28 passed to GPU must first be made available to the separate GPU process. |
| 27 | 29 |
| 28 This extension helps the application directly allocate and access texture | 30 This extension helps the application directly allocate and access texture |
| 29 memory. | 31 memory. |
| 30 | 32 |
| 31 Issues | 33 Issues |
| 32 | 34 |
| 33 None | 35 None |
| 34 | 36 |
| 35 New Tokens | 37 New Tokens |
| 36 | 38 |
| 37 None | 39 Accepted by the <pname> parameter of GetImageParameterivCHROMIUM: |
| 40 | |
| 41 GL_IMAGE_ROWBYTES_CHROMIUM 0x78F0 | |
|
reveman
2014/05/01 12:06:38
nit: indent 4 spaces and remove GL_ prefix for con
alexst (slow to review)
2014/05/01 13:44:51
Done.
| |
| 42 | |
| 43 Accepted by the <usage> parameter of CreateImageCHROMIUM: | |
| 44 | |
| 45 GL_IMAGE_CPU_READ_WRITE_CHROMIUM 0x78F1 | |
| 46 GL_IMAGE_SCANOUT_CHROMIUM 0x78F2 | |
|
reveman
2014/05/01 12:06:38
nit: indent 4 spaces and remove GL_ prefix
| |
| 47 | |
| 48 #ifndef GL_IMAGE_SCANOUT_CHROMIUM | |
|
reveman
2014/05/01 12:06:38
typo?
alexst (slow to review)
2014/05/01 13:44:51
right, copy paste...
| |
| 49 | |
| 38 | 50 |
| 39 New Procedures and Functions | 51 New Procedures and Functions |
| 40 | 52 |
| 41 GLuint CreateImageCHROMIUM (GLsizei width, GLsizei height, | 53 GLuint CreateImageCHROMIUM(GLsizei width, GLsizei height, |
| 42 GLenum internalformat) | 54 GLenum internalformat, GLenum usage) |
| 43 | 55 |
| 44 Allocate an image with width equal to <width> and height equal | 56 Allocate an image with width equal to <width> and height equal |
| 45 to <height> stored in format <internalformat>. | 57 to <height> stored in format <internalformat>. |
| 46 | 58 |
| 47 Returns a unique identifier for the allocated image that could be used | 59 Returns a unique identifier for the allocated image that could be used |
| 48 in subsequent operations. | 60 in subsequent operations. |
| 49 | 61 |
| 50 INVALID_VALUE is generated if <width> or <height> is nonpositive. | 62 INVALID_VALUE is generated if <width> or <height> is nonpositive. |
| 51 | 63 |
| 52 void DestroyImageCHROMIUM (GLuint image_id) | 64 INVALID_ENUM is generated if <usage> is not one of |
| 65 GL_IMAGE_CPU_READ_WRITE_CHROMIUM and GL_IMAGE_SCANOUT_CHROMIUM. | |
| 66 | |
| 67 void DestroyImageCHROMIUM(GLuint image_id) | |
| 53 | 68 |
| 54 Frees the image previously allocated by a call to CreateImageCHROMIUM. | 69 Frees the image previously allocated by a call to CreateImageCHROMIUM. |
| 55 | 70 |
| 56 INVALID_OPERATION is generated if <image_id> is not a valid image id. | 71 INVALID_OPERATION is generated if <image_id> is not a valid image id. |
| 57 | 72 |
| 58 void* MapImageCHROMIUM (GLuint image_id, GLenum access) | 73 void* MapImageCHROMIUM(GLuint image_id) |
| 59 | 74 |
| 60 Returns a pointer to in the user memory for the application to modify | 75 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 | 76 the image. It is illegal to call this function on an image not created |
| 62 pixels. | 77 with GL_IMAGE_CPU_READ_WRITE_CHROMIUM usage. |
| 63 | 78 |
| 64 INVALID_OPERATION is generated if <image_id> is not a valid image id. | 79 INVALID_OPERATION is generated if <image_id> is not a valid image id. |
| 65 | 80 |
| 66 INVALID_OPERATION is generated if the image was already mapped by a previous | 81 INVALID_OPERATION is generated if the image was already mapped by a previous |
| 67 call to this method. | 82 call to this method. |
| 68 | 83 |
| 69 INVALID_ENUM is generated if <access> is not one of WRITE_ONLY, READ_ONLY | 84 void UnmapImageCHROMIUM(GLuint image_id) |
| 70 and READ_WRITE. | |
| 71 | |
| 72 void UnmapImageCHROMIUM (GLuint image_id) | |
| 73 | 85 |
| 74 Removes the mapping created by a call to MapImageCHROMIUM. | 86 Removes the mapping created by a call to MapImageCHROMIUM. |
| 75 | 87 |
| 76 Note that after calling UnmapImageCHROMIUM the application should assume | 88 Note that after calling UnmapImageCHROMIUM the application should assume |
| 77 that the memory returned by MapImageCHROMIUM is off limits and is no longer | 89 that the memory returned by MapImageCHROMIUM is off limits and is no longer |
| 78 accessible by the application. Accessing it after calling | 90 accessible by the application. Accessing it after calling |
| 79 UnmapImageCHROMIUM will produce undefined results. | 91 UnmapImageCHROMIUM will produce undefined results. |
| 80 | 92 |
| 81 INVALID_OPERATION is generated if <image_id> is not a valid image id. | 93 INVALID_OPERATION is generated if <image_id> is not a valid image id. |
| 82 | 94 |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 98 | 110 |
| 99 None. | 111 None. |
| 100 | 112 |
| 101 New State | 113 New State |
| 102 | 114 |
| 103 None. | 115 None. |
| 104 | 116 |
| 105 Revision History | 117 Revision History |
| 106 | 118 |
| 107 5/9/2013 Documented the extension | 119 5/9/2013 Documented the extension |
| 120 4/30/2014 Moved usage flag to creation function. | |
| OLD | NEW |