source: GTP/trunk/App/Demos/Geom/Shark3D/src/drv_d3d9_surfpool.cpp @ 2236

Revision 2236, 2.0 KB checked in by gumbau, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2006 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14//@cpp
15
16#include "drv_d3d9_surfpool.h"
17
18///////////////////////////////////////////////////////////////////////////////
19
20s3d_CDrvD3d9SurfRTKey::s3d_CDrvD3d9SurfRTKey(
21        D3DFORMAT Fmt, D3DMULTISAMPLE_TYPE MultiSampleType)
22    : m_Fmt(Fmt), m_MultiSampleType(MultiSampleType)
23{
24}
25
26int s3d_CDrvD3d9SurfRTKey::Compare(
27        const s3d_CDrvD3d9SurfRTKey &Lhs,
28        const s3d_CDrvD3d9SurfRTKey &Rhs)
29{
30    if(Lhs.m_Fmt < Rhs.m_Fmt)
31        return -1;
32    if(Lhs.m_Fmt > Rhs.m_Fmt)
33        return 1;
34
35    if(Lhs.m_MultiSampleType < Rhs.m_MultiSampleType)
36        return -1;
37    if(Lhs.m_MultiSampleType > Rhs.m_MultiSampleType)
38        return 1;
39   
40    return 0;
41}
42
43///////////////////////////////////////////////////////////////////////////////
44
45bool operator ==(
46        const s3d_CDrvD3d9SurfRTKey &Lhs,
47        const s3d_CDrvD3d9SurfRTKey &Rhs)
48{
49    return s3d_CDrvD3d9SurfRTKey::Compare(Lhs, Rhs) == 0;
50}
51
52bool operator <(
53        const s3d_CDrvD3d9SurfRTKey &Lhs,
54        const s3d_CDrvD3d9SurfRTKey &Rhs)
55{
56    return s3d_CDrvD3d9SurfRTKey::Compare(Lhs, Rhs) < 0;
57}
58
59///////////////////////////////////////////////////////////////////////////////
60
61s3d_CDrvD3d9SurfRT::s3d_CDrvD3d9SurfRT()
62{
63    m_Width = 0;
64    m_Height = 0;
65}
66
67s3d_CDrvD3d9SurfRT::~s3d_CDrvD3d9SurfRT()
68{
69}
70
71void s3d_CDrvD3d9SurfRT::RefCntGotDownToZero()
72{
73    if(m_SurfRTPool)
74    {
75        m_SurfRTPool->m_SurfRTArray.InsertBack(this);
76        m_SurfRTPool = 0;
77    }
78    else
79        S3D_SYS_DELETE this;
80}
81
82///////////////////////////////////////////////////////////////////////////////
Note: See TracBrowser for help on using the repository browser.