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.
101 lines
2.4 KiB
101 lines
2.4 KiB
//-----------------------------------------------------------------------------
|
|
//
|
|
// This file contains the general span parsing code.
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1997.
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "pch.cpp"
|
|
#pragma hdrstop
|
|
#include "cbldfncs.h"
|
|
#include "cbufread.h"
|
|
#include "cbufwrt.h"
|
|
#include "ccrbd_mh.h"
|
|
#include "ccrgn_mh.h"
|
|
#include "cloop.h"
|
|
#include "cspnpars.h"
|
|
#include "ctest_mh.h"
|
|
#include "ctx1a_mh.h"
|
|
#include "ctx2a_mh.h"
|
|
#include "ctxbd_mh.h"
|
|
#include "ctxrd_mh.h"
|
|
#include "ctstf_mh.h"
|
|
#include "catest_mh.h"
|
|
include(`bead.mh')
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// C_*Tbl
|
|
//
|
|
// The individual bead tables
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
#define C_NULL NULL
|
|
define(`d_MakeTable', `
|
|
static d_UpCase(`$1')`'BEADS C_`'$1`'Beads =
|
|
{
|
|
d_Null(d_`'$1`'Beads(`` C_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 C_PixelEndAny NULL
|
|
#define C_SpanEndAny NULL
|
|
d_MakeTable(PixelEnd)
|
|
d_MakeTable(SpanEnd)
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// C_BeadTbl
|
|
//
|
|
// The root of all the bead table pointers.
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
BEADTABLE g_C_BeadTbl =
|
|
{
|
|
&C_RenderSpansBeads,
|
|
&C_BeginBeads,
|
|
&C_TestBeads,
|
|
&C_TestFailBeads,
|
|
&C_Tex1AddrBeads,
|
|
&C_Tex1AddrMipBeads,
|
|
&C_TexReadBeads,
|
|
&C_Tex2AddrBeads,
|
|
&C_TexBlendBeads,
|
|
&C_TexBlendGetColorBeads,
|
|
&C_TexBlendGetAlphaBeads,
|
|
&C_TexBlendOpColorBeads,
|
|
&C_TexBlendOpAlphaBeads,
|
|
&C_ColorGenBeads,
|
|
&C_AlphaTestBeads,
|
|
&C_ColorBlendBeads,
|
|
&C_SrcBlendBeads,
|
|
&C_DestBlendBeads,
|
|
&C_BufReadBeads,
|
|
&C_BufWriteBeads,
|
|
&C_PixelEndBeads,
|
|
&C_SpanEndBeads,
|
|
};
|