From 676942a942feeb28ec6ffa7f582e300065238922 Mon Sep 17 00:00:00 2001 From: loner <2788892716@qq.com> Date: Mon, 24 Nov 2025 01:59:49 +0800 Subject: [PATCH] Fix shader compilation error in color picker --- Shaders/frag/color_picker.frag | 7 ++++++- Shaders/qsb/color_picker.frag.qsb | Bin 2482 -> 2664 bytes 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Shaders/frag/color_picker.frag b/Shaders/frag/color_picker.frag index c38539cd..3168a3bf 100644 --- a/Shaders/frag/color_picker.frag +++ b/Shaders/frag/color_picker.frag @@ -9,6 +9,11 @@ layout(std140, binding = 0) uniform buf vec4 params; // x=opacity, y=fixedVal, z=mode, w=padding }; +// Compatibility function for GLSL ES to avoid % operator issues +int mod_compat(float a, float b) { + return int(a - floor(a / b) * b); +} + vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); @@ -31,7 +36,7 @@ void main() // Determine Mode Logic // 0: (Red/Hue) 1: (Green/Sat) 2: (Blue/Val) - int perm = int(mode) % 3; + int perm = mod_compat(mode, 3.0); float isHSV = step(3.0, mode); diff --git a/Shaders/qsb/color_picker.frag.qsb b/Shaders/qsb/color_picker.frag.qsb index f73dfd6618c3662d3abf45cc691b7c2fbea63487..4d9dce9a6494a45f2717fceae982b6aaae70a325 100644 GIT binary patch literal 2664 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 Wss9;r<9W0}u6ap4`TQGS^1+luP;V>% literal 2482 zcmV;j2~G9@040uiob6g`dlSbM9&BT$4!IC6A#Iv$a6=@p70Hri8)IT>NFauq00C0h z-K?dRyg}L(yDM9AN)tj#)25_p)AkSaQ|X`R4@mz&KlexUOE2flyd#g+;*yj;PoLJC zXYrhO&SmDzIq#1BLA;bW^JLo+iu8UaM;*xMhOU#Ra{tHD}WNEICUhz*nqQ}Dy zo)Hx?a70xa*QB{}|3K40u_Bse&Ldk)iad?Z8#;Z`y;|Qn3K5fQk5(zfBgS7qjMF5)f$>f$@9fAU9i2^V zNT`fxYzOq_r0;%-^&!p~`gss`T7Jop?-=XYLsorqzF+Q&$NOo-$+GBumh^{^yncxd zP^Q#+hNRtqEKnXl2K^_XKLGtFG0*rBk_Ux8-49>W@@{(nc=vEeen!f7k8634)SsIh zB~R>UFMRBV?jFPU^HTRubNfg>hID%QW3JgpjdVC3N!uz3ROWcd!TBGqgk_9%e;jgXzt z$J3Ct{&%6DGxXi-eh25Q^70k^dP6ah}m*Q|w zc)++<{y?7C*L%SE495)HYYE#Lum!`m4m@e=Cu|$Q0>kz?aBZve8DdR!=tiMmp@H1wZRXoOUA42Cz0_^d;iFk2q${ z{s_2^a|3=DzX|Neh=0R~{Q+WY-yg!aS=%>(Yu_Ki?xx}U7W{vNTt>ijoSz8ABU=6` zWY)b6c^bYx5$c+B+gQWTgyJcEem@7M-(ASvr^rNfc44ssBiGEVgEVipElP1g;1Q$`D5MRK>rJ@>khELQ=KH9`9ATK=;q^nkl8oS?KSqiA3k)gJqv8V=zeB#cR2w6TK_p<2cWkD zdC+z6P569Ho{2iEZ$WPu^SX|{jk)KIcrPU4y$Fooe&f9b9~S()XvBL7@dhx@dDsVB z*ZIp>k6Gu3fa|rql2}U$*egA9#q(+8UfUl|*dGCQIAO2%G72B8r|X>Sc+7Y;{;E(l zre9tES)uPg%3lV$df(&Nx5*uO;M#Wqn0~eI39;E*Da0xm=UIdf=kXs@6)aCl3o(G- z2UyUb6@~{#*4!}i0^iDIv%`(hEqPK}^{T54t5OS`cxDUi`2-F}ao8-y)=IN7{Qj^- zPu+9F+)v}IQ3z=4X zBW)eFillChk-WaX4!h8eo1t&jy;f?0)km#T&8at14XGyqcAd(SDTcJul-?KFEX zWi}{HwC}(xTYO|GyDb*pqasRw1ZdwPTNlg&^K$tPEs&gOE(Ty8o)RhTSJ6vrow^sYFOtIjQ-qP(<6 zJ0X!wsxPbIQjyH^FvZc**2`AjT!I&!zId4wqS$Su@_hPI%?ML>qH8*gv`HzSvlbsg zHVy~q1lZ0W;b+ZPD>f-q`7cSfLVGu?38Nbnt z%~tC6M)5D5x;nqOc;RGLh3?^Fu^A_v7-7l7#mn|3C#Ut2{iL z*$-wj`~GZZKP;P7x{?fLP|~BLv`QDJAr@E-vHlHSgTF`1Y`W@tavLVQ*iBa1z3EM+ zL>ARnazoQ3=&h3Ex2+wlKCD~Vf%5KDUEAZaF4QiLm^C#r-DIQ}hdNh4kI>3PAO)pl zBAKrJZ8DnCmfa3+nDjj$|4Ot;-)kcca#44)_axx)(+C zE7({g4B{YeH{9sp@bHM|mugMwieq&*c4~GMmuue2aRZOMdihoUC$oB-?s)9N@}0UH zQRZDsTJ`$tQ0FU=xHWRis#on-?ePpiD{iH&Dgc=RLZHXJMG9;lj(GlH-S^S6E2NODvyJ-Sv$#RHKwW8Okvofo`hhl wGH}l?OxFj-XrVw6GBff{S)jO4CvMgHukPx9Z`w-RTjn*E)RWJ@0FwNz>!?~4ApigX