Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

panda/src/dxgsg8/dxgsg8base.h File Reference

#include <windows.h>
#include <d3d8.h>
#include <d3dx8.h>
#include <dxerr8.h>
#include "pandabase.h"
#include "graphicsWindow.h"

Go to the source code of this file.

Compounds

struct  DXScreenData

Defines

#define _WIN32_WINNT   0x0502
#define WIN32_LEAN_AND_MEAN
#define D3D_OVERLOADS
#define D3DERRORSTRING(HRESULT)   " at (" << __FILE__ << ":" << __LINE__ << "), hr=" << DXGetErrorString8(HRESULT) << ": " << DXGetErrorDescription8(HRESULT) << endl
#define IS_NVIDIA(DDDEVICEID)   ((DDDEVICEID.VendorId==0x10DE) || (DDDEVICEID.VendorId==0x12D2))
#define IS_ATI(DDDEVICEID)   (DDDEVICEID.VendorId==0x1002)
#define IS_MATROX(DDDEVICEID)   (DDDEVICEID.VendorId==0x102B)
#define D3D_MAXTEXTURESTAGES   8
#define ISPOW2(X)   (((X) & ((X)-1))==0)
#define IS_VALID_PTR(PTR)   (!IsBadWritePtr(PTR,sizeof(void*)))
#define DX_DECLARE_CLEAN(type, var)
#define SAFE_DELSHADER(TYPE, HANDLE, PDEVICE)   if((HANDLE!=NULL)&&IS_VALID_PTR(PDEVICE)) { PDEVICE->Delete##TYPE##Shader(HANDLE); HANDLE=NULL; }
#define SAFE_DELETE(p)   { if(p) { assert(IS_VALID_PTR(p)); delete (p); (p)=NULL; } }
#define SAFE_DELETE_ARRAY(p)   { if(p) { assert(IS_VALID_PTR(p)); delete [] (p); (p)=NULL; } }
#define SAFE_RELEASE(p)   { if(p) { assert(IS_VALID_PTR(p)); (p)->Release(); (p)=NULL; } }
#define SAFE_FREELIB(hDLL)   { if(hDLL!=NULL) { FreeLibrary(hDLL);hDLL = NULL; } }
#define RELEASE_DOWN_TO_ZERO   true
#define RELEASE_ONCE   false
#define DEBUG_RELEASES
#define RELEASE(OBJECT, MODULE, DBGSTR, bDoDownToZero)
#define PRINT_REFCNT(MODULE, p)
#define DO_PSTATS_STUFF(XX)
#define PANDA_MAXNUMVERTS   0xFFFF
#define FLG(NN)   (1<<NN)
#define MAX_POSSIBLE_TEXFMTS   32
#define DISPLAY_32BPP_REQUIRES_16BPP_ZBUFFER_FLAG   DXT1_FLAG
#define DISPLAY_16BPP_REQUIRES_16BPP_ZBUFFER_FLAG   DXT2_FLAG
#define IS_16BPP_DISPLAY_FORMAT(FMT)   (((FMT)==D3DFMT_R5G6B5)||((FMT)==D3DFMT_X1R5G5B5)||((FMT)==D3DFMT_A1R5G5B5))
#define IS_16BPP_ZBUFFER(FMT)   ((FMT==D3DFMT_D16)||(FMT==D3DFMT_D15S1))
#define IS_STENCIL_FORMAT(FMT)   (((FMT)==D3DFMT_D24S8) || ((FMT)==D3DFMT_D15S1) || ((FMT)==D3DFMT_D24X4S4))
#define RECT_XSIZE(REC)   (REC.right-REC.left)
#define RECT_YSIZE(REC)   (REC.bottom-REC.top)

Typedefs

typedef DWORD DXShaderHandle

Enumerations

enum  ShaderType { VertexShader, PixelShader }
enum  D3DFORMAT_FLAG {
  R8G8B8_FLAG = (1<< 0 ), A8R8G8B8_FLAG = (1<< 1 ), X8R8G8B8_FLAG = (1<< 2 ), R5G6B5_FLAG = (1<< 3 ),
  X1R5G5B5_FLAG = (1<< 4 ), A1R5G5B5_FLAG = (1<< 5 ), A4R4G4B4_FLAG = (1<< 6 ), R3G3B2_FLAG = (1<< 7 ),
  A8_FLAG = (1<< 8 ), A8R3G3B2_FLAG = (1<< 9 ), X4R4G4B4_FLAG = (1<< 10 ), A2B10G10R10_FLAG = (1<< 11 ),
  G16R16_FLAG = (1<< 12 ), A8P8_FLAG = (1<< 13 ), P8_FLAG = (1<< 14 ), L8_FLAG = (1<< 15 ),
  A8L8_FLAG = (1<< 16 ), A4L4_FLAG = (1<< 17 ), V8U8_FLAG = (1<< 18 ), L6V5U5_FLAG = (1<< 19 ),
  X8L8V8U8_FLAG = (1<< 20 ), Q8W8V8U8_FLAG = (1<< 21 ), V16U16_FLAG = (1<< 22 ), W11V11U10_FLAG = (1<< 23 ),
  A2W10V10U10_FLAG = (1<< 24 ), UYVY_FLAG = (1<< 25 ), YUY2_FLAG = (1<< 26 ), DXT1_FLAG = (1<< 27 ),
  DXT2_FLAG = (1<< 28 ), DXT3_FLAG = (1<< 29 ), DXT4_FLAG = (1<< 30 ), DXT5_FLAG = (1<< 31 )
}

