📄 caps.c
字号:
D3DMUSAGE_LOCKABLE
},
32,
FALSE,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
},
/*
Vertex buffer format.
*/
{
{
D3DMFMT_VERTEXDATA,
D3DMRTYPEFLAG_VERTEXBUFFER,
D3DMUSAGE_LOCKABLE
},
0,
FALSE,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
},
};
/* Number of formats supported */
DWORD dwPVRNumSupportedFormats = sizeof(psPVR_Formats) / sizeof(PVR_DEVFORMAT);
/*****************************************************************************
Supported D3DM Multisample Types
*****************************************************************************/
D3DMMULTISAMPLE_TYPE psPVRSupportedMultiSample[] =
{
D3DMMULTISAMPLE_NONE,
D3DMMULTISAMPLE_2_SAMPLES,
D3DMMULTISAMPLE_4_SAMPLES
};
DWORD dwPVRNumSupportedMultiSample = sizeof(psPVRSupportedMultiSample) / sizeof(D3DMMULTISAMPLE_TYPE);
/*****************************************************************************
Supported D3DM Display modes
- FIXME - Only supports one mode currently - In future - Rotated?
*****************************************************************************/
D3DMDISPLAYMODE psPVRSupportedDisplayModes[] =
{
{
/*
Default to 320 x 240 @ 16bpp - Will be modded dynamically
*/
320,
240,
60,
D3DMFMT_R5G6B5
}
};
DWORD dwPVRNumSupportedDisplayModes = sizeof(psPVRSupportedDisplayModes) / sizeof(D3DMDISPLAYMODE);
/*****************************************************************************
Supported D3DM Stretch rect format conversion types
Dest FrameBuffer formats
#define MBX1_FBCTL_PACKMODE565 0x00000001
#define MBX1_FBCTL_PACKMODE4444 0x00000002
#define MBX1_FBCTL_PACKMODE1555 0x00000003
#define MBX1_FBCTL_PACKMODEK888 0x00000005
#define MBX1_FBCTL_PACKMODE8888 0x00000006
Source Formats
D3DMFMT_A8R8G8B8 = 2,
D3DMFMT_X8R8G8B8 = 3,
D3DMFMT_R5G6B5 = 4,
D3DMFMT_X1R5G5B5 = 5,
D3DMFMT_A1R5G5B5 = 6,
D3DMFMT_A4R4G4B4 = 7,
D3DMFMT_A8R3G3B2 = 9,
D3DMFMT_X4R4G4B4 = 10,
- FIXME - 3D HW blit only - add sw blit support types?
*****************************************************************************/
PVR_D3DMFORMATCONVERSION psPVRSupportedFormatConversion[] =
{
{
D3DMFMT_A8R8G8B8,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_X8R8G8B8,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_R5G6B5,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_X1R5G5B5,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_A1R5G5B5,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_A4R4G4B4,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_X4R4G4B4,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
},
{
D3DMFMT_A8R3G3B2,
STRETCH_RECT_DEST_CONV_FMT_COUNT,
D3DMFMT_R5G6B5,
D3DMFMT_X8R8G8B8,
D3DMFMT_A1R5G5B5,
D3DMFMT_A4R4G4B4,
D3DMFMT_A8R8G8B8
}
};
DWORD dwPVRNumSupportedFormatConversion = sizeof(psPVRSupportedFormatConversion) / sizeof(PVR_D3DMFORMATCONVERSION);
/*****************************************************************************
Supported Profiles
- FIXME - Only base exists currently
*****************************************************************************/
D3DMPROFILE psPVRSupportedProfiles[] =
{
D3DMPROFILE_BASE
};
DWORD dwPVRNumSupportedProfiles = sizeof(dwPVRNumSupportedProfiles) / sizeof(D3DMPROFILE);
/*****************************************************************************
D3DM Caps
*****************************************************************************/
D3DMCAPS sPVRD3DMCaps =
{
/* DeviceType */
D3DMDEVTYPE_DEFAULT,
/* AdapterOrdinal */
0,
/* PresentationIntervals */
D3DMPRESENT_INTERVAL_ONE |
D3DMPRESENT_INTERVAL_TWO |
D3DMPRESENT_INTERVAL_THREE |
D3DMPRESENT_INTERVAL_FOUR |
D3DMPRESENT_INTERVAL_IMMEDIATE,
/* DevCaps */
/// D3DMDEVCAPS_D3DMCURSOR |
///// D3DMDEVCAPS_HWCURSOR |
D3DMDEVCAPS_CANRENDERDURINGPRESENT |
#if defined (SUPPORT_VGP) || defined (SUPPORT_VGP_LITE)
D3DMDEVCAPS_HWTRANSFORMANDLIGHT |
#endif
D3DMDEVCAPS_HWRASTERIZATION |
#if defined (D3DM_NATIVE_FLOAT)
D3DMDEVCAPS_NATIVEFLOAT |
#endif
D3DMDEVCAPS_TEXTURE |
D3DMDEVCAPS_SPECULAR,
/* SurfaceCaps */
#if defined (UMA_SYSTEM)
D3DMSURFCAPS_SYSFRONTBUFFER |
D3DMSURFCAPS_SYSBACKBUFFER |
D3DMSURFCAPS_SYSDEPTHBUFFER |
D3DMSURFCAPS_SYSTEXTURE |
D3DMSURFCAPS_SYSIMAGESURFACE |
#else
D3DMSURFCAPS_VIDFRONTBUFFER |
D3DMSURFCAPS_VIDBACKBUFFER |
D3DMSURFCAPS_VIDDEPTHBUFFER |
D3DMSURFCAPS_VIDTEXTURE |
D3DMSURFCAPS_VIDIMAGESURFACE |
#endif
D3DMSURFCAPS_SYSVERTEXBUFFER |
D3DMSURFCAPS_SYSINDEXBUFFER |
/* D3DMSURFCAPS_MANAGEDPOOL |
D3DMSURFCAPS_LOCKDEPTHBUFFER |
*/ D3DMSURFCAPS_LOCKTEXTURE |
D3DMSURFCAPS_LOCKRENDERTARGET,
/* PrimitiveMiscCaps */
/* D3DMPMISCCAPS_COLORWRITEENABLE |
D3DMPMISCCAPS_TSSARGTEMP |
*/ D3DMPMISCCAPS_ALPHABLEND |
D3DMPMISCCAPS_ALPHACMP |
D3DMPMISCCAPS_CULLNONE |
D3DMPMISCCAPS_CULLCW |
D3DMPMISCCAPS_CULLCCW,
/* RasterCaps */
/* D3DMPRASTERCAPS_ANISOTROPY |
D3DMPRASTERCAPS_ZFOG |
D3DMPRASTERCAPS_WFOG |
D3DMPRASTERCAPS_FOGTABLE |
D3DMPRASTERCAPS_STENCIL |
D3DMPRASTERCAPS_STRETCHBLTMULTISAMPLE |
*/ D3DMPRASTERCAPS_DITHER |
#if !defined(SUPPORT_VGP) && !defined (SUPPORT_VGP_LITE)
D3DMPRASTERCAPS_SLOPESCALEDEPTHBIAS |
#endif
D3DMPRASTERCAPS_DEPTHBIAS |
D3DMPRASTERCAPS_FOGVERTEX |
D3DMPRASTERCAPS_EXPFOG |
D3DMPRASTERCAPS_EXP2FOG |
D3DMPRASTERCAPS_FOGRANGE |
D3DMPRASTERCAPS_MIPMAPLODBIAS |
D3DMPRASTERCAPS_WBUFFER |
D3DMPRASTERCAPS_ZBUFFERLESSHSR |
D3DMPRASTERCAPS_COLORPERSPECTIVE,
/* ZCmpCaps */
D3DMPCMPCAPS_NEVER |
D3DMPCMPCAPS_LESS |
D3DMPCMPCAPS_EQUAL |
D3DMPCMPCAPS_LESSEQUAL |
D3DMPCMPCAPS_GREATER |
D3DMPCMPCAPS_NOTEQUAL |
D3DMPCMPCAPS_GREATEREQUAL |
D3DMPCMPCAPS_ALWAYS,
/* SrcBlendCaps */
/* D3DMPBLENDCAPS_SRCCOLOR |
D3DMPBLENDCAPS_INVSRCCOLOR |
D3DMPBLENDCAPS_SRCALPHASAT |
*/ D3DMPBLENDCAPS_ZERO |
D3DMPBLENDCAPS_ONE |
D3DMPBLENDCAPS_SRCALPHA |
D3DMPBLENDCAPS_INVSRCALPHA |
D3DMPBLENDCAPS_DESTALPHA |
D3DMPBLENDCAPS_INVDESTALPHA |
D3DMPBLENDCAPS_DESTCOLOR |
D3DMPBLENDCAPS_INVDESTCOLOR,
/* DestBlendCaps */
/* D3DMPBLENDCAPS_SRCALPHASAT |
D3DMPBLENDCAPS_DESTCOLOR |
D3DMPBLENDCAPS_INVDESTCOLOR |
*/ D3DMPBLENDCAPS_ZERO |
D3DMPBLENDCAPS_ONE |
D3DMPBLENDCAPS_SRCCOLOR |
D3DMPBLENDCAPS_INVSRCCOLOR |
D3DMPBLENDCAPS_SRCALPHA |
D3DMPBLENDCAPS_INVSRCALPHA |
D3DMPBLENDCAPS_DESTALPHA |
D3DMPBLENDCAPS_INVDESTALPHA,
/* BlendOpCaps */
/* D3DMBLENDOPCAPS_REVSUBTRACT |
D3DMBLENDOPCAPS_MIN |
D3DMBLENDOPCAPS_SUBTRACT |
D3DMBLENDOPCAPS_MAX |
*/ D3DMBLENDOPCAPS_ADD,
/* AlphaCmpCaps */
D3DMPCMPCAPS_NEVER |
D3DMPCMPCAPS_LESS |
D3DMPCMPCAPS_EQUAL |
D3DMPCMPCAPS_LESSEQUAL |
D3DMPCMPCAPS_GREATER |
D3DMPCMPCAPS_NOTEQUAL |
D3DMPCMPCAPS_GREATEREQUAL |
D3DMPCMPCAPS_ALWAYS,
/* ShadeCaps */
D3DMPSHADECAPS_COLORGOURAUDRGB |
D3DMPSHADECAPS_SPECULARGOURAUDRGB |
D3DMPSHADECAPS_ALPHAGOURAUDBLEND |
D3DMPSHADECAPS_FOGGOURAUD,
/* TextureCaps */
/* D3DMPTEXTURECAPS_PROJECTED |
D3DMPTEXTURECAPS_ALPHAPALETTE |
D3DMPTEXTURECAPS_SQUAREONLY |
*/ D3DMPTEXTURECAPS_POW2 |
#if !defined(SUPPORT_VGP) && !defined (SUPPORT_VGP_LITE) // FIXME We should be able to do this for VGP but not lite
D3DMPTEXTURECAPS_PROJECTEDSUPPORT |
#endif
D3DMPTEXTURECAPS_ALPHA |
D3DMPTEXTURECAPS_MIPMAP |
D3DMPTEXTURECAPS_PERSPECTIVE,
/* TextureFilterCaps */
/* D3DMPTFILTERCAPS_MAGFANISOTROPIC |
D3DMPTFILTERCAPS_MINFANISOTROPIC |
*/ D3DMPTFILTERCAPS_MINFPOINT |
D3DMPTFILTERCAPS_MINFLINEAR |
D3DMPTFILTERCAPS_MIPFPOINT |
D3DMPTFILTERCAPS_MIPFLINEAR |
D3DMPTFILTERCAPS_MAGFPOINT |
D3DMPTFILTERCAPS_MAGFLINEAR,
/* StretchRectFilterCaps */
D3DMPTFILTERCAPS_MINFPOINT |
D3DMPTFILTERCAPS_MINFLINEAR |
D3DMPTFILTERCAPS_MAGFPOINT |
D3DMPTFILTERCAPS_MAGFLINEAR,
/* TextureAddressCaps */
/* D3DMPTADDRESSCAPS_BORDER |
*/ D3DMPTADDRESSCAPS_WRAP |
D3DMPTADDRESSCAPS_MIRROR |
D3DMPTADDRESSCAPS_CLAMP |
D3DMPTADDRESSCAPS_INDEPENDENTUV,
/* LineCaps */
D3DMLINECAPS_TEXTURE |
D3DMLINECAPS_BLEND |
D3DMLINECAPS_ALPHACMP,
/* MaxTextureWidth */
2048,
/* MaxTextureHeight */
2048,
/* MaxTextureRepeat */
1024,
/* MaxTextureAspectRatio */
256,
/* MaxAnisotropy */
2,
/* MaxVertexW */
0x7149F2CA, /* 1.0e30f */
/* GuardBandLeft */
-4096,
/* GuardBandTop */
-4096,
/* GuardBandRight */
4096,
/* GuardBandBottom */
4096,
/* ExtentsAdjust */
0,
/* StencilCaps */
0,
/* StencilCmpCaps */
0,
/* TextureOpCaps */
/* D3DMTEXOPCAPS_MULTIPLYADD |
D3DMTEXOPCAPS_LERP |
*/ D3DMTEXOPCAPS_PREMODULATE |
D3DMTEXOPCAPS_SELECTARG1 |
D3DMTEXOPCAPS_SELECTARG2 |
D3DMTEXOPCAPS_MODULATE |
D3DMTEXOPCAPS_MODULATE2X |
D3DMTEXOPCAPS_MODULATE4X |
D3DMTEXOPCAPS_ADD |
D3DMTEXOPCAPS_ADDSIGNED |
D3DMTEXOPCAPS_ADDSIGNED2X |
D3DMTEXOPCAPS_SUBTRACT |
D3DMTEXOPCAPS_ADDSMOOTH |
D3DMTEXOPCAPS_BLENDDIFFUSEALPHA |
D3DMTEXOPCAPS_BLENDTEXTUREALPHA |
D3DMTEXOPCAPS_BLENDFACTORALPHA |
D3DMTEXOPCAPS_BLENDTEXTUREALPHAPM |
D3DMTEXOPCAPS_BLENDCURRENTALPHA |
D3DMTEXOPCAPS_MODULATEALPHA_ADDCOLOR |
D3DMTEXOPCAPS_MODULATECOLOR_ADDALPHA |
D3DMTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR |
D3DMTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA |
D3DMTEXOPCAPS_DOTPRODUCT3,
/* MaxTextureBlendStages */
2,
/* MaxSimultaneousTextures */
2,
/* VertexProcessingCaps */
/* D3DMVTXPCAPS_CLIPSTATUS*/
D3DMVTXPCAPS_TEXGEN |
D3DMVTXPCAPS_MATERIALSOURCE |
D3DMVTXPCAPS_DIRECTIONALLIGHTS |
D3DMVTXPCAPS_POSITIONALLIGHTS |
D3DMVTXPCAPS_LOCALVIEWER,
/* MaxActiveLights */
MAX_LIGHTS,
/* MaxPrimitiveCount */
65535,
/* MaxVertexIndex */
65535,
/* MaxBackBuffer*/
MAX_FLIP_SURFACES -1
};
/*****************************************************************************
End of file (Caps.c)
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -