📄 wined3d_types.h
字号:
typedef struct _WINED3DDEVINFO_INTERFACETIMINGS {
float WaitingForGPUToUseApplicationResourceTimePercent;
float WaitingForGPUToAcceptMoreCommandsTimePercent;
float WaitingForGPUToStayWithinLatencyTimePercent;
float WaitingForGPUExclusiveResourceTimePercent;
float WaitingForGPUOtherTimePercent;
} WINED3DDEVINFO_INTERFACETIMINGS;
typedef struct _WINED3DDEVINFO_PIPELINETIMINGS {
float VertexProcessingTimePercent;
float PixelProcessingTimePercent;
float OtherGPUProcessingTimePercent;
float GPUIdleTimePercent;
} WINED3DDEVINFO_PIPELINETIMINGS;
typedef struct _WINED3DDEVINFO_STAGETIMINGS {
float MemoryProcessingPercent;
float ComputationProcessingPercent;
} WINED3DDEVINFO_STAGETIMINGS;
typedef struct _WINED3DRASTER_STATUS {
BOOL InVBlank;
UINT ScanLine;
} WINED3DRASTER_STATUS;
typedef struct WINED3DRESOURCESTATS {
BOOL bThrashing;
DWORD ApproxBytesDownloaded;
DWORD NumEvicts;
DWORD NumVidCreates;
DWORD LastPri;
DWORD NumUsed;
DWORD NumUsedInVidMem;
DWORD WorkingSet;
DWORD WorkingSetBytes;
DWORD TotalManaged;
DWORD TotalBytes;
} WINED3DRESOURCESTATS;
typedef struct _WINED3DDEVINFO_RESOURCEMANAGER {
WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
} WINED3DDEVINFO_RESOURCEMANAGER;
typedef struct _WINED3DDEVINFO_VERTEXSTATS {
DWORD NumRenderedTriangles;
DWORD NumExtraClippingTriangles;
} WINED3DDEVINFO_VERTEXSTATS;
typedef struct _WINED3DLOCKED_RECT {
INT Pitch;
void* pBits;
} WINED3DLOCKED_RECT;
typedef struct _WINED3DLOCKED_BOX {
INT RowPitch;
INT SlicePitch;
void* pBits;
} WINED3DLOCKED_BOX;
typedef struct _WINED3DBOX {
UINT Left;
UINT Top;
UINT Right;
UINT Bottom;
UINT Front;
UINT Back;
} WINED3DBOX;
/*Vertex cache optimization hints.*/
typedef struct WINED3DDEVINFO_VCACHE {
/*Must be a 4 char code FOURCC (e.g. CACH)*/
DWORD Pattern;
/*0 to get the longest strips, 1 vertex cache*/
DWORD OptMethod;
/*Cache size to use (only valid if OptMethod==1) */
DWORD CacheSize;
/*internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1)*/
DWORD MagicNumber;
} WINED3DDEVINFO_VCACHE;
typedef struct _WINED3DVERTEXBUFFER_DESC {
WINED3DFORMAT Format;
WINED3DRESOURCETYPE Type;
DWORD Usage;
WINED3DPOOL Pool;
UINT Size;
DWORD FVF;
} WINED3DVERTEXBUFFER_DESC;
typedef struct _WINED3DINDEXBUFFER_DESC {
WINED3DFORMAT Format;
WINED3DRESOURCETYPE Type;
DWORD Usage;
WINED3DPOOL Pool;
UINT Size;
} WINED3DINDEXBUFFER_DESC;
/*
* The wined3dcaps structure
*/
typedef struct _WINED3DVSHADERCAPS2_0 {
DWORD *Caps;
INT *DynamicFlowControlDepth;
INT *NumTemps;
INT *StaticFlowControlDepth;
} WINED3DVSHADERCAPS2_0;
typedef struct _WINED3DPSHADERCAPS2_0 {
DWORD *Caps;
INT *DynamicFlowControlDepth;
INT *NumTemps;
INT *StaticFlowControlDepth;
INT *NumInstructionSlots;
} WINED3DPSHADERCAPS2_0;
typedef struct _WINED3DCAPS {
WINED3DDEVTYPE *DeviceType;
UINT *AdapterOrdinal;
DWORD *Caps;
DWORD *Caps2;
DWORD *Caps3;
DWORD *PresentationIntervals;
DWORD *CursorCaps;
DWORD *DevCaps;
DWORD *PrimitiveMiscCaps;
DWORD *RasterCaps;
DWORD *ZCmpCaps;
DWORD *SrcBlendCaps;
DWORD *DestBlendCaps;
DWORD *AlphaCmpCaps;
DWORD *ShadeCaps;
DWORD *TextureCaps;
DWORD *TextureFilterCaps;
DWORD *CubeTextureFilterCaps;
DWORD *VolumeTextureFilterCaps;
DWORD *TextureAddressCaps;
DWORD *VolumeTextureAddressCaps;
DWORD *LineCaps;
DWORD *MaxTextureWidth;
DWORD *MaxTextureHeight;
DWORD *MaxVolumeExtent;
DWORD *MaxTextureRepeat;
DWORD *MaxTextureAspectRatio;
DWORD *MaxAnisotropy;
float *MaxVertexW;
float *GuardBandLeft;
float *GuardBandTop;
float *GuardBandRight;
float *GuardBandBottom;
float *ExtentsAdjust;
DWORD *StencilCaps;
DWORD *FVFCaps;
DWORD *TextureOpCaps;
DWORD *MaxTextureBlendStages;
DWORD *MaxSimultaneousTextures;
DWORD *VertexProcessingCaps;
DWORD *MaxActiveLights;
DWORD *MaxUserClipPlanes;
DWORD *MaxVertexBlendMatrices;
DWORD *MaxVertexBlendMatrixIndex;
float *MaxPointSize;
DWORD *MaxPrimitiveCount;
DWORD *MaxVertexIndex;
DWORD *MaxStreams;
DWORD *MaxStreamStride;
DWORD *VertexShaderVersion;
DWORD *MaxVertexShaderConst;
DWORD *PixelShaderVersion;
float *PixelShader1xMaxValue;
/* DX 9 */
DWORD *DevCaps2;
float *MaxNpatchTessellationLevel;
DWORD *Reserved5; /*undocumented*/
UINT *MasterAdapterOrdinal;
UINT *AdapterOrdinalInGroup;
UINT *NumberOfAdaptersInGroup;
DWORD *DeclTypes;
DWORD *NumSimultaneousRTs;
DWORD *StretchRectFilterCaps;
WINED3DVSHADERCAPS2_0 VS20Caps;
WINED3DPSHADERCAPS2_0 PS20Caps;
DWORD *VertexTextureFilterCaps;
DWORD *MaxVShaderInstructionsExecuted;
DWORD *MaxPShaderInstructionsExecuted;
DWORD *MaxVertexShader30InstructionSlots;
DWORD *MaxPixelShader30InstructionSlots;
DWORD *Reserved2;/* Not in the microsoft headers but documented */
DWORD *Reserved3;
} WINED3DCAPS;
typedef enum _WINED3DSTATEBLOCKTYPE {
WINED3DSBT_INIT = 0,
WINED3DSBT_ALL = 1,
WINED3DSBT_PIXELSTATE = 2,
WINED3DSBT_VERTEXSTATE = 3,
WINED3DSBT_RECORDED = 4, /* WineD3D private */
WINED3DSBT_FORCE_DWORD = 0xffffffff
} WINED3DSTATEBLOCKTYPE;
typedef struct glDescriptor {
UINT textureName;
int level;
int target;
int/*GLenum*/ glFormat;
int/*GLenum*/ glFormatInternal;
int/*GLenum*/ glType;
} glDescriptor;
#define WINED3DDP_MAXTEXCOORD 8
typedef enum _WINED3DDECLMETHOD {
WINED3DDECLMETHOD_DEFAULT = 0,
WINED3DDECLMETHOD_PARTIALU = 1,
WINED3DDECLMETHOD_PARTIALV = 2,
WINED3DDECLMETHOD_CROSSUV = 3,
WINED3DDECLMETHOD_UV = 4,
WINED3DDECLMETHOD_LOOKUP = 5,
WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} WINED3DDECLMETHOD;
typedef enum _WINED3DDECLTYPE {
WINED3DDECLTYPE_FLOAT1 = 0,
WINED3DDECLTYPE_FLOAT2 = 1,
WINED3DDECLTYPE_FLOAT3 = 2,
WINED3DDECLTYPE_FLOAT4 = 3,
WINED3DDECLTYPE_D3DCOLOR = 4,
WINED3DDECLTYPE_UBYTE4 = 5,
WINED3DDECLTYPE_SHORT2 = 6,
WINED3DDECLTYPE_SHORT4 = 7,
/* VS 2.0 */
WINED3DDECLTYPE_UBYTE4N = 8,
WINED3DDECLTYPE_SHORT2N = 9,
WINED3DDECLTYPE_SHORT4N = 10,
WINED3DDECLTYPE_USHORT2N = 11,
WINED3DDECLTYPE_USHORT4N = 12,
WINED3DDECLTYPE_UDEC3 = 13,
WINED3DDECLTYPE_DEC3N = 14,
WINED3DDECLTYPE_FLOAT16_2 = 15,
WINED3DDECLTYPE_FLOAT16_4 = 16,
WINED3DDECLTYPE_UNUSED = 17,
} WINED3DDECLTYPE;
#define WINED3DDECL_END() {0xFF,0,WINED3DDECLTYPE_UNUSED,0,0,0,-1}
typedef struct WineDirect3DStridedData {
BYTE *lpData; /* Pointer to start of data */
DWORD dwStride; /* Stride between occurances of this data */
DWORD dwType; /* Type (as in D3DVSDT_TYPE) */
int VBO; /* Vertex buffer object this data is in */
UINT streamNo; /* D3D stream number */
} WineDirect3DStridedData;
typedef struct WineDirect3DVertexStridedData {
union {
struct {
/* Do not add or reorder fields here,
* so this can be indexed as an array */
WineDirect3DStridedData position;
WineDirect3DStridedData blendWeights;
WineDirect3DStridedData blendMatrixIndices;
WineDirect3DStridedData normal;
WineDirect3DStridedData pSize;
WineDirect3DStridedData diffuse;
WineDirect3DStridedData specular;
WineDirect3DStridedData texCoords[WINED3DDP_MAXTEXCOORD];
WineDirect3DStridedData position2; /* tween data */
WineDirect3DStridedData normal2; /* tween data */
WineDirect3DStridedData tangent;
WineDirect3DStridedData binormal;
WineDirect3DStridedData tessFactor;
WineDirect3DStridedData fog;
WineDirect3DStridedData depth;
WineDirect3DStridedData sample;
/* Add fields here */
BOOL position_transformed;
} s;
WineDirect3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */
} u;
} WineDirect3DVertexStridedData;
typedef enum {
WINED3DDECLUSAGE_POSITION = 0,
WINED3DDECLUSAGE_BLENDWEIGHT = 1,
WINED3DDECLUSAGE_BLENDINDICES = 2,
WINED3DDECLUSAGE_NORMAL = 3,
WINED3DDECLUSAGE_PSIZE = 4,
WINED3DDECLUSAGE_TEXCOORD = 5,
WINED3DDECLUSAGE_TANGENT = 6,
WINED3DDECLUSAGE_BINORMAL = 7,
WINED3DDECLUSAGE_TESSFACTOR = 8,
WINED3DDECLUSAGE_POSITIONT = 9,
WINED3DDECLUSAGE_COLOR = 10,
WINED3DDECLUSAGE_FOG = 11,
WINED3DDECLUSAGE_DEPTH = 12,
WINED3DDECLUSAGE_SAMPLE = 13
} WINED3DDECLUSAGE;
#define WINED3DUSAGE_RENDERTARGET 0x00000001L
#define WINED3DUSAGE_DEPTHSTENCIL 0x00000002L
#define WINED3DUSAGE_WRITEONLY 0x00000008L
#define WINED3DUSAGE_SOFTWAREPROCESSING 0x00000010L
#define WINED3DUSAGE_DONOTCLIP 0x00000020L
#define WINED3DUSAGE_POINTS 0x00000040L
#define WINED3DUSAGE_RTPATCHES 0x00000080L
#define WINED3DUSAGE_NPATCHES 0x00000100L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -