GrBackendObject GrMockGpu::createTestingOnlyBackendTexture(void* pixels, int w, int h, GrPixelConfig config, bool isRT) { auto info = new GrMockTextureInfo; info->fID = NextExternalTextureID(); fOutstandingTestingOnlyTextureIDs.add(info->fID); return reinterpret_cast<GrBackendObject>(info); }
GrBackendTexture GrMockGpu::createTestingOnlyBackendTexture(const void* pixels, int w, int h, GrColorType colorType, bool isRT, GrMipMapped mipMapped, size_t rowBytes) { GrPixelConfig config = GrColorTypeToPixelConfig(colorType, GrSRGBEncoded::kNo); if (!this->caps()->isConfigTexturable(config)) { return GrBackendTexture(); // invalid } GrMockTextureInfo info; info.fConfig = config; info.fID = NextExternalTextureID(); fOutstandingTestingOnlyTextureIDs.add(info.fID); return GrBackendTexture(w, h, mipMapped, info); }
GrBackendTexture GrMockGpu::createBackendTexture(int w, int h, const GrBackendFormat& format, GrMipMapped mipMapped, GrRenderable /* renderable */, const void* /* pixels */, size_t /* rowBytes */, const SkColor4f& /* color */) { const GrPixelConfig* pixelConfig = format.getMockFormat(); if (!pixelConfig) { return GrBackendTexture(); // invalid } if (!this->caps()->isConfigTexturable(*pixelConfig)) { return GrBackendTexture(); // invalid } GrMockTextureInfo info; info.fConfig = *pixelConfig; info.fID = NextExternalTextureID(); fOutstandingTestingOnlyTextureIDs.add(info.fID); return GrBackendTexture(w, h, mipMapped, info); }