Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.4 KiB

#include "rgb_pch.h"
#pragma hdrstop
// #include <d3d8rgbrast.h>
// Need to share some kind of header which has:
// #ifndef __D3D8RGBRAST_H__
// #define __D3D8RGBRAST_H__
//
// #ifdef __cplusplus
// extern "C" {
// #endif //__cplusplus
//
// extern void* D3D8RGBRasterizer;
//
// #ifdef __cplusplus
// }
// #endif //__cplusplus
//
// #endif //__D3D8RGBRAST_H__
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
extern void* D3D8RGBRasterizer;
#ifdef __cplusplus
}
#endif //__cplusplus
namespace RGB_RAST_LIB_NAMESPACE
{
auto_ptr< CRGBDriver> g_pRGBDriver;
HRESULT APIENTRY
GetSWInfo( D3DCAPS8* pCaps, PD3D8_SWCALLBACKS pCallbacks,
DWORD* pNumTextures, DDSURFACEDESC** ppTexList)
{
if( g_pRGBDriver.get()!= NULL)
return g_pRGBDriver->GetSWInfo( *pCaps, *pCallbacks, *pNumTextures, *ppTexList);
else
{
try {
CRGBDriver::InitSupportedSurfaceArray();
g_pRGBDriver= auto_ptr< CRGBDriver>( new CRGBDriver);
} catch( ... )
{ }
if( g_pRGBDriver.get()!= NULL)
return g_pRGBDriver->GetSWInfo( *pCaps, *pCallbacks, *pNumTextures, *ppTexList);
else
return E_OUTOFMEMORY;
}
}
}
CRGBDriver* CRGBDriver::sm_pGlobalDriver= NULL;
DX8SDDIFW::COSDetector DX8SDDIFW::g_OSDetector;
void* D3D8RGBRasterizer= reinterpret_cast<void*>(RGB_RAST_LIB_NAMESPACE::GetSWInfo);