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.
|
|
/******************************Module*Header**********************************\
* * ******************* * * SAMPLE CODE * * ******************* * * Module Name: p2ctxt.h * * Content: * Context switching for P2. Used to create and swap contexts in and out. * The GDI, DDraw and D3D part each have another context. * * Copyright (c) 1994-1998 3Dlabs Inc. Ltd. All rights reserved. * Copyright (c) 1995-1999 Microsoft Corporation. All rights reserved. \*****************************************************************************/
#ifndef __p2ctxt__
#define __p2ctxt__
// each time round allocate this many entries
#define CTXT_CHUNK 8
typedef VOID(*PCtxtUserFunc)(PPDev);
// each context consists of a set of tags and the corresponding data. so after
// ntags we have 2*ntags*sizeof(DWORD) bytes of memory.
typedef struct tagP2CtxtData { DWORD dwTag; DWORD dwData; } P2CtxtData;
typedef struct tagP2CtxtRec { BOOL bInitialized; P2CtxtType dwCtxtType; LONG lNumOfTags; ULONG ulTexelLUTEntries; // number of registers to save for the Texel LUT context
ULONG *pTexelLUTCtxt; // Texel LUT context array
PCtxtUserFunc P2UserFunc; P2CtxtData pData[1]; // more follows in memory
} P2CtxtRec;
typedef struct tagP2CtxtTableRec { ULONG lSize; // in bytes of the table
ULONG lEntries; P2CtxtPtr pEntry[CTXT_CHUNK]; // more to be allocated in memory if needed
} P2CtxtTableRec, *P2CtxtTablePtr;
#endif
|