windows-nt/Source/XPSP1/NT/drivers/video/matrox/mga/mini/proto.h

148 lines
5.6 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*/****************************************************************************
* name: proto.h
*
* description: Contains all the "extern" functions declarations
*
* designed: g3d_soft
* last modified: $Author: unknown $, $Date: 94/11/24 11:50:08 $
*
* version: $Id: PROTO.H 1.33 94/11/24 11:50:08 unknown Exp $
*
******************************************************************************/
extern VOID Decoder(BYTE *); /*** CADDI command decoder ***/
/*** RC opcodes ***/
extern VOID (*SetFgColor())(VOID);
extern VOID (*SetFgIndex())(VOID);
extern VOID (*SetClipList())(VOID);
extern VOID (*SetBgColor())(VOID);
extern VOID (*SetBgIndex())(VOID);
extern VOID (*SetTrivialIn())(VOID);
extern VOID (*SetTransparency())(VOID);
extern VOID (*SetEndPoint())(VOID);
extern VOID (*SetLineStyle())(VOID);
extern VOID (*SetFillPattern())(VOID);
extern VOID (*SetLogicOp())(VOID);
extern VOID (*SetZBuffer())(VOID);
extern VOID (*InitRC())(VOID);
extern VOID (*Set2DViewport())(VOID);
extern VOID (*Set2DWindow())(VOID);
extern VOID (*Set2DWindow32())(VOID);
extern VOID (*SetLightSources())(VOID);
extern VOID (*SetSurfaceAttr())(VOID);
extern VOID (*SetViewer())(VOID);
extern VOID (*SetClip3D())(VOID);
extern VOID (*SetRenderData())(VOID);
extern VOID (*SetRenderMode())(VOID);
extern VOID (*ChangeMatrix())(VOID);
extern VOID (*SetOutline())(VOID);
extern VOID (*SetPlaneMask())(VOID);
extern VOID (*SetAsynchronousSwap())(VOID);
extern VOID (*SetLineStyleOffset())(VOID);
/*** SC opcodes ***/
extern VOID (*RenderScPolyLine())(VOID);
extern VOID (*RenderScPolygon())(VOID);
extern VOID (*SpanLine())(VOID);
extern VOID (*RenderSCPolyTriangle())(VOID);
/*** 2D opcodes ***/
extern VOID (*Render2DMultiPolyLine())(VOID);
extern VOID (*Render2DPolygon())(VOID);
extern VOID (*Render2DPolygon32())(VOID);
/*** MISC opcodes ***/
extern VOID (*Sync())(VOID);
extern VOID (*NoOp())(VOID);
extern VOID (*Clear())(VOID);
extern VOID (*SetBufferConfiguration())(VOID);
extern VOID (*SetBufferConfIndex())(VOID);
extern VOID (*SetBufferDummy())(VOID);
extern VOID (*SetBufferSideSide())(VOID);
extern VOID (*SetBufferFrontBack())(VOID);
extern VOID (*BadOpcode())(VOID); /*** Non-existing opcode replacement ***/
/*** 3D opcodes ***/
extern VOID (*RenderPolyQuad())(VOID);
extern VOID (*RenderPolyLine())(VOID);
extern VOID (*Triangle())(VOID);
extern VOID (*RenderPolyTriangle())(VOID);
/*** MISC functions ***/
extern DWORD XformRGB24ToSliceFmt(DWORD);
extern DWORD XformMask24ToSliceFmt(DWORD);
extern VOID DefCaddiSysRegToTitan(VOID);
extern VOID SetHWtoRC(VOID);
/*** INIT functions ***/
extern BYTE* CaddiInit(BYTE*, BYTE*);
extern VOID InitDefaultRC(VOID);
extern VOID InitDefaultClipList(VOID);
extern VOID CaddiClose(VOID);
extern BYTE* InitSysParm(VOID);
extern VOID InitDefaultLSDB(VOID);
extern VOID MGASysInit(BYTE*);
extern VOID MGAVidInit(BYTE*, BYTE*);
extern DWORD GetMGAMctlwtst(DWORD, DWORD);
extern VOID SetMGALUT(volatile BYTE _Far *, BYTE*, BYTE, BYTE);
extern VOID GetMGAConfiguration(volatile BYTE _Far *, DWORD*, DWORD*, DWORD*);
extern SDWORD setFrequence(volatile BYTE _Far *, SDWORD, SDWORD);
extern SDWORD setTVP3026Freq(volatile BYTE _Far *, SDWORD, SDWORD, BYTE);
/*** 3D functions ***/
extern VOID CalcLSKB();
/*** Utility functions used to setup CADDI buffers ***/
extern DWORD BufDone(BYTE*);
extern DWORD BufNoOp(BYTE*, BYTE*, WORD);
extern DWORD BufSync(BYTE*);
extern DWORD BufSetFgColor(BYTE*, BYTE*, float, float, float);
extern DWORD BufSetBgColor(BYTE*, BYTE*, float, float, float);
extern DWORD BufSetLogicOp(BYTE*, BYTE*, WORD);
extern DWORD BufSetFillPattern(BYTE*, BYTE*, WORD, BYTE[8]);
extern DWORD BufSetLineStyle(BYTE*, BYTE*, WORD, DWORD);
extern DWORD BufSetEndPoint(BYTE*, BYTE*, WORD);
extern DWORD BufSetTransparency(BYTE*, BYTE*, WORD);
extern DWORD BufSetTrivialIn(BYTE*, BYTE*, WORD);
extern DWORD BufSetZBuffer(BYTE*, BYTE*, WORD, DWORD);
extern DWORD BufInitRC(BYTE*, BYTE*);
extern DWORD BufSet2DViewport(BYTE*, BYTE*, WORD, WORD, WORD, WORD);
extern DWORD BufSet2DWindow(BYTE*, BYTE*, SWORD, SWORD, SWORD, SWORD);
extern DWORD BufSet2DWindow32(BYTE*, BYTE*, SDWORD, SDWORD, SDWORD, SDWORD);
extern DWORD BufClear(BYTE*, BYTE*, WORD, float, float, float, float);
extern DWORD BufSetViewer(BYTE*, BYTE*, WORD, float, float, float, float, float, float);
extern DWORD BufSetSurfaceAttr(BYTE*, BYTE*, float, float, float, float, float, float,
float, float, float, float, float, float, float);
extern DWORD BufSetBufferConfiguration(BYTE*, BYTE*, BYTE, BYTE);
extern DWORD BufSetClip3D(BYTE*, BYTE*, WORD);
extern DWORD BufSetRenderData(BYTE*, BYTE*, DWORD);
extern DWORD BufSetRenderMode(BYTE*, BYTE*, WORD);
extern DWORD BufSetPlaneMask(BYTE*, BYTE*, WORD, DWORD);
extern DWORD BufSetLineStyleOffset(BYTE*, BYTE*, WORD);
/*** Blit functions ***/
extern VOID (*SetEnvBlitPlan(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
extern VOID (*SetEnvBlitPoly(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
extern VOID (*SetEnvIloadPlan(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
extern VOID (*SetEnvIloadPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
extern VOID (*SetEnvIdumpPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
extern VOID (*SetEnvIloadExp(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
extern VOID (*SetEnvIloadDither(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);