already_AddRefed<TextureClientD3D11> D3D11RecycleAllocator::CreateOrRecycleClient(gfx::SurfaceFormat aFormat, const gfx::IntSize& aSize) { RefPtr<TextureClient> textureClient = CreateOrRecycle(aFormat, aSize, BackendSelector::Content, layers::TextureFlags::DEFAULT); if (!textureClient) { return nullptr; } RefPtr<TextureClientD3D11> textureD3D11 = static_cast<TextureClientD3D11*>(textureClient.get()); return textureD3D11.forget(); }
already_AddRefed<TextureClient> TextureClientRecycleAllocator::CreateOrRecycle(gfx::SurfaceFormat aFormat, gfx::IntSize aSize, BackendSelector aSelector, TextureFlags aTextureFlags, TextureAllocationFlags aAllocFlags) { MOZ_ASSERT(!(aTextureFlags & TextureFlags::RECYCLE)); DefaultTextureClientAllocationHelper helper(this, aFormat, aSize, aSelector, aTextureFlags, aAllocFlags); return CreateOrRecycle(helper); }