Functions

void Init_D3DFORMAT_map (void)
const char * D3DFormatStr (D3DFORMAT fmt)

Variables

map< D3DFORMAT_FLAG, D3DFORMAT > g_D3DFORMATmap


Detailed Description

Definition in file dxgsg8base.h.


Define Documentation

#define _WIN32_WINNT   0x0502
 

Definition at line 28 of file dxgsg8base.h.

#define D3D_MAXTEXTURESTAGES   8
 

Definition at line 72 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::reset(), and DXGraphicsStateGuardian8::set_ambient_light().

#define D3D_OVERLOADS
 

Definition at line 38 of file dxgsg8base.h.

#define D3DERRORSTRING HRESULT   )     " at (" << __FILE__ << ":" << __LINE__ << "), hr=" << DXGetErrorString8(HRESULT) << ": " << DXGetErrorDescription8(HRESULT) << endl
 

Definition at line 63 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::do_clear(), DXGraphicsStateGuardian8::enable_fog(), EnumObjectsCallbackJoystick(), wdxGraphicsPipe8::find_all_card_memavails(), CD3DFont::RestoreDeviceObjects(), DXGraphicsStateGuardian8::set_vertex_format(), DXGraphicsStateGuardian8::support_overlay_window(), and TestDrawPrimFailure().

#define DEBUG_RELEASES
 

Definition at line 101 of file dxgsg8base.h.

#define DISPLAY_16BPP_REQUIRES_16BPP_ZBUFFER_FLAG   DXT2_FLAG
 

Definition at line 187 of file dxgsg8base.h.

#define DISPLAY_32BPP_REQUIRES_16BPP_ZBUFFER_FLAG   DXT1_FLAG
 

Definition at line 186 of file dxgsg8base.h.

#define DO_PSTATS_STUFF XX   ) 
 

Definition at line 143 of file dxgsg8base.h.

#define DX_DECLARE_CLEAN type,
var   ) 
 

Value:

type var;                       \
    ZeroMemory(&var, sizeof(type)); \
    var.dwSize = sizeof(type);

Definition at line 80 of file dxgsg8base.h.

#define FLG NN   )     (1<<NN)
 

Definition at line 148 of file dxgsg8base.h.

#define IS_16BPP_DISPLAY_FORMAT FMT   )     (((FMT)==D3DFMT_R5G6B5)||((FMT)==D3DFMT_X1R5G5B5)||((FMT)==D3DFMT_A1R5G5B5))
 

Definition at line 189 of file dxgsg8base.h.

#define IS_16BPP_ZBUFFER FMT   )     ((FMT==D3DFMT_D16)||(FMT==D3DFMT_D15S1))
 

Definition at line 190 of file dxgsg8base.h.

#define IS_ATI DDDEVICEID   )     (DDDEVICEID.VendorId==0x1002)
 

Definition at line 69 of file dxgsg8base.h.

#define IS_MATROX DDDEVICEID   )     (DDDEVICEID.VendorId==0x102B)
 

Definition at line 70 of file dxgsg8base.h.

#define IS_NVIDIA DDDEVICEID   )     ((DDDEVICEID.VendorId==0x10DE) || (DDDEVICEID.VendorId==0x12D2))
 

Definition at line 68 of file dxgsg8base.h.

#define IS_STENCIL_FORMAT FMT   )     (((FMT)==D3DFMT_D24S8) || ((FMT)==D3DFMT_D15S1) || ((FMT)==D3DFMT_D24X4S4))
 

Definition at line 191 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::support_overlay_window().

#define IS_VALID_PTR PTR   )     (!IsBadWritePtr(PTR,sizeof(void*)))
 

Definition at line 78 of file dxgsg8base.h.

#define ISPOW2  )     (((X) & ((X)-1))==0)
 

Definition at line 77 of file dxgsg8base.h.

#define MAX_POSSIBLE_TEXFMTS   32
 

Definition at line 149 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::dx_init().

#define PANDA_MAXNUMVERTS   0xFFFF
 

Definition at line 146 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::free_nondx_resources().

#define PRINT_REFCNT MODULE,
 ) 
 

Value:

