本文整理汇总了C++中BaseObject::getState方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseObject::getState方法的具体用法?C++ BaseObject::getState怎么用?C++ BaseObject::getState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseObject
的用法示例。
在下文中一共展示了BaseObject::getState方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: allocate
bool GPUMemory::allocate(BaseObject& bo)
{
GPUMemory::BaseObjectInfo* boInfo = _find(&bo);
BaseObject::State state = bo.getState();
if ( boInfo )
{
if ( state == BaseObject::ReAlloc )
{
// reallocate
_dealloc(&bo, boInfo);
_alloc(&bo);
}
else if ( state == BaseObject::NotSync )
{
_update(&bo, boInfo);
}
else // { ( state == BaseObject::Sync ) -> already synchronized } ||
// { ( state == BaseObject::Blit ) -> updated data is already and exclusively in memory }
{
return false;
}
}
else
{
if ( state != BaseObject::ReAlloc )
panic("GPUMemory", "allocate", "Should not happen."
"GPUMemory internal info not found for an allocated BaseObject");
_alloc(&bo);
}
return true;
}
示例2: dump
void GPUMemory::dump() const
{
cout << "------ GPUMemory allocated objects ------\n\n";
map<BaseObject*,BaseObjectInfo>::const_iterator it = maps.begin();
for ( ; it != maps.end(); it++ )
{
BaseObject* bo = it->first;
BaseObjectInfo boi = it->second;
cout << "State: ";
BaseObject::State state = bo->getState();
switch(state)
{
case BaseObject::ReAlloc: cout << "ReAlloc"; break;
case BaseObject::NotSync: cout << "NotSync"; break;
case BaseObject::Sync: cout << "Sync"; break;
case BaseObject::Blit: cout << "Blit"; break;
default:
panic("GPUMemory","dump","Unknown state");
}
cout << endl;
//cout << "ID_STRING: " << bo->toString().c_str() << " :\n";
cout << " md's: ";
for (u32bit i = 0; i < boi.md.size(); i++ )
{
cout << boi.md[i] << endl;
driver->dumpMD(boi.md[i]);
if ( i < boi.md.size() - 1 )
cout << ", ";
}
cout << "\n size's: ";
for (u32bit i = 0; i < boi.size.size(); i++ )
{
cout << boi.size[i];
if ( i < boi.size.size() - 1 )
cout << ", ";
}
cout << "\n Number of portions: " << bo->getNumberOfPortions() << endl << endl;
}
//driver->dumpMemoryAllocation();
cout << "\n-----------------------------------------" << endl;
}
示例3: deallocate
bool GPUMemory::deallocate(BaseObject& bo)
{
BaseObjectInfo* boInfo = _find(&bo);
BaseObject::State state = bo.getState();
if ( boInfo )
_dealloc(&bo, boInfo);
else
{
panic("GPUMemory", "deallocate", "Trying to deallocate a not allocated object");
return false;
}
return true;
}