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.
122 lines
2.9 KiB
122 lines
2.9 KiB
//-----------------------------------------------------------------------------
|
|
//
|
|
// This file contains the general span parsing code.
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1997.
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "pch.cpp"
|
|
#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 "Tex1A_mh.h"
|
|
#include "Tex2A_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(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_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_
|
|
|