Leaked source code of windows server 2003
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.
 
 
 
 
 
 

123 lines
2.9 KiB

//-----------------------------------------------------------------------------
//
// 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_