/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// //@cpp #ifndef S3D_DRV_D3D9_SURFPOOL_H #define S3D_DRV_D3D9_SURFPOOL_H #include "drv_d3d9_types.h" #include "drv_d3d9_ctx.h" #include "drv_d3d9_env.h" /////////////////////////////////////////////////////////////////////////////// struct s3d_CDrvD3d9SurfRTPool; typedef s3d_CUtilPtr s3d_CDrvD3d9SurfRTPoolPtr; /////////////////////////////////////////////////////////////////////////////// //@ struct s3d_CDrvD3d9SurfRTKey { D3DFORMAT m_Fmt; D3DMULTISAMPLE_TYPE m_MultiSampleType; s3d_CDrvD3d9SurfRTKey( D3DFORMAT Fmt, D3DMULTISAMPLE_TYPE MultiSampleType); static int Compare( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs); }; /////////////////////////////////////////////////////////////////////////////// bool operator ==( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs); bool operator <( const s3d_CDrvD3d9SurfRTKey &Lhs, const s3d_CDrvD3d9SurfRTKey &Rhs); /////////////////////////////////////////////////////////////////////////////// struct s3d_CDrvD3d9SurfRT : public s3d_CUtilPtrBase { int m_Width; int m_Height; s3d_CDrvD3d9Surf m_Surf; s3d_CDrvD3d9SurfRTPoolPtr m_SurfRTPool; s3d_CDrvD3d9SurfRT(); virtual ~s3d_CDrvD3d9SurfRT(); void RefCntGotDownToZero(); }; typedef s3d_CUtilPtr s3d_CDrvD3d9SurfRTPtr; /////////////////////////////////////////////////////////////////////////////// struct s3d_CDrvD3d9SurfRTPool : public s3d_CUtilPtrBase { s3d_CUtilPtrArray m_SurfRTArray; }; /////////////////////////////////////////////////////////////////////////////// typedef s3d_CUtilMap s3d_CDrvD3d9SurfRTPoolMap; /////////////////////////////////////////////////////////////////////////////// #endif