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

Revision 2236, 2.6 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_PROGUTIL_H
17#define S3D_DRV_D3D9_PROGUTIL_H
18
19#include "drv_d3d9_prog.h"
20#include "lib/stream/lib_stream_prepro.h"
21#include "util/snk/util_snk_extract.h"
22
23///////////////////////////////////////////////////////////////////////////////
24
25class s3d_CDrvD3d9ProgUtil
26{
27public:
28    static bool ParseMajorMinor(
29            int &Major, int &Minor,
30            s3d_CSysIntps CapLen, const s3d_CSysChar *CapStart);
31    static bool ParseNum(
32            int &Val,
33            s3d_CSysIntps CapLen, const s3d_CSysChar *CapStart,
34            s3d_CSysIntps &Parse);
35    static int CompVer(
36            int MajorA, int MinorA, int MajorB, int MinorB);
37    static bool s3d_CDrvD3d9ProgUtil::IsVersAllowed(
38            int MaxMajor, int MaxMinor, s3d_CUtilStr_cr ReqVer);
39    static s3d_CUtilStr s3d_CDrvD3d9ProgUtil::StrOfVers(DWORD Vers);
40
41    static s3d_CUtilStr GenProfileString(
42            s3d_CUtilStr_cr Vers, s3d_CUtilStr_cr Type);
43
44    static void D3dMarcoArrayOfPreprocArray(
45            s3d_CUtilOwnArray<D3DXMACRO> &D3dMacroArray,
46            s3d_CLibStreamPreproState *PreproState);
47
48    static void GetProgDecl(
49            const s3d_CDrvD3d9ProgCtx *ProgCtx, s3d_CDrvD3d9ProgDecl &ProgDecl,
50            s3d_CSysIntps FuncSize, const DWORD *FuncData);
51    static int CalcProgUsage(
52            const s3d_CDrvD3d9ProgCtx *ProgCtx,
53            s3d_CSysIntps SemanticsCnt, const D3DXSEMANTIC *SemanticArray);
54    static void CalcVertBufDesc(
55            const s3d_CDrvD3d9ProgCtx *ProgCtx,
56            const s3d_CDrvGfxCharge *Charge,
57            int VertProgUsage, const s3d_CDrvD3d9VertComprFmt *VertComprFmt,
58            s3d_CDrvD3d9VertBufDesc &VertBufDesc);
59    static void ExtractComprFmt(
60            const s3d_CDrvD3d9ProgCtx *ProgCtx,
61            s3d_CUtilStr_cr CodeInfo, s3d_CUtilStr_cr CodeName,
62            s3d_CDrvD3d9Prog *Prog, s3d_CUtilSnkExtract &SnkExtract);
63           
64    static bool CreateCodeBufOfBinData(
65            const s3d_CDrvD3d9ProgCtx *ProgCtx, s3d_CDrvD3d9Buf &CodeBuf,
66            s3d_CSysIntps BinDataLen, const s3d_CSysIntm *BinData);
67};
68
69///////////////////////////////////////////////////////////////////////////////
70
71#endif
Note: See TracBrowser for help on using the repository browser.