/*
 * Copyright 1993-1998 NVIDIA, Corporation.  All rights reserved.
 * THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL TO
 * NVIDIA, CORPORATION.  USE, REPRODUCTION OR DISCLOSURE TO ANY THIRD PARTY
 * IS SUBJECT TO WRITTEN PRE-APPROVAL BY NVIDIA, CORPORATION.
 */
/********************************* Direct 3D *******************************\
*                                                                           *
* Module: NVDP2OPS.H                                                        *
*                                                                           *
*****************************************************************************
*                                                                           *
* History:                                                                  *
*       Craig Duttweiler    bertrem     02June99    created                 *
*                                                                           *
\***************************************************************************/

#ifndef _NVDP2OPS_H
#define _NVDP2OPS_H

#ifdef __cplusplus
extern "C" {
#endif

extern nvDP2FunctionTable nvDP2SetFuncs;
extern nvDP2FunctionTable nvDP2RecordFuncs;
extern nvDP2FunctionTable nvDP2CaptureFuncs;

// prototypes
HRESULT nvDP2Points (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedLineList (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedTriangleList (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2LineList (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2LineStrip (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedLineStrip (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2TriangleList (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2TriangleStrip (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedTriangleStrip (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2TriangleFan (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedTriangleFan (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2TriangleFanImm (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2LineListImm (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedTriangleList2 (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2IndexedLineList2 (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetRenderState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2NOP (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetTextureStageState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetViewport (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetWRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetZRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetPalette (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2UpdatePalette (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetMaterial (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetLight (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CreateLight (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetTransform (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2Extension (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2TexBlt (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2StateSet (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetPriority (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetRenderTarget (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2Clear (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetTexLOD (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetClipPlane (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2StreamEnd (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2VolumeBlt (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2BufferBlt (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2RecordSetRenderState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetTextureStageState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetViewport (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetWRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetZRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetMaterial (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetLight (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetTransform (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordExtension (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetClipPlane (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2CaptureSetRenderState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetTextureStageState (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetViewport (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetWRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetZRange (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetMaterial (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetLight (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetTransform (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureExtension (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetClipPlane (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2CreateVertexShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DeleteVertexShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetVertexShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetVertexShaderConst (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2CreatePixelShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DeletePixelShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetPixelShader (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2SetStreamSource (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2SetStreamSourceUM (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2SetIndices (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2DrawPrimitive (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DrawIndexedPrimitive (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2SetPixelShaderConst (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2ClippedTriangleFan (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DrawPrimitive2 (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DrawIndexedPrimitive2 (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DrawRectSurface (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2DrawTriSurface (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2VolumeBlt (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2BufferBlt (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2RecordSetVertexShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetVertexShaderConst (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetStreamSource (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetStreamSourceUM (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetIndices (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetPixelShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordSetPixelShaderConst (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2CaptureSetVertexShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetVertexShaderConst (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetStreamSource (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetStreamSourceUM (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetIndices (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetPixelShader (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2CaptureSetPixelShaderConst (NV_DP2FUNCTION_ARGLIST);

HRESULT nvDP2MultiplyTransform (NV_DP2FUNCTION_ARGLIST);
HRESULT nvDP2RecordMultiplyTransform (NV_DP2FUNCTION_ARGLIST);

#ifdef __cplusplus
}
#endif // __cplusplus

#endif // _NVDP2OPS_H
