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

Revision 2236, 2.4 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#ifndef S3D_DRV_D3D9_SURFPOOL_H
17#define S3D_DRV_D3D9_SURFPOOL_H
18
19#include "drv_d3d9_types.h"
20#include "drv_d3d9_ctx.h"
21#include "drv_d3d9_env.h"
22
23///////////////////////////////////////////////////////////////////////////////
24
25struct s3d_CDrvD3d9SurfRTPool;
26typedef s3d_CUtilPtr<s3d_CDrvD3d9SurfRTPool> s3d_CDrvD3d9SurfRTPoolPtr;
27
28///////////////////////////////////////////////////////////////////////////////
29
30//@
31struct s3d_CDrvD3d9SurfRTKey
32{
33    D3DFORMAT m_Fmt;
34    D3DMULTISAMPLE_TYPE m_MultiSampleType;
35
36    s3d_CDrvD3d9SurfRTKey(
37            D3DFORMAT Fmt, D3DMULTISAMPLE_TYPE MultiSampleType);
38
39    static int Compare(
40            const s3d_CDrvD3d9SurfRTKey &Lhs,
41            const s3d_CDrvD3d9SurfRTKey &Rhs);
42};
43
44///////////////////////////////////////////////////////////////////////////////
45
46bool operator ==(
47        const s3d_CDrvD3d9SurfRTKey &Lhs,
48        const s3d_CDrvD3d9SurfRTKey &Rhs);
49
50bool operator <(
51        const s3d_CDrvD3d9SurfRTKey &Lhs,
52        const s3d_CDrvD3d9SurfRTKey &Rhs);
53
54///////////////////////////////////////////////////////////////////////////////
55
56struct s3d_CDrvD3d9SurfRT
57        : public s3d_CUtilPtrBase
58{
59    int m_Width;
60    int m_Height;
61    s3d_CDrvD3d9Surf m_Surf;
62    s3d_CDrvD3d9SurfRTPoolPtr m_SurfRTPool;
63
64    s3d_CDrvD3d9SurfRT();
65    virtual ~s3d_CDrvD3d9SurfRT();
66
67    void RefCntGotDownToZero();
68};
69
70typedef s3d_CUtilPtr<s3d_CDrvD3d9SurfRT> s3d_CDrvD3d9SurfRTPtr;
71
72///////////////////////////////////////////////////////////////////////////////
73
74struct s3d_CDrvD3d9SurfRTPool
75        : public s3d_CUtilPtrBase
76{
77    s3d_CUtilPtrArray<s3d_CDrvD3d9SurfRT> m_SurfRTArray;
78};
79
80///////////////////////////////////////////////////////////////////////////////
81
82typedef s3d_CUtilMap<s3d_CDrvD3d9SurfRTKey, s3d_CDrvD3d9SurfRTPoolPtr>
83            s3d_CDrvD3d9SurfRTPoolMap;
84
85///////////////////////////////////////////////////////////////////////////////
86
87#endif
Note: See TracBrowser for help on using the repository browser.