--- a/color_grading.asm 2026-10-07 20:38:52.515256500 -0400 +++ b/color_grading.asm 2026-10-07 23:37:24.393674847 -0400 @@ -148,6 +148,30 @@ add r1.xyz, r1.xyzx, -cb3[1].yyyy mul r0.xyz, r1.xyzx, cb3[1].xxxx else + ieq r1.x, cb3[0].x, l(7) + if_nz r1.x + mul r1.xyz, r0.xyzx, l(4.545455, 4.545455, 4.545455, 0.000000) + mov_sat r2.xyz, r1.xyzx + mad r3.xyz, r2.xyzx, l(-2.000000, -2.000000, -2.000000, 0.000000), l(3.000000, 3.000000, 3.000000, 0.000000) + mul r2.xyz, r2.xyzx, r2.xyzx + mad r2.xyz, -r3.xyzx, r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) + ge r3.xyz, r0.xyzx, l(0.532000, 0.532000, 0.532000, 0.000000) + and r4.xyz, r3.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) + add r5.xyz, -r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) + movc r3.xyz, r3.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000), l(0x80000000, 0x80000000, 0x80000000, 0) + add r3.xyz, r3.xyzx, r5.xyzx + log r1.xyz, r1.xyzx + mul r1.xyz, r1.xyzx, l(1.330000, 1.330000, 1.330000, 0.000000) + exp r1.xyz, r1.xyzx + mul r1.xyz, r1.xyzx, r2.xyzx + add r2.xyz, r0.xyzx, l(-0.532000, -0.532000, -0.532000, 0.000000) + mul r2.xyz, r2.xyzx, l(-3.082682, -3.082682, -3.082682, 0.000000) + exp r2.xyz, r2.xyzx + mad r2.xyz, -r2.xyzx, l(0.468000, 0.468000, 0.468000, 0.000000), l(1.000000, 1.000000, 1.000000, 0.000000) + mul r3.xyz, r0.xyzx, r3.xyzx + mad r1.xyz, r1.xyzx, l(0.220000, 0.220000, 0.220000, 0.000000), r3.xyzx + mad r0.xyz, r2.xyzx, r4.xyzx, r1.xyzx + else if_nz cb3[0].y dp3 r1.x, r0.xyzx, l(0.299010, 0.587000, 0.114000, 0.000000) switch cb3[0].x @@ -204,6 +228,7 @@ break endswitch endif + endif endif endif ine r1.x, cb2[3].x, l(0)