//----------------------------------------------------------------------------- // // This file contains the general span parsing code. // // Copyright (C) Microsoft Corporation, 1997. // //----------------------------------------------------------------------------- #include "rgb_pch.h" #pragma hdrstop #include "BldFuncs.h" #include "BufRead.h" #include "BufWrite.h" #include "ClrBd_mh.h" #include "ClrGn_mh.h" #include "Loop.h" #include "SpanPars.h" #include "Test_mh.h" #include "TexA_mh.h" #include "TexBd_mh.h" #include "TexRD_mh.h" #include "TstF_mh.h" #include "atest_mh.h" include(`bead.mh') #ifdef _X86_ //----------------------------------------------------------------------------- // // MMX_*Tbl // // The individual bead tables // //----------------------------------------------------------------------------- #define MMX_NULL NULL define(`d_MakeTable', ` static d_UpCase(`$1')`'BEADS MMX_`'$1`'Beads = { d_Null(d_`'$1`'Beads(`` MMX_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(TexAddrWrapper) 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. // ATTENTION - Should be used to implement call-less span and pixel loops. #define MMX_PixelEndAny NULL #define MMX_SpanEndAny NULL d_MakeTable(PixelEnd) d_MakeTable(SpanEnd) //----------------------------------------------------------------------------- // // MMX_BeadTbl // // The root of all the bead table pointers. // //----------------------------------------------------------------------------- BEADTABLE g_MMX_BeadTbl = { &MMX_RenderSpansBeads, &MMX_BeginBeads, &MMX_TestBeads, &MMX_TestFailBeads, &MMX_Tex1AddrBeads, &MMX_Tex1AddrMipBeads, &MMX_TexAddrWrapperBeads, &MMX_TexReadBeads, &MMX_Tex2AddrBeads, &MMX_TexBlendBeads, &MMX_TexBlendGetColorBeads, &MMX_TexBlendGetAlphaBeads, &MMX_TexBlendOpColorBeads, &MMX_TexBlendOpAlphaBeads, &MMX_ColorGenBeads, &MMX_AlphaTestBeads, &MMX_ColorBlendBeads, &MMX_SrcBlendBeads, &MMX_DestBlendBeads, &MMX_BufReadBeads, &MMX_BufWriteBeads, &MMX_PixelEndBeads, &MMX_SpanEndBeads, }; #else // _X86_ //----------------------------------------------------------------------------- // // MMX_BeadTbl // // The root of all the bead table pointers. All Null for non-x86 platforms // //----------------------------------------------------------------------------- BEADTABLE g_MMX_BeadTbl = { 0 }; #endif // _X86_