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

Unified Diff: ppapi/c/ppb_graphics_3d.h

Issue 7782020: Revert 99855 - Move PPAPI graphics3d and opengles interfaces out of Dev. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 3 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 | « ppapi/c/pp_graphics_3d.h ('k') | ppapi/c/ppb_opengles.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/c/ppb_graphics_3d.h
===================================================================
--- ppapi/c/ppb_graphics_3d.h (revision 99860)
+++ ppapi/c/ppb_graphics_3d.h (working copy)
@@ -1,204 +0,0 @@
-/* Copyright (c) 2011 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#ifndef PPAPI_C_PPB_GRAPHICS_3D_H_
-#define PPAPI_C_PPB_GRAPHICS_3D_H_
-
-#include "ppapi/c/pp_graphics_3d.h"
-
-#include "ppapi/c/pp_bool.h"
-#include "ppapi/c/pp_instance.h"
-#include "ppapi/c/pp_resource.h"
-
-// Example usage from plugin code:
-//
-// // Setup.
-// PP_Resource context;
-// int32_t attribs[] = {PP_GRAPHICS3DATTRIB_WIDTH, 800,
-// PP_GRAPHICS3DATTRIB_HEIGHT, 800,
-// PP_GRAPHICS3DATTRIB_NONE};
-// context = g3d->Create(instance, attribs, &context);
-// inst->BindGraphics(instance, context);
-//
-// // Present one frame.
-// gles2->Clear(context, GL_COLOR_BUFFER);
-// g3d->SwapBuffers(context);
-//
-// // Shutdown.
-// core->ReleaseResource(context);
-
-#define PPB_GRAPHICS_3D_INTERFACE_1_0 "PPB_Graphics3D;1.0"
-#define PPB_GRAPHICS_3D_INTERFACE PPB_GRAPHICS_3D_INTERFACE_1_0
-
-struct PPB_Graphics3D {
- // Retrieves the maximum supported value for the given attribute.
- //
- // This function may be used to check if a particular attribute value is
- // supported before attempting to create a context.
- // Attributes that can be queried for include:
- // - PP_GRAPHICS3DATTRIB_ALPHA_SIZE
- // - PP_GRAPHICS3DATTRIB_BLUE_SIZE
- // - PP_GRAPHICS3DATTRIB_GREEN_SIZE
- // - PP_GRAPHICS3DATTRIB_RED_SIZE
- // - PP_GRAPHICS3DATTRIB_DEPTH_SIZE
- // - PP_GRAPHICS3DATTRIB_STENCIL_SIZE
- // - PP_GRAPHICS3DATTRIB_SAMPLES
- // - PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS
- // - PP_GRAPHICS3DATTRIB_WIDTH
- // - PP_GRAPHICS3DATTRIB_HEIGHT
- //
- // On failure the following error codes may be returned:
- // - PP_ERROR_BADRESOURCE if instance is invalid.
- // - PP_ERROR_BADARGUMENT if attribute is invalid or value is NULL
- int32_t (*GetAttribMaxValue)(PP_Resource instance,
- int32_t attribute, int32_t* value);
-
- // Creates and initializes a rendering context and returns a handle to it.
- // The returned context is off-screen to start with. It must be attached to
- // a plugin instance using PPB_Instance::BindGraphics to draw on the web page.
- //
- // If share_context is not NULL, then all shareable data, as defined
- // by the client API (note that for OpenGL and OpenGL ES, shareable data
- // excludes texture objects named 0) will be shared by share_context, all
- // other contexts share_context already shares with, and the newly created
- // context. An arbitrary number of PPB_Graphics3D_Dev can share data in
- // this fashion.
- //
- // attrib_list specifies a list of attributes for the context. It is a list
- // of attribute name-value pairs in which each attribute is immediately
- // followed by the corresponding desired value. The list is terminated with
- // PP_GRAPHICS3DATTRIB_NONE. The attrib_list may be NULL or empty
- // (first attribute is PP_GRAPHICS3DATTRIB_NONE). If an attribute is not
- // specified in attrib_list, then the default value is used (it is said to
- // be specified implicitly).
- //
- // Attributes for the context are chosen according to an attribute-specific
- // criteria. Attributes can be classified into two categories:
- // - AtLeast: The attribute value in the returned context meets or exceeds
- // the value specified in attrib_list.
- // - Exact: The attribute value in the returned context is equal to
- // the value specified in attrib_list.
- //
- // Attributes that can be specified in attrib_list include:
- // - PP_GRAPHICS3DATTRIB_ALPHA_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_BLUE_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_GREEN_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_RED_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_DEPTH_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_STENCIL_SIZE: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_SAMPLES: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS: Category: AtLeast Default: 0.
- // - PP_GRAPHICS3DATTRIB_WIDTH: Category: Exact Default: 0.
- // - PP_GRAPHICS3DATTRIB_HEIGHT: Category: Exact Default: 0.
- // - PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR:
- // Category: Exact Default: Implementation defined.
- //
- // On failure NULL resource is returned.
- PP_Resource (*Create)(PP_Instance instance,
- PP_Resource share_context,
- const int32_t* attrib_list);
-
- // Returns PP_TRUE if the given resource is a valid PPB_Graphics3D_Dev,
- // PP_FALSE if it is an invalid resource or is a resource of another type.
- PP_Bool (*IsGraphics3D)(PP_Resource resource);
-
- // Retrieves the value for each attribute in attrib_list. The list
- // has the same structure as described for PPB_Graphics3D_Dev::Create.
- // It is both input and output structure for this function.
- //
- // All attributes specified in PPB_Graphics3D_Dev::Create can be queried for.
- // On failure the following error codes may be returned:
- // - PP_ERROR_BADRESOURCE if context is invalid.
- // - PP_ERROR_BADARGUMENT if attrib_list is NULL or any attribute in the
- // attrib_list is not a valid attribute.
- //
- // Example usage: To get the values for rgb bits in the color buffer,
- // this function must be called as following:
- // int attrib_list[] = {PP_GRAPHICS3DATTRIB_RED_SIZE, 0,
- // PP_GRAPHICS3DATTRIB_GREEN_SIZE, 0,
- // PP_GRAPHICS3DATTRIB_BLUE_SIZE, 0,
- // PP_GRAPHICS3DATTRIB_NONE};
- // GetAttribs(context, attrib_list);
- // int red_bits = attrib_list[1];
- // int green_bits = attrib_list[3];
- // int blue_bits = attrib_list[5];
- int32_t (*GetAttribs)(PP_Resource context, int32_t* attrib_list);
-
- // Sets the values for each attribute in attrib_list. The list
- // has the same structure as described for PPB_Graphics3D_Dev::Create.
- //
- // Attributes that can be specified are:
- // - PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR
- //
- // On failure the following error codes may be returned:
- // - PP_ERROR_BADRESOURCE if context is invalid.
- // - PP_ERROR_BADARGUMENT if attrib_list is NULL or any attribute in the
- // attrib_list is not a valid attribute.
- int32_t (*SetAttribs)(PP_Resource context, int32_t* attrib_list);
-
- // The recoverable error conditions that have no side effect are
- // detected and returned immediately by all functions in this interface.
- // In addition the implementation may get into a fatal state while
- // processing a command. In this case the application must detroy the
- // context and reinitialize client API state and objects to continue
- // rendering.
- //
- // Note that the same error code is also returned in the SwapBuffers callback.
- // It is recommended to handle error in the SwapBuffers callback because
- // GetError is synchronous. This function may be useful in rare cases where
- // drawing a frame is expensive and you want to verify the result of
- // ResizeBuffers before attemptimg to draw a frame.
- //
- // The following error codes may be returned:
- // - PP_ERROR_NOMEMORY
- // - PP_ERROR_CONTEXT_LOST
- int32_t (*GetError)(PP_Resource context);
-
- // Resizes the backing surface for context.
- //
- // On failure the following error codes may be returned:
- // - PP_ERROR_BADRESOURCE if context is invalid.
- // - PP_ERROR_BADARGUMENT if the value specified for width or height
- // is less than zero.
- //
- // If the surface could not be resized due to insufficient resources,
- // PP_ERROR_NOMEMORY error is returned on the next SwapBuffers callback.
- int32_t (*ResizeBuffers)(PP_Resource context,
- int32_t width, int32_t height);
-
- // Makes the contents of the color buffer available for compositing.
- // This function has no effect on off-screen surfaces - ones not bound
- // to any plugin instance. The contents of ancillary buffers are always
- // undefined after calling SwapBuffers. The contents of the color buffer are
- // undefined if the value of the PP_GRAPHICS3DATTRIB_SWAP_BEHAVIOR attribute
- // of context is not PP_GRAPHICS3DATTRIB_BUFFER_PRESERVED.
- //
- // SwapBuffers runs in asynchronous mode. Specify a callback function and the
- // argument for that callback function. The callback function will be executed
- // on the calling thread after the color buffer has been composited with
- // rest of the html page. While you are waiting for a SwapBuffers callback,
- // additional calls to SwapBuffers will fail.
- //
- // Because the callback is executed (or thread unblocked) only when the
- // plugin's current state is actually on the screen, this function provides a
- // way to rate limit animations. By waiting until the image is on the screen
- // before painting the next frame, you can ensure you're not generating
- // updates faster than the screen can be updated.
- //
- // SwapBuffers performs an implicit flush operation on context.
- // If the context gets into an unrecoverable error condition while
- // processing a command, the error code will be returned as the argument
- // for the callback. The callback may return the following error codes:
- // - PP_ERROR_NOMEMORY
- // - PP_ERROR_CONTEXT_LOST
- // Note that the same error code may also be obtained by calling GetError.
- //
- // On failure SwapBuffers may return the following error codes:
- // - PP_ERROR_BADRESOURCE if context is invalid.
- // - PP_ERROR_BADARGUMENT if callback is invalid.
- int32_t (*SwapBuffers)(PP_Resource context,
- struct PP_CompletionCallback callback);
-};
-
-#endif /* PPAPI_C_PPB_GRAPHICS_3D_H_ */
« no previous file with comments | « ppapi/c/pp_graphics_3d.h ('k') | ppapi/c/ppb_opengles.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698