MCPcopy Create free account
hub / github.com/GPUOpen-Tools/compressonator / GetRamp

Function GetRamp

cmp_core/shaders/bc7_encode_kernel.cpp:906–928  ·  view source on GitHub ↗

Not used for Modes 4&5

Source from the content-addressed store, hash-verified

904
905// Not used for Modes 4&5
906INLINE 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
931INLINE CGV_FLOAT get_sperr(CGU_INT clogBC7, // ramp bits Valid range 2..4

Callers 3

quant_solid_colorFunction · 0.70
requantized_image_errFunction · 0.70
shakeFunction · 0.70

Calls 3

expand_epocodeFunction · 0.85
gather_epocodeFunction · 0.85
cmp_floorFunction · 0.85

Tested by

no test coverage detected