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

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

Issue 634083002: gpu: Compositor management of GpuMemoryBuffer instances. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cc-pre-chromium-image-refactor
Patch Set: rebase Created 6 years, 2 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
« no previous file with comments | « content/test/web_layer_tree_view_impl_for_testing.cc ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
index 154f91e210d5ca763f1f53ba8af40ba2c6406d56..2974e43bd32b7d01d4384cb62c7011a90d07a660 100644
--- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
@@ -8,7 +8,7 @@ Name Strings
Version
- Last Modifed Date: Apr 30, 2014
+ Last Modifed Date: Oct 7, 2014
Dependencies
@@ -16,19 +16,8 @@ Dependencies
Overview
- This extension allows for more efficient uploading of texture data through
- Chromium's OpenGL ES 2.0 implementation as well as enable hardware overlay
- support by providing ability to create buffers capable of being scanned out
- directly by the display controller.
-
- For security reasons Chromium accesses the GPU from a separate process. User
- processes are not allowed to access the GPU directly. This multi-process
- architechure has the advantage that GPU operations can be secured and
- pipelined but it has the disadvantage that all data that is going to be
- passed to GPU must first be made available to the separate GPU process.
-
- This extension helps the application directly allocate and access texture
- memory.
+ This extension defines a new resource type that is suitable for
+ sharing 2D arrays of image data between client APIs.
Issues
@@ -36,73 +25,32 @@ Issues
New Tokens
- Accepted by the <pname> parameter of GetImageParameterivCHROMIUM:
-
- IMAGE_ROWBYTES_CHROMIUM 0x78F0
-
- Accepted by the <usage> parameter of CreateImageCHROMIUM:
-
- IMAGE_MAP_CHROMIUM 0x78F1
- IMAGE_SCANOUT_CHROMIUM 0x78F2
+ None
New Procedures and Functions
- GLuint CreateImageCHROMIUM(GLsizei width, GLsizei height,
- GLenum internalformat, GLenum usage)
+ GLuint CreateImageCHROMIUM(ClientBuffer buffer,
+ GLsizei width,
+ GLsizei height,
+ GLenum internalformat)
- Allocate an image with width equal to <width> and height equal
- to <height> stored in format <internalformat>.
+ Create an image from <buffer> with width equal to <width> and
+ height equal to <height> and format equal to <internalformat>.
- Returns a unique identifier for the allocated image that could be used
- in subsequent operations.
+ Returns a unique identifier for the image that could be used in
+ subsequent operations.
INVALID_VALUE is generated if <width> or <height> is nonpositive.
- INVALID_ENUM is generated if <usage> is not one of
- IMAGE_MAP_CHROMIUM and IMAGE_SCANOUT_CHROMIUM.
+ INVALID_ENUM is generated if <internalformat> is not one of
+ RGB or RGBA.
void DestroyImageCHROMIUM(GLuint image_id)
- Frees the image previously allocated by a call to CreateImageCHROMIUM.
-
- INVALID_OPERATION is generated if <image_id> is not a valid image id.
-
- void* MapImageCHROMIUM(GLuint image_id)
-
- Returns a pointer to in the user memory for the application to modify
- the image. It is illegal to call this function on an image not created
- with IMAGE_MAP_CHROMIUM usage.
-
- INVALID_OPERATION is generated if <image_id> is not a valid image id.
-
- INVALID_OPERATION is generated if the image was already mapped by a previous
- call to this method.
-
- void UnmapImageCHROMIUM(GLuint image_id)
-
- Removes the mapping created by a call to MapImageCHROMIUM.
-
- Note that after calling UnmapImageCHROMIUM the application should assume
- that the memory returned by MapImageCHROMIUM is off limits and is no longer
- accessible by the application. Accessing it after calling
- UnmapImageCHROMIUM will produce undefined results.
+ Frees the image previously created by a call to CreateImageCHROMIUM.
INVALID_OPERATION is generated if <image_id> is not a valid image id.
- INVALID_OPERATION is generated if the image was not already mapped by a
- previous call to MapImageCHROMIUM.
-
- void GetImageParameterivCHROMIUM(GLuint image_id, GLenum pname,
- GLint* params)
-
- Sets <params> to the integer value of the parameter specified by <pname>
- for the image specified by <image_id>. <params> is expected to be
- properly allocated before calling this method.
-
- INVALID_OPERATION is generated if <image_id> is not a valid image id.
-
- INVALID_ENUM is generated if <pname> is not IMAGE_ROWBYTES_CHROMIUM.
-
Errors
None.
@@ -115,3 +63,4 @@ Revision History
5/9/2013 Documented the extension
4/30/2014 Moved usage flag to creation function.
+ 10/7/2014 Remove map/unmap API.
« no previous file with comments | « content/test/web_layer_tree_view_impl_for_testing.cc ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698