MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / _dereferenceSharedDepthBuffer

Method _dereferenceSharedDepthBuffer

OgreMain/src/OgreRenderSystem.cpp:582–603  ·  view source on GitHub ↗

---------------------------------------------------------------------

Source from the content-addressed store, hash-verified

580 }
581 //---------------------------------------------------------------------
582 void RenderSystem::_dereferenceSharedDepthBuffer( TextureGpu *depthBuffer )
583 {
584 if( !depthBuffer )
585 return;
586
587 DepthBufferRefMap::iterator itor = mSharedDepthBufferRefs.find( depthBuffer );
588
589 if( itor != mSharedDepthBufferRefs.end() )
590 {
591 OGRE_ASSERT_MEDIUM( depthBuffer->getSourceType() == TextureSourceType::SharedDepthBuffer );
592 OGRE_ASSERT_LOW( itor->second > 0u && "Releasing a shared depth buffer too much" );
593 --itor->second;
594
595 if( itor->second == 0u )
596 mSharedDepthBufferZeroRefCandidates.insert( depthBuffer );
597 }
598 else
599 {
600 // This is not a shared depth buffer (e.g. one created by the user)
601 OGRE_ASSERT_MEDIUM( depthBuffer->getSourceType() != TextureSourceType::SharedDepthBuffer );
602 }
603 }
604 //-----------------------------------------------------------------------
605 void RenderSystem::debugLogPso( const HlmsPso *pso )
606 {

Callers 1

notifyRecreatedMethod · 0.80

Calls 4

getSourceTypeMethod · 0.80
findMethod · 0.45
endMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected