MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / gteCC

Function gteCC

pcsx2/IopGte.cpp:2824–2925  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2822}
2823
2824void gteCC() {
2825 // double RR0,GG0,BB0;
2826 s32 RR0, GG0, BB0;
2827 // double t1,t2,t3;
2828#ifdef GTE_DUMP
2829 static int sample = 0; sample++;
2830#endif
2831#ifdef GTE_LOG
2832 GTE_LOG("GTE_CC\n");
2833#endif
2834
2835#ifdef GTE_DUMP
2836 if (sample < 100)
2837 {
2838 G_OP("CC", 11);
2839 G_SD(6);
2840 G_SD(9);
2841 G_SD(10);
2842 G_SD(11);
2843
2844 G_SC(13);
2845 G_SC(14);
2846 G_SC(15);
2847 G_SC(16);
2848 G_SC(17);
2849 G_SC(18);
2850 G_SC(19);
2851 }
2852#endif
2853 /* gteFLAG = 0;
2854
2855 RR0 = (double)gteRBK + ((double)gteLR1 * gteIR1 + (double)gteLR2 * gteIR2 + (double)gteLR3 * gteIR3) / 4096.0;
2856 GG0 = (double)gteGBK + ((double)gteLG1 * gteIR1 + (double)gteLG2 * gteIR2 + (double)gteLG3 * gteIR3) / 4096.0;
2857 BB0 = (double)gteBBK + ((double)gteLB1 * gteIR1 + (double)gteLB2 * gteIR2 + (double)gteLB3 * gteIR3) / 4096.0;
2858 t1 = LimitAU(RR0, 24);
2859 t2 = LimitAU(GG0, 23);
2860 t3 = LimitAU(BB0, 22);
2861
2862 RR0=((double)gteR * t1)/256.0;
2863 GG0=((double)gteG * t2)/256.0;
2864 BB0=((double)gteB * t3)/256.0;
2865 gteIR1 = (long)LimitAU(RR0,24);
2866 gteIR2 = (long)LimitAU(GG0,23);
2867 gteIR3 = (long)LimitAU(BB0,22);
2868
2869 gteCODE0=gteCODE1; gteCODE1=gteCODE2;
2870 gteC2 = gteCODE0;
2871 gteR2 = (unsigned char)LimitB(RR0/16.0, 21);
2872 gteG2 = (unsigned char)LimitB(GG0/16.0, 20);
2873 gteB2 = (unsigned char)LimitB(BB0/16.0, 19);
2874
2875 if (gteFLAG & 0x7f87e000) gteFLAG|=0x80000000;*/
2876 gteFLAG = 0;
2877
2878 /* RR0 = NC_OVERFLOW1(gteRBK + (gteLR1*gteIR1 + gteLR2*gteIR2 + gteLR3*gteIR3) / 4096.0f);
2879 GG0 = NC_OVERFLOW2(gteGBK + (gteLG1*gteIR1 + gteLG2*gteIR2 + gteLG3*gteIR3) / 4096.0f);
2880 BB0 = NC_OVERFLOW3(gteBBK + (gteLB1*gteIR1 + gteLB2*gteIR2 + gteLB3*gteIR3) / 4096.0f);
2881

Callers

nothing calls this directly

Calls 6

FNC_OVERFLOW1Function · 0.85
FNC_OVERFLOW2Function · 0.85
FNC_OVERFLOW3Function · 0.85
FlimB1Function · 0.85
FlimB2Function · 0.85
FlimB3Function · 0.85

Tested by

no test coverage detected