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.
107 lines
3.1 KiB
107 lines
3.1 KiB
/******************************Module*Header***********************************\
|
|
* Module Name: precomp.h
|
|
*
|
|
* Common headers used throughout the display driver. This entire include
|
|
* file will typically be pre-compiled.
|
|
*
|
|
* Copyright (c) 1994-1998 3Dlabs Inc. Ltd. All rights reserved.
|
|
* Copyright (c) 1995-1999 Microsoft Corporation. All rights reserved.
|
|
\******************************************************************************/
|
|
|
|
#define __NTDDKCOMP__
|
|
|
|
#include <stddef.h>
|
|
#include <stdarg.h>
|
|
#include <limits.h>
|
|
#include <windef.h>
|
|
#include <d3d.h>
|
|
#include <winerror.h>
|
|
#include <wingdi.h>
|
|
#include <math.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*****************************************************************************\
|
|
* *
|
|
* NT 5.0 -> NT 4.0 single binary support: *
|
|
* *
|
|
\*****************************************************************************/
|
|
|
|
// The following macros thunk the corresponding APIs to Dynamically loaded ones
|
|
// when running on NT5 or later and no-ops on NT4. This is because on NT5+ we
|
|
// use the direct draw heap and other newly added Eng function calls which are
|
|
// not available on NT4. All the thunks are implemented in thunks.c. The
|
|
// macros are defined prior to including winddi.h to insure correct typing.
|
|
|
|
// NT5.0 Thunks
|
|
#define EngAlphaBlend THUNK_EngAlphaBlend
|
|
#define EngGradientFill THUNK_EngGradientFill
|
|
#define EngTransparentBlt THUNK_EngTransparentBlt
|
|
#define EngMapFile THUNK_EngMapFile
|
|
#define EngUnmapFile THUNK_EngUnmapFile
|
|
#define EngQuerySystemAttribute THUNK_EngQuerySystemAttribute
|
|
#define EngDitherColor THUNK_EngDitherColor
|
|
#define EngModifySurface THUNK_EngModifySurface
|
|
#define EngQueryDeviceAttribute THUNK_EngQueryDeviceAttribute
|
|
#define HeapVidMemAllocAligned THUNK_HeapVidMemAllocAligned
|
|
#define VidMemFree THUNK_VidMemFree
|
|
|
|
// NT5.1 Thunks
|
|
#define EngHangNotification THUNK_EngHangNotification
|
|
|
|
|
|
#include <winddi.h>
|
|
#include <devioctl.h>
|
|
#include <ntddvdeo.h>
|
|
#include <ioaccess.h>
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <memory.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <math.h>
|
|
|
|
#include <dmemmgr.h>
|
|
#include "dx95type.h"
|
|
|
|
// define Size for DMA Buffer.
|
|
#if defined(_ALPHA_)
|
|
#define DMA_BUFFERSIZE 0x2000
|
|
#else
|
|
#define DMA_BUFFERSIZE 0x40000
|
|
#endif
|
|
|
|
|
|
// DX7 Stereo support
|
|
#define DX7_STEREO 1
|
|
//@@BEGIN_DDKSPLIT
|
|
// for now DX7_STEREO should only be enabled in the build,
|
|
// not in the DDK, because some defs are still missing.
|
|
#define DX7_ALPHABLT 0
|
|
//@@END_DDKSPLIT
|
|
|
|
//@@BEGIN_DDKSPLIT
|
|
// enable GDI testing
|
|
#define GDI_TEST 0
|
|
//@@END_DDKSPLIT
|
|
|
|
// enable memory tracking
|
|
// to find leaking memory
|
|
#define TRACKMEMALLOC 0
|
|
|
|
#include "pointer.h"
|
|
#include "brush.h"
|
|
#include "driver.h"
|
|
#include "debug.h"
|
|
#include "permedia.h"
|
|
#include "hw.h"
|
|
#include "pmdef.h"
|
|
#include "lines.h"
|
|
#include "math64.h"
|
|
#include "rops.h"
|
|
#include "registry.h"
|