{ ULONG refcnt;  (p)->AddRef();  refcnt=(p)->Release(); \
                                 MODULE##_cat.debug() << #p << " has refcnt = " << refcnt << " at " << __FILE__ << ":" << __LINE__ << endl; }

Definition at line 120 of file dxgsg8base.h.

#define RECT_XSIZE REC   )     (REC.right-REC.left)
 

Definition at line 192 of file dxgsg8base.h.

#define RECT_YSIZE REC   )     (REC.bottom-REC.top)
 

Definition at line 193 of file dxgsg8base.h.

#define RELEASE OBJECT,
MODULE,
DBGSTR,
bDoDownToZero   ) 
 

Value:

{  \
   ULONG refcnt;                                                \
   if(IS_VALID_PTR(OBJECT)) {                                   \
        refcnt = (OBJECT)->Release();                           \
        MODULE##_cat.debug() << DBGSTR << " released, refcnt = " << refcnt << " at " << __FILE__ << ":" << __LINE__ << endl; \
        if((bDoDownToZero) && (refcnt>0)) {                     \
              MODULE##_cat.warning() << DBGSTR << " released but still has a non-zero refcnt(" << refcnt << "), multi-releasing it down to zero!\n"; \
              do {                                \
                refcnt = (OBJECT)->Release();     \
              } while(refcnt>0);                  \
        }                                         \
        (OBJECT) = NULL;                          \
      } else {                                    \
        MODULE##_cat.debug() << DBGSTR << " not released, ptr == NULL" << endl;  \
      }}

Definition at line 104 of file dxgsg8base.h.

#define RELEASE_DOWN_TO_ZERO   true
 

Definition at line 96 of file dxgsg8base.h.

#define RELEASE_ONCE   false
 

Definition at line 97 of file dxgsg8base.h.

#define SAFE_DELETE  )     { if(p) { assert(IS_VALID_PTR(p)); delete (p); (p)=NULL; } }
 

Definition at line 88 of file dxgsg8base.h.

#define SAFE_DELETE_ARRAY  )     { if(p) { assert(IS_VALID_PTR(p)); delete [] (p); (p)=NULL; } }
 

Definition at line 89 of file dxgsg8base.h.

#define SAFE_DELSHADER TYPE,
HANDLE,
PDEVICE   )     if((HANDLE!=NULL)&&IS_VALID_PTR(PDEVICE)) { PDEVICE->Delete##TYPE##Shader(HANDLE); HANDLE=NULL; }
 

Definition at line 85 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::slot_new_clip_plane().

#define SAFE_FREELIB hDLL   )     { if(hDLL!=NULL) { FreeLibrary(hDLL);hDLL = NULL; } }
 

Definition at line 93 of file dxgsg8base.h.

#define SAFE_RELEASE  )     { if(p) { assert(IS_VALID_PTR(p)); (p)->Release(); (p)=NULL; } }
 

Definition at line 92 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::slot_new_clip_plane().

#define WIN32_LEAN_AND_MEAN
 

Definition at line 30 of file dxgsg8base.h.


Typedef Documentation

typedef DWORD DXShaderHandle
 

Definition at line 75 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::GetDXReady(), and DXGraphicsStateGuardian8::read_vertex_shader().


Enumeration Type Documentation

enum D3DFORMAT_FLAG
 

Enumeration values:
R8G8B8_FLAG 
A8R8G8B8_FLAG 
X8R8G8B8_FLAG 
R5G6B5_FLAG 
X1R5G5B5_FLAG 
A1R5G5B5_FLAG 
A4R4G4B4_FLAG 
R3G3B2_FLAG 
A8_FLAG 
A8R3G3B2_FLAG 
X4R4G4B4_FLAG 
A2B10G10R10_FLAG 
G16R16_FLAG 
A8P8_FLAG 
P8_FLAG 
L8_FLAG 
A8L8_FLAG 
A4L4_FLAG 
V8U8_FLAG 
L6V5U5_FLAG 
X8L8V8U8_FLAG 
Q8W8V8U8_FLAG 
V16U16_FLAG 
W11V11U10_FLAG 
A2W10V10U10_FLAG 
UYVY_FLAG 
YUY2_FLAG 
DXT1_FLAG 
DXT2_FLAG 
DXT3_FLAG 
DXT4_FLAG 
DXT5_FLAG 

Definition at line 150 of file dxgsg8base.h.

Referenced by DXGraphicsStateGuardian8::dx_init().

enum ShaderType
 

Enumeration values:
VertexShader 
PixelShader 

Definition at line 74 of file dxgsg8base.h.


Function Documentation

const char* D3DFormatStr D3DFORMAT  fmt  ) 
 

Definition at line 893 of file wdxGraphicsPipe8.cxx.

void Init_D3DFORMAT_map void   ) 
 

Definition at line 852 of file wdxGraphicsPipe8.cxx.


Variable Documentation

map<D3DFORMAT_FLAG,D3DFORMAT> g_D3DFORMATmap
 

Definition at line 219 of file dxgsg8base.h.


Generated on Fri May 2 00:45:24 2003 for Panda by doxygen1.3