e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/* Copyright (c) 2001, Stanford University
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * All rights reserved.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * See the file LICENSE.txt for information on redistributing this software.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncextern "C" {
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynctypedef struct {
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynctypedef struct {
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLcolorf stageConstantColor0[CR_MAX_GENERAL_COMBINERS];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLcolorf stageConstantColor1[CR_MAX_GENERAL_COMBINERS];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRRegCombinerPortionState rgb[CR_MAX_GENERAL_COMBINERS];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRRegCombinerPortionState alpha[CR_MAX_GENERAL_COMBINERS];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLenum a, b, c, d, e, f, g;
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLenum aMapping, bMapping, cMapping, dMapping, eMapping, fMapping, gMapping;
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLenum aPortion, bPortion, cPortion, dPortion, ePortion, fPortion, gPortion;
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynctypedef struct {
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerVars[CR_MAX_BITARRAY]; /* numGeneralCombiners, colorSumClamp */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerStageColor0[CR_MAX_GENERAL_COMBINERS][CR_MAX_BITARRAY];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerStageColor1[CR_MAX_GENERAL_COMBINERS][CR_MAX_BITARRAY];
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerInput[CR_MAX_GENERAL_COMBINERS][CR_MAX_BITARRAY]; /* rgb/alpha[].a/b/c/d, .aMapping, .aPortion */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerOutput[CR_MAX_GENERAL_COMBINERS][CR_MAX_BITARRAY]; /* rgb/alpha[].abOutput, .cdOutput, .sumOutput, .scale, .bias, .abDotProduct, .cdDotProduct, .muxSum */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRbitvalue regCombinerFinalInput[CR_MAX_BITARRAY]; /* a/b/c/d/e/f/g, aMapping, aPortion */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncDECLEXPORT(void) crStateRegCombinerInit( CRContext *ctx );
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncDECLEXPORT(void) crStateRegCombinerDiff(CRRegCombinerBits *b, CRbitvalue *bitID,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncDECLEXPORT(void) crStateRegCombinerSwitch( CRRegCombinerBits *b, CRbitvalue *bitID,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif /* CR_STATE_REGCOMBINER_H */