/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// //@cpp #include "drv_d3d9_surfpool.h" /////////////////////////////////////////////////////////////////////////////// s3d_CDrvD3d9SurfRTKey::s3d_CDrvD3d9SurfRTKey( D3DFORMAT Fmt, D3DMULTISAMPLE_TYPE MultiSampleType) : m_Fmt(Fmt), m_MultiSampleType(MultiSampleType) { } int s3d_CDrvD3d9SurfRTKey::Compare( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs) { if(Lhs.m_Fmt < Rhs.m_Fmt) return -1; if(Lhs.m_Fmt > Rhs.m_Fmt) return 1; if(Lhs.m_MultiSampleType < Rhs.m_MultiSampleType) return -1; if(Lhs.m_MultiSampleType > Rhs.m_MultiSampleType) return 1; return 0; } /////////////////////////////////////////////////////////////////////////////// bool operator ==( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs) { return s3d_CDrvD3d9SurfRTKey::Compare(Lhs, Rhs) == 0; } bool operator <( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs) { return s3d_CDrvD3d9SurfRTKey::Compare(Lhs, Rhs) < 0; } /////////////////////////////////////////////////////////////////////////////// s3d_CDrvD3d9SurfRT::s3d_CDrvD3d9SurfRT() { m_Width = 0; m_Height = 0; } s3d_CDrvD3d9SurfRT::~s3d_CDrvD3d9SurfRT() { } void s3d_CDrvD3d9SurfRT::RefCntGotDownToZero() { if(m_SurfRTPool) { m_SurfRTPool->m_SurfRTArray.InsertBack(this); m_SurfRTPool = 0; } else S3D_SYS_DELETE this; } ///////////////////////////////////////////////////////////////////////////////