Not used for Modes 4&5
| 904 | |
| 905 | // Not used for Modes 4&5 |
| 906 | INLINE CGV_FLOAT GetRamp(CGU_INT clogBC7, // ramp bits Valid range 2..4 |
| 907 | CGU_INT bits, // Component Valid range 5..8 |
| 908 | CGV_INT p1, // 0..255 |
| 909 | CGV_INT p2, // 0..255 |
| 910 | CGV_UINT8 index) |
| 911 | { // 0..15 |
| 912 | #ifdef ASPM_GPU // GPU Code |
| 913 | CGV_FLOAT rampf = 0.0F; |
| 914 | CGV_INT e1 = expand_epocode(p1, bits); |
| 915 | CGV_INT e2 = expand_epocode(p2, bits); |
| 916 | CGV_FLOAT ramp = gather_epocode(rampI, clogBC7 * 16 + index) / 64.0F; |
| 917 | rampf = cmp_floor(e1 + ramp * (e2 - e1) + 0.5F); // returns 0..255 values |
| 918 | return rampf; |
| 919 | #else // CPU ASPM Code |
| 920 | #ifdef USE_BC7_RAMP |
| 921 | CGV_FLOAT rampf = BC7EncodeRamps.ramp[(CLT(clogBC7) * 4 * 256 * 256 * 16) + (BTT(bits) * 256 * 256 * 16) + (p1 * 256 * 16) + (p2 * 16) + index]; |
| 922 | return rampf; |
| 923 | #else |
| 924 | return (CGV_FLOAT)cmp_floor((CGV_FLOAT)BC7EncodeRamps.ep_d[BTT(bits)][p1] + |
| 925 | rampWeights[clogBC7][index] * (CGV_FLOAT)((BC7EncodeRamps.ep_d[BTT(bits)][p2] - BC7EncodeRamps.ep_d[BTT(bits)][p1])) + 0.5F); |
| 926 | #endif |
| 927 | #endif |
| 928 | } |
| 929 | |
| 930 | // Not used for Modes 4&5 |
| 931 | INLINE CGV_FLOAT get_sperr(CGU_INT clogBC7, // ramp bits Valid range 2..4 |
no test coverage detected