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 |