aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-10-25 18:43:28 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-10-25 18:43:28 +0000
commit16e3ddea6a80972aced04b21b1d66377fa95e7c7 (patch)
tree2dffbddbfa9f09ac89ca0ebbb5f79e77d5516c78 /include
parentb5a5a9dc755a1655007ca05b2cc279773f3623ba (diff)
Platform/Engine -> Backend
createPlatform -> wrapBackend R=robertphillips@google.com Review URL: https://codereview.appspot.com/6785044 git-svn-id: http://skia.googlecode.com/svn/trunk@6123 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r--include/gpu/GrContext.h26
-rw-r--r--include/gpu/GrContextFactory.h5
-rw-r--r--include/gpu/GrRenderTarget.h10
-rw-r--r--include/gpu/GrTypes.h52
4 files changed, 58 insertions, 35 deletions
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index dcb5d8bf89..195f7316d1 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -46,10 +46,9 @@ public:
SK_DECLARE_INST_COUNT(GrContext)
/**
- * Creates a GrContext from within a 3D context.
+ * Creates a GrContext for a backend context.
*/
- static GrContext* Create(GrEngine engine,
- GrPlatform3DContext context3D);
+ static GrContext* Create(GrBackend, GrBackendContext);
/**
* Returns the number of GrContext instances for the current thread.
@@ -290,7 +289,7 @@ public:
bool isConfigRenderable(GrPixelConfig config) const;
///////////////////////////////////////////////////////////////////////////
- // Platform Surfaces
+ // Backend Surfaces
/**
* Wraps an existing texture with a GrTexture object.
@@ -302,11 +301,11 @@ public:
*
* @return GrTexture object or NULL on failure.
*/
- GrTexture* createPlatformTexture(const GrPlatformTextureDesc& desc);
+ GrTexture* wrapBackendTexture(const GrBackendTextureDesc& desc);
/**
* Wraps an existing render target with a GrRenderTarget object. It is
- * similar to createPlatformTexture but can be used to draw into surfaces
+ * similar to wrapBackendTexture but can be used to draw into surfaces
* that are not also textures (e.g. FBO 0 in OpenGL, or an MSAA buffer that
* the client will resolve to a texture).
*
@@ -314,8 +313,7 @@ public:
*
* @return GrTexture object or NULL on failure.
*/
- GrRenderTarget* createPlatformRenderTarget(
- const GrPlatformRenderTargetDesc& desc);
+ GrRenderTarget* wrapBackendRenderTarget(const GrBackendRenderTargetDesc& desc);
///////////////////////////////////////////////////////////////////////////
// Matrix state
@@ -607,7 +605,7 @@ public:
* be executed before the resolve.
*
* This is only necessary when a client wants to access the object directly
- * using the underlying graphics API. GrContext will detect when it must
+ * using the backend API directly. GrContext will detect when it must
* perform a resolve to a GrTexture used as the source of a draw or before
* reading pixels back from a GrTexture or GrRenderTarget.
*/
@@ -860,6 +858,16 @@ public:
void printCacheStats() const;
#endif
+ ///////////////////////////////////////////////////////////////////////////
+ // Legacy names that will be kept until WebKit can be updated.
+ GrTexture* createPlatformTexture(const GrPlatformTextureDesc& desc) {
+ return this->wrapBackendTexture(desc);
+ }
+
+ GrRenderTarget* createPlatformRenderTarget(const GrPlatformRenderTargetDesc& desc) {
+ return wrapBackendRenderTarget(desc);
+ }
+
private:
// Used to indicate whether a draw should be performed immediately or queued in fDrawBuffer.
enum BufferedDraw {
diff --git a/include/gpu/GrContextFactory.h b/include/gpu/GrContextFactory.h
index 600bedae66..95d02a2f11 100644
--- a/include/gpu/GrContextFactory.h
+++ b/include/gpu/GrContextFactory.h
@@ -95,9 +95,8 @@ public:
if (!glCtx.get()->init(kBogusSize, kBogusSize)) {
return NULL;
}
- GrPlatform3DContext p3dctx =
- reinterpret_cast<GrPlatform3DContext>(glCtx.get()->gl());
- grCtx.reset(GrContext::Create(kOpenGL_Shaders_GrEngine, p3dctx));
+ GrBackendContext p3dctx = reinterpret_cast<GrBackendContext>(glCtx.get()->gl());
+ grCtx.reset(GrContext::Create(kOpenGL_GrBackend, p3dctx));
if (!grCtx.get()) {
return NULL;
}
diff --git a/include/gpu/GrRenderTarget.h b/include/gpu/GrRenderTarget.h
index f3add50ee3..58a3aa5220 100644
--- a/include/gpu/GrRenderTarget.h
+++ b/include/gpu/GrRenderTarget.h
@@ -70,7 +70,7 @@ public:
* If this RT is multisampled, this is the multisample buffer
* @return the 3D API's handle to this object (e.g. FBO ID in OpenGL)
*/
- virtual intptr_t getRenderTargetHandle() const = 0;
+ virtual GrBackendObject getRenderTargetHandle() const = 0;
/**
* If this RT is multisampled, this is the buffer it is resolved to.
@@ -78,7 +78,7 @@ public:
* (In GL a separate FBO ID is used for the msaa and resolved buffers)
* @return the 3D API's handle to this object (e.g. FBO ID in OpenGL)
*/
- virtual intptr_t getRenderTargetResolvedHandle() const = 0;
+ virtual GrBackendObject getRenderTargetResolvedHandle() const = 0;
/**
* @return true if the surface is multisampled, false otherwise
@@ -94,9 +94,9 @@ public:
* Call to indicate the multisample contents were modified such that the
* render target needs to be resolved before it can be used as texture. Gr
* tracks this for its own drawing and thus this only needs to be called
- * when the render target has been modified outside of Gr. Only meaningful
- * for Gr-created RT/Textures and Platform RT/Textures created with the
- * kGrCanResolve flag.
+ * when the render target has been modified outside of Gr. This has no
+ * effect on wrapped backend render targets.
+ *
* @param rect a rect bounding the area needing resolve. NULL indicates
* the whole RT needs resolving.
*/
diff --git a/include/gpu/GrTypes.h b/include/gpu/GrTypes.h
index f084427e6f..8bd1f2f8a8 100644
--- a/include/gpu/GrTypes.h
+++ b/include/gpu/GrTypes.h
@@ -186,16 +186,15 @@ static inline int16_t GrToS16(intptr_t x) {
/**
* Possible 3D APIs that may be used by Ganesh.
*/
-enum GrEngine {
- kOpenGL_Shaders_GrEngine,
- kOpenGL_Fixed_GrEngine,
+enum GrBackend {
+ kOpenGL_GrBackend,
};
/**
- * Engine-specific 3D context handle
+ * Backend-specific 3D context handle
* GrGLInterface* for OpenGL. If NULL will use the default GL interface.
*/
-typedef intptr_t GrPlatform3DContext;
+typedef intptr_t GrBackendContext;
///////////////////////////////////////////////////////////////////////////////
@@ -595,7 +594,7 @@ static inline bool GrIsFillInverted(GrPathFill fill) {
///////////////////////////////////////////////////////////////////////////////
// opaque type for 3D API object handles
-typedef intptr_t GrPlatform3DObject;
+typedef intptr_t GrBackendObject;
/**
* Gr can wrap an existing texture created by the client with a GrTexture
@@ -618,11 +617,11 @@ typedef intptr_t GrPlatform3DObject;
* Note: These flags currently form a subset of GrTexture's flags.
*/
-enum GrPlatformTextureFlags {
+enum GrBackendTextureFlags {
/**
* No flags enabled
*/
- kNone_GrPlatformTextureFlag = kNone_GrTextureFlags,
+ kNone_GrBackendTextureFlag = kNone_GrTextureFlags,
/**
* Indicates that the texture is also a render target, and thus should have
* a GrRenderTarget object.
@@ -630,13 +629,13 @@ enum GrPlatformTextureFlags {
* D3D (future): client must have created the texture with flags that allow
* it to be used as a render target.
*/
- kRenderTarget_GrPlatformTextureFlag = kRenderTarget_GrTextureFlagBit,
+ kRenderTarget_GrBackendTextureFlag = kRenderTarget_GrTextureFlagBit,
};
-GR_MAKE_BITFIELD_OPS(GrPlatformTextureFlags)
+GR_MAKE_BITFIELD_OPS(GrBackendTextureFlags)
-struct GrPlatformTextureDesc {
- GrPlatformTextureDesc() { memset(this, 0, sizeof(*this)); }
- GrPlatformTextureFlags fFlags;
+struct GrBackendTextureDesc {
+ GrBackendTextureDesc() { memset(this, 0, sizeof(*this)); }
+ GrBackendTextureFlags fFlags;
int fWidth; //<! width in pixels
int fHeight; //<! height in pixels
GrPixelConfig fConfig; //<! color format
@@ -649,7 +648,7 @@ struct GrPlatformTextureDesc {
* Handle to the 3D API object.
* OpenGL: Texture ID.
*/
- GrPlatform3DObject fTextureHandle;
+ GrBackendObject fTextureHandle;
};
///////////////////////////////////////////////////////////////////////////////
@@ -664,14 +663,14 @@ struct GrPlatformTextureDesc {
* the 3D API doesn't require this (OpenGL).
*/
-struct GrPlatformRenderTargetDesc {
- GrPlatformRenderTargetDesc() { memset(this, 0, sizeof(*this)); }
+struct GrBackendRenderTargetDesc {
+ GrBackendRenderTargetDesc() { memset(this, 0, sizeof(*this)); }
int fWidth; //<! width in pixels
int fHeight; //<! height in pixels
GrPixelConfig fConfig; //<! color format
/**
* The number of samples per pixel. Gr uses this to influence decisions
- * about applying other forms of antialiasing.
+ * about applying other forms of anti-aliasing.
*/
int fSampleCnt;
/**
@@ -682,9 +681,26 @@ struct GrPlatformRenderTargetDesc {
* Handle to the 3D API object.
* OpenGL: FBO ID
*/
- GrPlatform3DObject fRenderTargetHandle;
+ GrBackendObject fRenderTargetHandle;
};
+///////////////////////////////////////////////////////////////////////////////
+// Legacy names that will be kept until WebKit can be updated.
+
+typedef GrBackend GrEngine;
+static const GrBackend kOpenGL_Shaders_GrEngine = kOpenGL_GrBackend;
+
+typedef GrBackendContext GrPlatform3DContext;
+
+typedef GrBackendObject GrPlatform3DObject;
+
+typedef GrBackendTextureFlags GrPlatformTextureFlags;
+static const GrBackendTextureFlags kNone_GrPlatformTextureFlag = kNone_GrBackendTextureFlag;
+static const GrBackendTextureFlags kRenderTarget_GrPlatformTextureFlag = kRenderTarget_GrBackendTextureFlag;
+
+typedef GrBackendTextureDesc GrPlatformTextureDesc;
+
+typedef GrBackendRenderTargetDesc GrPlatformRenderTargetDesc;
///////////////////////////////////////////////////////////////////////////////