//----------------------------------------------------------------------------- // // This file contains the general span parsing code. // // Copyright (C) Microsoft Corporation, 1997. // //----------------------------------------------------------------------------- #include "pch.cpp" #pragma hdrstop #include "mbldfncs.h" #include "mbufread.h" #include "mbufwrt.h" #include "mcrbd_mh.h" #include "mcrgn_mh.h" #include "mloop.h" #include "mspnpars.h" #include "mtest_mh.h" #include "mtx1a_mh.h" #include "mtx2a_mh.h" #include "mtxbd_mh.h" #include "mtxrd_mh.h" #include "mtstf_mh.h" #include "matest_mh.h" include(`bead.mh') //----------------------------------------------------------------------------- // // CMMX_*Tbl // // The individual bead tables // //----------------------------------------------------------------------------- #define CMMX_NULL NULL define(`d_MakeTable', ` static d_UpCase(`$1')`'BEADS CMMX_`'$1`'Beads = { d_Null(d_`'$1`'Beads(`` CMMX_XX, '', `XX')) };')dnl dnl d_MakeTable(RenderSpans) d_MakeTable(Begin) d_MakeTable(Test) d_MakeTable(TestFail) d_MakeTable(Tex1Addr) d_MakeTable(Tex1AddrMip) d_MakeTable(TexRead) d_MakeTable(Tex2Addr) d_MakeTable(TexBlend) d_MakeTable(TexBlendGetColor) d_MakeTable(TexBlendGetAlpha) d_MakeTable(TexBlendOpColor) d_MakeTable(TexBlendOpAlpha) d_MakeTable(ColorGen) d_MakeTable(AlphaTest) d_MakeTable(ColorBlend) d_MakeTable(SrcBlend) d_MakeTable(DestBlend) d_MakeTable(BufRead) d_MakeTable(BufWrite) // These beads are unused. #define CMMX_PixelEndAny NULL #define CMMX_SpanEndAny NULL d_MakeTable(PixelEnd) d_MakeTable(SpanEnd) //----------------------------------------------------------------------------- // // CMMX_BeadTbl // // The root of all the bead table pointers. // //----------------------------------------------------------------------------- BEADTABLE g_CMMX_BeadTbl = { &CMMX_RenderSpansBeads, &CMMX_BeginBeads, &CMMX_TestBeads, &CMMX_TestFailBeads, &CMMX_Tex1AddrBeads, &CMMX_Tex1AddrMipBeads, &CMMX_TexReadBeads, &CMMX_Tex2AddrBeads, &CMMX_TexBlendBeads, &CMMX_TexBlendGetColorBeads, &CMMX_TexBlendGetAlphaBeads, &CMMX_TexBlendOpColorBeads, &CMMX_TexBlendOpAlphaBeads, &CMMX_ColorGenBeads, &CMMX_AlphaTestBeads, &CMMX_ColorBlendBeads, &CMMX_SrcBlendBeads, &CMMX_DestBlendBeads, &CMMX_BufReadBeads, &CMMX_BufWriteBeads, &CMMX_PixelEndBeads, &CMMX_SpanEndBeads, };