diff options
Diffstat (limited to 'include/gpu/GrTypes.h')
-rw-r--r-- | include/gpu/GrTypes.h | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/include/gpu/GrTypes.h b/include/gpu/GrTypes.h index 0bcab7d8a3..a19918bf20 100644 --- a/include/gpu/GrTypes.h +++ b/include/gpu/GrTypes.h @@ -702,133 +702,6 @@ struct GrPlatformRenderTargetDesc { GrPlatform3DObject fRenderTargetHandle; }; -/////////////////////////////////////////////////////////////////////////////// -// DEPRECATED. createPlatformSurface is replaced by createPlatformTexture -// and createPlatformRenderTarget. These enums and structs will be removed. - -enum GrPlatformSurfaceType { - /** - * Specifies that the object being created is a render target. - */ - kRenderTarget_GrPlatformSurfaceType, - /** - * Specifies that the object being created is a texture. - */ - kTexture_GrPlatformSurfaceType, - /** - * Specifies that the object being created is a texture and a render - * target. - */ - kTextureRenderTarget_GrPlatformSurfaceType, -}; - -enum GrPlatformRenderTargetFlags { - kNone_GrPlatformRenderTargetFlagBit = 0x0, - - /** - * Gives permission to Gr to perform the downsample-resolve of a - * multisampled render target. If this is not set then read pixel - * operations may fail. If the object is both a texture and render target - * then this *must* be set. Otherwise, if the client wants do its own - * resolves it must create separate GrRenderTarget and GrTexture objects - * and insert appropriate flushes and resolves betweeen data hazards. - * GrRenderTarget has a flagForResolve() - */ - kGrCanResolve_GrPlatformRenderTargetFlagBit = 0x2, -}; - -GR_MAKE_BITFIELD_OPS(GrPlatformRenderTargetFlags) - -struct GrPlatformSurfaceDesc { - GrPlatformSurfaceType fSurfaceType; // type of surface to create - /** - * Flags for kRenderTarget and kTextureRenderTarget surface types - */ - GrPlatformRenderTargetFlags fRenderTargetFlags; - - int fWidth; // width in pixels - int fHeight; // height in pixels - GrPixelConfig fConfig; // color format - /** - * Number of per sample stencil buffer. Only relevant if kIsRenderTarget is - * set in fFlags. - */ - int fStencilBits; - - /** - * Number of samples per-pixel. Only relevant if kIsRenderTarget is set in - * fFlags. - */ - int fSampleCnt; - - /** - * Texture object in 3D API. Only relevant if fSurfaceType is kTexture or - * kTextureRenderTarget. - * GL: this is a texture object (glGenTextures) - */ - GrPlatform3DObject fPlatformTexture; - /** - * Render target object in 3D API. Only relevant if fSurfaceType is - * kRenderTarget or kTextureRenderTarget - * GL: this is a FBO object (glGenFramebuffers) - */ - GrPlatform3DObject fPlatformRenderTarget; - /** - * 3D API object used as destination of resolve. Only relevant if - * fSurfaceType is kRenderTarget or kTextureRenderTarget and - * kGrCanResolve is set in fRenderTargetFlags. - * fFlags. - * GL: this is a FBO object (glGenFramebuffers) - */ - GrPlatform3DObject fPlatformResolveDestination; - - void reset() { memset(this, 0, sizeof(GrPlatformSurfaceDesc)); } -}; - -/** - * Example of how to wrap render-to-texture-with-MSAA GL objects with a GrPlatformSurace - * - * GLint colorBufferID; - * glGenRenderbuffers(1, &colorID); - * glBindRenderbuffer(GL_RENDERBUFFER, colorBufferID); - * glRenderbufferStorageMultisample(GL_RENDERBUFFER, S, GL_RGBA, W, H); - * - * GLint stencilBufferID; - * glGenRenderBuffers(1, &stencilBufferID); - * glBindRenderbuffer(GL_RENDERBUFFER, stencilBufferID); - * glRenderbufferStorageMultisample(GL_RENDERBUFFER, S, GL_STENCIL_INDEX8, W, H); - * - * GLint drawFBOID; - * glGenFramebuffers(1, &drawFBOID); - * glBindFramebuffer(GL_FRAMEBUFFER, drawFBOID); - * glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorBufferID); - * glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, stencilBufferID); - * - * GLint textureID; - * glGenTextures(1, &textureID); - * glBindTexture(GL_TEXTURE_2D, textureID); - * glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, W, H, ...); - * - * GLint readFBOID; - * glGenFramebuffers(1, &readFBOID); - * glBindFramebuffer(GL_FRAMEBUFFER, readFBOID); - * glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, textureID, 0); - * - * GrPlatformSurfaceDesc renderTargetTextureDesc; - * renderTargetTextureDesc.fSurfaceType = kTextureRenderTarget_GrPlatformSurfaceType; - * renderTargetTextureDesc.fRenderTargetFlags = kGrCanResolve_GrPlatformRenderTargetFlagBit; - * renderTargetTextureDesc.fWidth = W; - * renderTargetTextureDesc.fHeight = H; - * renderTargetTextureDesc.fConfig = kSkia8888_PM_GrPixelConfig - * renderTargetTextureDesc.fStencilBits = 8; - * renderTargetTextureDesc.fSampleCnt = S; - * renderTargetTextureDesc.fPlatformTexture = textureID; - * renderTargetTextureDesc.fPlatformRenderTarget = drawFBOID; - * renderTargetTextureDesc.fPlatformResolveDestination = readFBOID; - * - * GrTexture* texture = static_cast<GrTexture*>(grContext->createPlatrformSurface(renderTargetTextureDesc)); - */ - /////////////////////////////////////////////////////////////////////////////// |