Home | History | Annotate | Download | only in Shader

Lines Matching refs:TextureStage

43 			if(state.textureStage[stage].stageOperation == TextureStage::STAGE_DISABLE)
50 if(state.textureStage[stage].usesTexture)
389 const TextureStage::State &textureStage = state.textureStage[stage];
391 if(textureStage.firstArgument == TextureStage::SOURCE_CONSTANT ||
392 textureStage.firstArgumentAlpha == TextureStage::SOURCE_CONSTANT ||
393 textureStage.secondArgument == TextureStage::SOURCE_CONSTANT ||
394 textureStage.secondArgumentAlpha == TextureStage::SOURCE_CONSTANT ||
395 textureStage.thirdArgument == TextureStage::SOURCE_CONSTANT ||
396 textureStage.thirdArgumentAlpha == TextureStage::SOURCE_CONSTANT)
398 constant.x = *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].constantColor4[0]));
399 constant.y = *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].constantColor4[1]));
400 constant.z = *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].constantColor4[2]));
401 constant.w = *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].constantColor4[3]));
404 if(textureStage.firstArgument == TextureStage::SOURCE_TFACTOR ||
405 textureStage.firstArgumentAlpha == TextureStage::SOURCE_TFACTOR ||
406 textureStage.secondArgument == TextureStage::SOURCE_TFACTOR ||
407 textureStage.secondArgumentAlpha == TextureStage::SOURCE_TFACTOR ||
408 textureStage.thirdArgument == TextureStage::SOURCE_TFACTOR ||
409 textureStage.thirdArgumentAlpha == TextureStage::SOURCE_TFACTOR)
418 if(stage > 0 && textureStage.usesTexture)
420 if(state.textureStage[stage - 1].stageOperation == TextureStage::STAGE_PREMODULATE)
427 if(state.textureStage[stage - 1].stageOperationAlpha == TextureStage::STAGE_PREMODULATE)
442 switch(textureStage.firstArgument)
444 case TextureStage::SOURCE_TEXTURE: arg1 = &texture; break;
445 case TextureStage::SOURCE_CONSTANT: arg1 = &constant; break;
446 case TextureStage::SOURCE_CURRENT: arg1 = &current; break;
447 case TextureStage
448 case TextureStage::SOURCE_SPECULAR: arg1 = &specular; break;
449 case TextureStage::SOURCE_TEMP: arg1 = &temp; break;
450 case TextureStage::SOURCE_TFACTOR: arg1 = &tfactor; break;
455 switch(textureStage.secondArgument)
457 case TextureStage::SOURCE_TEXTURE: arg2 = &texture; break;
458 case TextureStage::SOURCE_CONSTANT: arg2 = &constant; break;
459 case TextureStage::SOURCE_CURRENT: arg2 = &current; break;
460 case TextureStage::SOURCE_DIFFUSE: arg2 = &diffuse; break;
461 case TextureStage::SOURCE_SPECULAR: arg2 = &specular; break;
462 case TextureStage::SOURCE_TEMP: arg2 = &temp; break;
463 case TextureStage::SOURCE_TFACTOR: arg2 = &tfactor; break;
468 switch(textureStage.thirdArgument)
470 case TextureStage::SOURCE_TEXTURE: arg3 = &texture; break;
471 case TextureStage::SOURCE_CONSTANT: arg3 = &constant; break;
472 case TextureStage::SOURCE_CURRENT: arg3 = &current; break;
473 case TextureStage::SOURCE_DIFFUSE: arg3 = &diffuse; break;
474 case TextureStage::SOURCE_SPECULAR: arg3 = &specular; break;
475 case TextureStage::SOURCE_TEMP: arg3 = &temp; break;
476 case TextureStage::SOURCE_TFACTOR: arg3 = &tfactor; break;
485 switch(textureStage.firstModifier)
487 case TextureStage::MODIFIER_COLOR:
489 case TextureStage::MODIFIER_INVCOLOR:
497 case TextureStage::MODIFIER_ALPHA:
505 case TextureStage::MODIFIER_INVALPHA:
517 switch(textureStage.secondModifier)
519 case TextureStage::MODIFIER_COLOR:
521 case TextureStage::MODIFIER_INVCOLOR:
529 case TextureStage::MODIFIER_ALPHA:
537 case TextureStage::MODIFIER_INVALPHA:
549 switch(textureStage.thirdModifier)
551 case TextureStage::MODIFIER_COLOR:
553 case TextureStage::MODIFIER_INVCOLOR:
561 case TextureStage::MODIFIER_ALPHA:
569 case TextureStage::MODIFIER_INVALPHA:
581 switch(textureStage.stageOperation)
583 case TextureStage::STAGE_DISABLE:
585 case TextureStage::STAGE_SELECTARG1: // Arg1
590 case TextureStage::STAGE_SELECTARG2: // Arg2
595 case TextureStage::STAGE_SELECTARG3: // Arg3
600 case TextureStage::STAGE_MODULATE: // Arg1 * Arg2
605 case TextureStage::STAGE_MODULATE2X: // Arg1 * Arg2 * 2
610 case TextureStage::STAGE_MODULATE4X: // Arg1 * Arg2 * 4
615 case TextureStage::STAGE_ADD: // Arg1 + Arg2
620 case TextureStage::STAGE_ADDSIGNED: // Arg1 + Arg2 - 0.5
629 case TextureStage::STAGE_ADDSIGNED2X: // (Arg1 + Arg2 - 0.5) << 1
642 case TextureStage::STAGE_SUBTRACT: // Arg1 - Arg2
647 case TextureStage::STAGE_ADDSMOOTH: // Arg1 + Arg2 - Arg1 * Arg2
656 case TextureStage::STAGE_MULTIPLYADD: // Arg3 + Arg1 * Arg2
661 case TextureStage::STAGE_LERP: // Arg3 * (Arg1 - Arg2) + Arg2
666 case TextureStage::STAGE_DOT3: // 2 * (Arg1.x - 0.5) * 2 * (Arg2.x - 0.5) + 2 * (Arg1.y - 0.5) * 2 * (Arg2.y - 0.5) + 2 * (Arg1.z - 0.5) * 2 * (Arg2.z - 0.5)
690 case TextureStage::STAGE_BLENDCURRENTALPHA: // Alpha * (Arg1 - Arg2) + Arg2
695 case TextureStage::STAGE_BLENDDIFFUSEALPHA: // Alpha * (Arg1 - Arg2) + Arg2
700 case TextureStage::STAGE_BLENDFACTORALPHA: // Alpha * (Arg1 - Arg2) + Arg2
705 case TextureStage::STAGE_BLENDTEXTUREALPHA: // Alpha * (Arg1 - Arg2) + Arg2
710 case TextureStage::STAGE_BLENDTEXTUREALPHAPM: // Arg1 + Arg2 * (1 - Alpha)
715 case TextureStage::STAGE_PREMODULATE:
720 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR: // Arg1 + Arg1.w * Arg2
725 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA: // Arg1 * Arg2 + Arg1.w
730 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR: // (1 - Arg1.w) * Arg2 + Arg1
739 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA: // (1 - Arg1) * Arg2 + Arg1.w
748 case TextureStage::STAGE_BUMPENVMAP:
758 du *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][0]));
759 dv2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][0]));
761 dv *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][1]));
762 du2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][1]));
773 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
784 du *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][0]));
785 dv2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][0]));
787 dv *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][1]));
788 du2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][1]));
794 L = MulHigh(L, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].luminanceScale4)));
796 L = AddSat(L, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].luminanceOffset4)));
812 if(textureStage.stageOperation != TextureStage::STAGE_DOT3)
814 switch(textureStage.firstArgumentAlpha)
816 case TextureStage::SOURCE_TEXTURE: arg1 = &texture; break;
817 case TextureStage::SOURCE_CONSTANT: arg1 = &constant; break;
818 case TextureStage::SOURCE_CURRENT: arg1 = &current; break;
819 case TextureStage::SOURCE_DIFFUSE: arg1 = &diffuse; break;
820 case TextureStage::SOURCE_SPECULAR: arg1 = &specular; break;
821 case TextureStage::SOURCE_TEMP: arg1 = &temp; break;
822 case TextureStage::SOURCE_TFACTOR: arg1 = &tfactor; break;
827 switch(textureStage.secondArgumentAlpha)
829 case TextureStage::SOURCE_TEXTURE: arg2 = &texture; break;
830 case TextureStage::SOURCE_CONSTANT: arg2 = &constant; break;
831 case TextureStage::SOURCE_CURRENT: arg2 = &current; break;
832 case TextureStage::SOURCE_DIFFUSE: arg2 = &diffuse; break;
833 case TextureStage::SOURCE_SPECULAR: arg2 = &specular; break;
834 case TextureStage::SOURCE_TEMP: arg2 = &temp; break;
835 case TextureStage::SOURCE_TFACTOR: arg2 = &tfactor; break;
840 switch(textureStage.thirdArgumentAlpha)
842 case TextureStage::SOURCE_TEXTURE: arg3 = &texture; break;
843 case TextureStage::SOURCE_CONSTANT: arg3 = &constant; break;
844 case TextureStage::SOURCE_CURRENT: arg3 = &current; break;
845 case TextureStage::SOURCE_DIFFUSE: arg3 = &diffuse; break;
846 case TextureStage::SOURCE_SPECULAR: arg3 = &specular; break;
847 case TextureStage::SOURCE_TEMP: arg3 = &temp; break;
848 case TextureStage::SOURCE_TFACTOR: arg3 = &tfactor; break;
853 switch(textureStage.firstModifierAlpha) // FIXME: Check if actually used
855 case TextureStage::MODIFIER_COLOR:
857 case TextureStage::MODIFIER_INVCOLOR:
862 case TextureStage::MODIFIER_ALPHA:
865 case TextureStage::MODIFIER_INVALPHA:
874 switch(textureStage.secondModifierAlpha) // FIXME: Check if actually used
876 case TextureStage::MODIFIER_COLOR:
878 case TextureStage::MODIFIER_INVCOLOR:
883 case TextureStage::MODIFIER_ALPHA:
886 case TextureStage::MODIFIER_INVALPHA:
895 switch(textureStage
897 case TextureStage::MODIFIER_COLOR:
899 case TextureStage::MODIFIER_INVCOLOR:
904 case TextureStage::MODIFIER_ALPHA:
907 case TextureStage::MODIFIER_INVALPHA:
916 switch(textureStage.stageOperationAlpha)
918 case TextureStage::STAGE_DISABLE:
920 case TextureStage::STAGE_SELECTARG1: // Arg1
923 case TextureStage::STAGE_SELECTARG2: // Arg2
926 case TextureStage::STAGE_SELECTARG3: // Arg3
929 case TextureStage::STAGE_MODULATE: // Arg1 * Arg2
932 case TextureStage::STAGE_MODULATE2X: // Arg1 * Arg2 * 2
935 case TextureStage::STAGE_MODULATE4X: // Arg1 * Arg2 * 4
938 case TextureStage::STAGE_ADD: // Arg1 + Arg2
941 case TextureStage::STAGE_ADDSIGNED: // Arg1 + Arg2 - 0.5
945 case TextureStage::STAGE_ADDSIGNED2X: // (Arg1 + Arg2 - 0.5) << 1
950 case TextureStage::STAGE_SUBTRACT: // Arg1 - Arg2
953 case TextureStage::STAGE_ADDSMOOTH: // Arg1 + Arg2 - Arg1 * Arg2
960 case TextureStage::STAGE_MULTIPLYADD: // Arg3 + Arg1 * Arg2
963 case TextureStage::STAGE_LERP: // Arg3 * (Arg1 - Arg2) + Arg2
966 case TextureStage::STAGE_DOT3:
968 case TextureStage::STAGE_BLENDCURRENTALPHA: // Alpha * (Arg1 - Arg2) + Arg2
971 case TextureStage::STAGE_BLENDDIFFUSEALPHA: // Arg1 * (Alpha) + Arg2 * (1 - Alpha)
974 case TextureStage::STAGE_BLENDFACTORALPHA:
977 case TextureStage::STAGE_BLENDTEXTUREALPHA: // Arg1 * (Alpha) + Arg2 * (1 - Alpha)
980 case TextureStage::STAGE_BLENDTEXTUREALPHAPM: // Arg1 + Arg2 * (1 - Alpha)
983 case TextureStage::STAGE_PREMODULATE:
986 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR:
987 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA:
988 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR:
989 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA:
990 case TextureStage::STAGE_BUMPENVMAP:
991 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
1000 switch(textureStage.stageOperation)
1002 case TextureStage::STAGE_DISABLE:
1003 case TextureStage::STAGE_SELECTARG1:
1004 case TextureStage::STAGE_SELECTARG2:
1005 case TextureStage::STAGE_SELECTARG3:
1006 case TextureStage::STAGE_MODULATE:
1007 case TextureStage::STAGE_MODULATE2X:
1008 case TextureStage::STAGE_MODULATE4X:
1009 case TextureStage::STAGE_ADD:
1010 case TextureStage::STAGE_MULTIPLYADD:
1011 case TextureStage::STAGE_LERP:
1012 case TextureStage::STAGE_BLENDCURRENTALPHA:
1013 case TextureStage::STAGE_BLENDDIFFUSEALPHA:
1014 case TextureStage::STAGE_BLENDFACTORALPHA:
1015 case TextureStage::STAGE_BLENDTEXTUREALPHA:
1016 case TextureStage::STAGE_BLENDTEXTUREALPHAPM:
1017 case TextureStage::STAGE_DOT3: // Already clamped
1018 case TextureStage::STAGE_PREMODULATE:
1019 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR:
1020 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA:
1021 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR:
1022 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA:
1023 case TextureStage::STAGE_BUMPENVMAP:
1024 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
1025 if(state.textureStage[stage].cantUnderflow)
1029 case TextureStage::STAGE_ADDSIGNED:
1030 case TextureStage::STAGE_ADDSIGNED2X:
1031 case TextureStage::STAGE_SUBTRACT:
1032 case TextureStage::STAGE_ADDSMOOTH:
1041 switch(textureStage.stageOperationAlpha)
1043 case TextureStage::STAGE_DISABLE:
1044 case TextureStage::STAGE_SELECTARG1:
1045 case TextureStage::STAGE_SELECTARG2:
1046 case TextureStage::STAGE_SELECTARG3:
1047 case TextureStage::STAGE_MODULATE:
1048 case TextureStage::STAGE_MODULATE2X:
1049 case TextureStage::STAGE_MODULATE4X:
1050 case TextureStage::STAGE_ADD:
1051 case TextureStage::STAGE_MULTIPLYADD:
1052 case TextureStage::STAGE_LERP:
1053 case TextureStage::STAGE_BLENDCURRENTALPHA:
1054 case TextureStage::STAGE_BLENDDIFFUSEALPHA:
1055 case TextureStage::STAGE_BLENDFACTORALPHA:
1056 case TextureStage::STAGE_BLENDTEXTUREALPHA:
1057 case TextureStage::STAGE_BLENDTEXTUREALPHAPM:
1058 case TextureStage::STAGE_DOT3: // Already clamped
1059 case TextureStage::STAGE_PREMODULATE:
1060 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR:
1061 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA:
1062 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR:
1063 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA:
1064 case TextureStage::STAGE_BUMPENVMAP:
1065 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
1066 if(state.textureStage[stage].cantUnderflow)
1070 case TextureStage::STAGE_ADDSIGNED:
1071 case TextureStage::STAGE_ADDSIGNED2X:
1072 case TextureStage::STAGE_SUBTRACT:
1073 case TextureStage::STAGE_ADDSMOOTH:
1080 switch(textureStage.stageOperation)
1082 case TextureStage::STAGE_DISABLE:
1083 case TextureStage::STAGE_SELECTARG1:
1084 case TextureStage::STAGE_SELECTARG2:
1085 case TextureStage::STAGE_SELECTARG3:
1086 case TextureStage::STAGE_MODULATE:
1087 case TextureStage::STAGE_SUBTRACT:
1088 case TextureStage::STAGE_ADDSMOOTH:
1089 case TextureStage::STAGE_LERP:
1090 case TextureStage::STAGE_BLENDCURRENTALPHA:
1091 case TextureStage::STAGE_BLENDDIFFUSEALPHA:
1092 case TextureStage::STAGE_BLENDFACTORALPHA:
1093 case TextureStage::STAGE_BLENDTEXTUREALPHA:
1094 case TextureStage::STAGE_DOT3: // Already clamped
1095 case TextureStage::STAGE_PREMODULATE:
1096 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR:
1097 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA:
1098 case TextureStage::STAGE_BUMPENVMAP:
1099 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
1101 case TextureStage::STAGE_MODULATE2X:
1102 case TextureStage::STAGE_MODULATE4X:
1103 case TextureStage::STAGE_ADD:
1104 case TextureStage::STAGE_ADDSIGNED:
1105 case TextureStage::STAGE_ADDSIGNED2X:
1106 case TextureStage::STAGE_MULTIPLYADD:
1107 case TextureStage::STAGE_BLENDTEXTUREALPHAPM:
1108 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR:
1109 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA:
1118 switch(textureStage.stageOperationAlpha)
1120 case TextureStage::STAGE_DISABLE:
1121 case TextureStage::STAGE_SELECTARG1:
1122 case TextureStage::STAGE_SELECTARG2:
1123 case TextureStage::STAGE_SELECTARG3:
1124 case TextureStage::STAGE_MODULATE:
1125 case TextureStage::STAGE_SUBTRACT:
1126 case TextureStage::STAGE_ADDSMOOTH:
1127 case TextureStage::STAGE_LERP:
1128 case TextureStage::STAGE_BLENDCURRENTALPHA:
1129 case TextureStage::STAGE_BLENDDIFFUSEALPHA:
1130 case TextureStage::STAGE_BLENDFACTORALPHA:
1131 case TextureStage::STAGE_BLENDTEXTUREALPHA:
1132 case TextureStage::STAGE_DOT3: // Already clamped
1133 case TextureStage::STAGE_PREMODULATE:
1134 case TextureStage::STAGE_MODULATEINVALPHA_ADDCOLOR:
1135 case TextureStage::STAGE_MODULATEINVCOLOR_ADDALPHA:
1136 case TextureStage::STAGE_BUMPENVMAP:
1137 case TextureStage::STAGE_BUMPENVMAPLUMINANCE:
1139 case TextureStage::STAGE_MODULATE2X:
1140 case TextureStage::STAGE_MODULATE4X:
1141 case TextureStage::STAGE_ADD:
1142 case TextureStage::STAGE_ADDSIGNED:
1143 case TextureStage::STAGE_ADDSIGNED2X:
1144 case TextureStage::STAGE_MULTIPLYADD:
1145 case TextureStage::STAGE_BLENDTEXTUREALPHAPM:
1146 case TextureStage::STAGE_MODULATEALPHA_ADDCOLOR:
1147 case TextureStage::STAGE_MODULATECOLOR_ADDALPHA:
1154 switch(textureStage.destinationArgument)
1156 case TextureStage::DESTINATION_CURRENT:
1162 case TextureStage::DESTINATION_TEMP:
1698 du *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][0]));
1699 dv2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][0]));
1701 dv *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][1]));
1702 du2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][1]));
1719 du *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][0]));
1720 dv2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][0]));
1722 dv *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[1][1]));
1723 du2 *= *Pointer<Float4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4F[0][1]));
1734 L = MulHigh(L, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].luminanceScale4)));
1736 L = AddSat(L, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].luminanceOffset4)));
1944 t0 = MulHigh(src1.x, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4W[0][0]))); t0 = t0 << 4; // FIXME: Matrix components range? Overflow hazard.
1945 t1 = MulHigh(src1.y, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4W[1][0]))); t1 = t1 << 4; // FIXME: Matrix components range? Overflow hazard.
1951 t0 = MulHigh(src1.x, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4W[0][1]))); t0 = t0 << 4; // FIXME: Matrix components range? Overflow hazard.
1952 t1 = MulHigh(src1.y, *Pointer<Short4>(data + OFFSET(DrawData, textureStage[stage].bumpmapMatrix4W[1][1]))); t1 = t1 << 4; // FIXME: Matrix components range? Overflow hazard.