本文整理汇总了C++中TextureClient类的典型用法代码示例。如果您正苦于以下问题:C++ TextureClient类的具体用法?C++ TextureClient怎么用?C++ TextureClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TextureClient类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ImageBridgeShutdownStep1
// dispatched function
static void ImageBridgeShutdownStep1(ReentrantMonitor *aBarrier, bool *aDone)
{
ReentrantMonitorAutoEnter autoMon(*aBarrier);
MOZ_ASSERT(InImageBridgeChildThread(),
"Should be in ImageBridgeChild thread.");
MediaSystemResourceManager::Shutdown();
if (sImageBridgeChildSingleton) {
// Force all managed protocols to shut themselves down cleanly
InfallibleTArray<PCompositableChild*> compositables;
sImageBridgeChildSingleton->ManagedPCompositableChild(compositables);
for (int i = compositables.Length() - 1; i >= 0; --i) {
CompositableClient::FromIPDLActor(compositables[i])->Destroy();
}
InfallibleTArray<PTextureChild*> textures;
sImageBridgeChildSingleton->ManagedPTextureChild(textures);
for (int i = textures.Length() - 1; i >= 0; --i) {
TextureClient* client = TextureClient::AsTextureClient(textures[i]);
if (client) {
client->ForceRemove();
}
}
sImageBridgeChildSingleton->SendWillStop();
sImageBridgeChildSingleton->MarkShutDown();
// From now on, no message can be sent through the image bridge from the
// client side except the final Stop message.
}
*aDone = true;
aBarrier->NotifyAll();
}
开发者ID:Jinwoo-Song,项目名称:gecko-dev,代码行数:34,代码来源:ImageBridgeChild.cpp
示例2: MOZ_ASSERT
void
LayerTransactionChild::Destroy()
{
if (!IPCOpen()) {
return;
}
// mDestroyed is used to prevent calling Send__delete__() twice.
// When this function is called from CompositorChild::Destroy(),
// under Send__delete__() call, this function is called from
// ShadowLayerForwarder's destructor.
// When it happens, IPCOpen() is still true.
// See bug 1004191.
mDestroyed = true;
MOZ_ASSERT(0 == ManagedPLayerChild().Count(),
"layers should have been cleaned up by now");
const ManagedContainer<PTextureChild>& textures = ManagedPTextureChild();
for (auto iter = textures.ConstIter(); !iter.Done(); iter.Next()) {
TextureClient* texture = TextureClient::AsTextureClient(iter.Get()->GetKey());
if (texture) {
texture->Destroy();
}
}
SendShutdown();
}
开发者ID:Nazi-Nigger,项目名称:gecko-dev,代码行数:26,代码来源:LayerTransactionChild.cpp
示例3: MOZ_ASSERT
void
LayerTransactionChild::Destroy()
{
if (!IPCOpen()) {
return;
}
// mDestroyed is used to prevent calling Send__delete__() twice.
// When this function is called from CompositorChild::Destroy(),
// under Send__delete__() call, this function is called from
// ShadowLayerForwarder's destructor.
// When it happens, IPCOpen() is still true.
// See bug 1004191.
mDestroyed = true;
MOZ_ASSERT(0 == ManagedPLayerChild().Length(),
"layers should have been cleaned up by now");
for (size_t i = 0; i < ManagedPTextureChild().Length(); ++i) {
TextureClient* texture = TextureClient::AsTextureClient(ManagedPTextureChild()[i]);
if (texture) {
texture->ForceRemove();
}
}
SendShutdown();
}
开发者ID:Jar-win,项目名称:Waterfox,代码行数:25,代码来源:LayerTransactionChild.cpp
示例4: MOZ_ASSERT
TextureClient*
PersistentBufferProviderShared::GetTextureClient()
{
// Can't access the front buffer while drawing.
MOZ_ASSERT(!mDrawTarget);
TextureClient* texture = GetTexture(mFront);
if (texture) {
texture->EnableReadLock();
} else {
gfxCriticalNote << "PersistentBufferProviderShared: front buffer unavailable";
}
return texture;
}
开发者ID:philbooth,项目名称:gecko-dev,代码行数:13,代码来源:PersistentBufferProvider.cpp
示例5:
void
PersistentBufferProviderShared::Destroy()
{
mSnapshot = nullptr;
mDrawTarget = nullptr;
for (uint32_t i = 0; i < mTextures.length(); ++i) {
TextureClient* texture = mTextures[i];
if (texture && texture->IsLocked()) {
MOZ_ASSERT(false);
texture->Unlock();
}
}
mTextures.clear();
}
开发者ID:philbooth,项目名称:gecko-dev,代码行数:16,代码来源:PersistentBufferProvider.cpp
示例6: dt
bool
PersistentBufferProviderShared::ReturnDrawTarget(already_AddRefed<gfx::DrawTarget> aDT)
{
RefPtr<gfx::DrawTarget> dt(aDT);
MOZ_ASSERT(mDrawTarget == dt);
// Can't change the current front buffer while its snapshot is borrowed!
MOZ_ASSERT(!mSnapshot);
mDrawTarget = nullptr;
dt = nullptr;
TextureClient* back = GetTexture(mBack);
MOZ_ASSERT(back);
if (back) {
back->Unlock();
mFront = mBack;
}
return !!back;
}
开发者ID:philbooth,项目名称:gecko-dev,代码行数:21,代码来源:PersistentBufferProvider.cpp
示例7: GetTexturePool
void
ClientLayerManager::ReportClientLost(TextureClient& aClient) {
GetTexturePool(aClient.GetFormat())->ReportClientLost();
}
开发者ID:dadaa,项目名称:gecko-dev,代码行数:4,代码来源:ClientLayerManager.cpp
示例8: GetTexturePool
void
ClientLayerManager::ReturnTextureClientDeferred(TextureClient& aClient) {
GetTexturePool(aClient.GetFormat(),
aClient.GetFlags())->ReturnTextureClientDeferred(&aClient);
}
开发者ID:npark-mozilla,项目名称:gecko-dev,代码行数:5,代码来源:ClientLayerManager.cpp
注:本文中的TextureClient类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论