Lines Matching full:desc
409 GrTexture* GrGpuGL::onWrapBackendTexture(const GrBackendTextureDesc& desc) {
410 if (!this->configToGLFormats(desc.fConfig, false, NULL, NULL, NULL)) {
414 if (0 == desc.fTextureHandle) {
419 if (desc.fWidth > maxSize || desc.fHeight > maxSize) {
423 GrGLTexture::Desc glTexDesc;
425 glTexDesc.fFlags = (GrTextureFlags) desc.fFlags;
426 glTexDesc.fWidth = desc.fWidth;
427 glTexDesc.fHeight = desc.fHeight;
428 glTexDesc.fConfig = desc.fConfig;
429 glTexDesc.fSampleCnt = desc.fSampleCnt;
430 glTexDesc.fTextureID = static_cast<GrGLuint>(desc.fTextureHandle);
432 bool renderTarget = SkToBool(desc.fFlags & kRenderTarget_GrBackendTextureFlag);
436 // glTexDesc.fOrigin = resolve_origin(desc.fOrigin, renderTarget);
437 if (kDefault_GrSurfaceOrigin == desc.fOrigin) {
440 glTexDesc.fOrigin = desc.fOrigin;
445 GrGLRenderTarget::Desc glRTDesc;
449 glRTDesc.fConfig = desc.fConfig;
450 glRTDesc.fSampleCnt = desc.fSampleCnt;
470 GrRenderTarget* GrGpuGL::onWrapBackendRenderTarget(const GrBackendRenderTargetDesc& desc) {
471 Desc glDesc;
472 glDesc.fConfig = desc.fConfig;
473 glDesc.fRTFBOID = static_cast<GrGLuint>(desc.fRenderTargetHandle);
476 glDesc.fSampleCnt = desc.fSampleCnt;
480 glDesc.fOrigin = resolve_origin(desc.fOrigin, true);
484 viewport.fWidth = desc.fWidth;
485 viewport.fHeight = desc.fHeight;
489 if (desc.fStencilBits) {
493 format.fStencilBits = desc.fStencilBits;
494 format.fTotalBits = desc.fStencilBits;
500 desc.fWidth,
501 desc.fHeight,
502 desc.fSampleCnt,
523 GrGLTexture::Desc desc;
524 desc.fFlags = glTex->desc().fFlags;
525 desc.fWidth = glTex->width();
526 desc.fHeight = glTex->height();
527 desc.fConfig = glTex->config();
528 desc.fSampleCnt = glTex->desc().fSampleCnt;
529 desc.fTextureID = glTex->textureID();
530 desc.fOrigin = glTex->origin();
532 if (this->uploadTexData(desc, false,
569 GrGLenum check_alloc_error(const GrTextureDesc& desc, const GrGLInterface* interface) {
570 if (SkToBool(desc.fFlags & kCheckAllocation_GrTextureFlagBit)) {
579 bool GrGpuGL::uploadTexData(const GrGLTexture::Desc& desc,
588 if (!adjust_pixel_ops_params(desc.fWidth, desc.fHeight, bpp, &left, &top,
599 desc.fConfig != kIndex_8_GrPixelConfig &&
607 useTexStorage = desc.fConfig != kRGB_565_GrPixelConfig;
635 if (kBottomLeft_GrSurfaceOrigin == desc.fOrigin) {
679 desc.fWidth == width && desc.fHeight == height) {
688 desc.fWidth, desc.fHeight));
691 GrGLsizei imageSize = desc.fWidth * desc.fHeight +
697 desc.fWidth, desc.fHeight,
706 desc.fWidth, desc.fHeight,
712 GrGLenum error = check_alloc_error(desc, this->glInterface());
729 top = desc.fHeight - (top + height);
782 GrGLRenderTarget::Desc* desc) {
783 desc->fMSColorRenderbufferID = 0;
784 desc->fRTFBOID = 0;
785 desc->fTexFBOID = 0;
786 desc->fIsWrapped = false;
792 if (desc->fSampleCnt > 0 && GrGLCaps::kNone_MSFBOType == this->glCaps().msFBOType()) {
796 GL_CALL(GenFramebuffers(1, &desc->fTexFBOID));
797 if (!desc->fTexFBOID) {
806 if (desc->fSampleCnt > 0 && this->glCaps().usesMSAARenderBuffers()) {
807 GL_CALL(GenFramebuffers(1, &desc->fRTFBOID));
808 GL_CALL(GenRenderbuffers(1, &desc->fMSColorRenderbufferID));
809 if (!desc->fRTFBOID ||
810 !desc->fMSColorRenderbufferID ||
811 !this->configToGLFormats(desc->fConfig,
820 desc->fRTFBOID = desc->fTexFBOID;
825 if (desc->fRTFBOID != desc->fTexFBOID) {
826 GrAssert(desc->fSampleCnt > 0);
828 desc->fMSColorRenderbufferID));
830 desc->fSampleCnt,
835 GL_CALL(BindFramebuffer(GR_GL_FRAMEBUFFER, desc->fRTFBOID));
839 desc->fMSColorRenderbufferID));
840 if (desc->fCheckAllocation ||
841 !this->glCaps().isConfigVerifiedColorAttachment(desc->fConfig)) {
846 fGLContext.info().caps()->markConfigAsValidColorAttachment(desc->fConfig);
849 GL_CALL(BindFramebuffer(GR_GL_FRAMEBUFFER, desc->fTexFBOID));
851 if (this->glCaps().usesImplicitMSAAResolve() && desc->fSampleCnt > 0) {
855 texID, 0, desc->fSampleCnt));
862 if (desc->fCheckAllocation ||
863 !this->glCaps().isConfigVerifiedColorAttachment(desc->fConfig)) {
868 fGLContext.info().caps()->markConfigAsValidColorAttachment(desc->fConfig);
874 if (desc->fMSColorRenderbufferID) {
875 desc->fMSColorRenderbufferID));
877 if (desc->fRTFBOID != desc->fTexFBOID) {
878 GL_CALL(DeleteFramebuffers(1, &desc->fRTFBOID));
880 if (desc->fTexFBOID) {
881 GL_CALL(DeleteFramebuffers(1, &desc->fTexFBOID));
898 GrTexture* GrGpuGL::onCreateTexture(const GrTextureDesc& desc,
902 GrGLTexture::Desc glTexDesc;
903 GrGLRenderTarget::Desc glRTDesc;
906 GrAssert(desc.fSampleCnt >= 0 && desc.fSampleCnt <= 64);
908 if (GrGLCaps::kNone_MSFBOType == this->glCaps().msFBOType() && desc.fSampleCnt) {
913 glTexDesc.fSampleCnt = GrMin(desc.fSampleCnt, this->caps()->maxSampleCount());
915 glTexDesc.fFlags = desc.fFlags;
916 glTexDesc.fWidth = desc.fWidth;
917 glTexDesc.fHeight = desc.fHeight;
918 glTexDesc.fConfig = desc.fConfig;
926 glRTDesc.fCheckAllocation = SkToBool(desc.fFlags & kCheckAllocation_GrTextureFlagBit);
928 bool renderTarget = SkToBool(desc.fFlags & kRenderTarget_GrTextureFlagBit);
930 glTexDesc.fOrigin = resolve_origin(desc.fOrigin, renderTarget);
935 desc.fSampleCnt) {
992 desc.fConfig, srcData, rowBytes)) {
1016 glTexDesc.fTextureID, desc.fWidth, desc.fHeight, desc.fConfig);
1087 (GR_GL_NO_ERROR == check_alloc_error(rt->desc(), this->glInterface()));
1176 GrGLVertexBuffer::Desc desc;
1177 desc.fDynamic = dynamic;
1178 desc.fSizeInBytes = size;
1179 desc.fIsWrapped = false;
1181 if (this->glCaps().useNonVBOVertexAndIndexDynamicData() && desc.fDynamic) {
1182 desc.fID = 0;
1183 GrGLVertexBuffer* vertexBuffer = SkNEW_ARGS(GrGLVertexBuffer, (this, desc));
1186 GL_CALL(GenBuffers(1, &desc.fID));
1187 if (desc.fID) {
1188 fHWGeometryState.setVertexBufferID(this, desc.fID);
1193 desc.fSizeInBytes,
1195 desc.fDynamic ? GR_GL_DYNAMIC_DRAW : GR_GL_STATIC_DRAW));
1197 GL_CALL(DeleteBuffers(1, &desc.fID));
1198 this->notifyVertexBufferDelete(desc.fID);
1201 GrGLVertexBuffer* vertexBuffer = SkNEW_ARGS(GrGLVertexBuffer, (this, desc));
1209 GrGLIndexBuffer::Desc desc;
1210 desc.fDynamic = dynamic;
1211 desc.fSizeInBytes = size;
1212 desc.fIsWrapped = false;
1214 if (this->glCaps().useNonVBOVertexAndIndexDynamicData() && desc.fDynamic) {
1215 desc.fID = 0;
1216 GrIndexBuffer* indexBuffer = SkNEW_ARGS(GrGLIndexBuffer, (this, desc));
1219 GL_CALL(GenBuffers(1, &desc.fID));
1220 if (desc.fID) {
1221 fHWGeometryState.setIndexBufferIDOnDefaultVertexArray(this, desc.fID);
1226 desc.fSizeInBytes,
1228 desc.fDynamic ? GR_GL_DYNAMIC_DRAW : GR_GL_STATIC_DRAW));
1230 GL_CALL(DeleteBuffers(1, &desc.fID));
1231 this->notifyIndexBufferDelete(desc.fID);
1234 GrIndexBuffer* indexBuffer = SkNEW_ARGS(GrGLIndexBuffer, (this, desc));
2367 void GrGpuGL::initCopySurfaceDstDesc(const GrSurface* src, GrTextureDesc* desc) {
2373 INHERITED::initCopySurfaceDstDesc(src, desc);
2378 INHERITED::initCopySurfaceDstDesc(src, desc);
2385 INHERITED::initCopySurfaceDstDesc(src, desc);
2387 desc->fConfig = src->config();
2388 desc->fOrigin = src->origin();
2389 desc->fFlags = kNone_GrTextureFlags;