From 767931b25afd70a544ae4d75c4f5c54c812fb68b Mon Sep 17 00:00:00 2001 From: "gman@chromium.org" Date: Tue, 11 May 2010 15:28:34 +0000 Subject: update the docs for command buffers. There are no code changes in this CL. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46922 0039d316-1c4b-4281-b951-d872f2087c98 --- gpu/command_buffer/docs/gles2_cmd_format_docs.txt | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'gpu') diff --git a/gpu/command_buffer/docs/gles2_cmd_format_docs.txt b/gpu/command_buffer/docs/gles2_cmd_format_docs.txt index 3a08c1a..bb0d7ed 100644 --- a/gpu/command_buffer/docs/gles2_cmd_format_docs.txt +++ b/gpu/command_buffer/docs/gles2_cmd_format_docs.txt @@ -23,7 +23,7 @@ //! program must be careful to leave the data available until the command has //! executed. //! -//! Other commands have an 'immediate' version where the data appears directly +//! Some commands have an 'immediate' version where the data appears directly //! after the command in memory. //! //! A 3rd way of passing data is through Buckets. Buckets are indentified by @@ -48,21 +48,25 @@ //! - A shared memory offset is out of range for the given shared memory //! - The size of the data a command would access in shared memory is out of //! range for the given shared memory buffer. -//! - A result buffer is not initialized to the failure case. +//! - A result (in the transfer buffer) is not initialized to the +//! failure case. For example, any command that returns a SizedResult +//! will take a shared memory id and offset to where to store the result. +//! That size field of the result must be set to 0 before issuing the +//! the command. That way, if the command buffer service fails the +//! client will see a 0 size. //! //! The docs are a little terse. For any command that corresponds to an OpenGL //! ES 2.0 function the arguments should be clear by looking at the OpenGL ES //! 2.0 documentation with minor caveats. //! -//! - Client side arrays are not supported so DrawArrays and -//! VertexAttribPointer only take offsets into buffers. -//! - A Buffer can not be bound to both GL_ARRAY_BUFFER and -//! GL_ELEMENT_ARRAY_BUFFER. Only 1 is allowed per buffer. -//! - You can not bind to arbitrary names with the glBind functions. You must -//! register an id with GenBuffers, GenTextures, etc. +//! - Client side arrays are not supported at the command buffer level +//! so DrawArrays and VertexAttribPointer only take offsets into buffers. //! - The commands GenBuffers, GetTextures, CreateProgram, CreateShader, etc //! take client side ids and register them with the service. It's up to the //! client to make up the ids. +//! - For shared resources, it's still up to the client to make up ids. +//! but to help keep them in sync with other threads the commands +//! GenSharedIds, RegisterSharedIds and DeleteSharedIds can be used. //! //! The command header. -- cgit v1.1