From bb43c238e37a94967a31db8e9d4517e658a9d3e4 Mon Sep 17 00:00:00 2001 From: entailz Date: Wed, 20 May 2026 18:47:16 -0700 Subject: [PATCH] Adds a discard_threshold push-constant to the tex / rounded_tex shaders --- .../shaders/legacy/rounded_tex.common.glsl | 15 ++++++++------- .../vulkan/shaders/legacy/rounded_tex.frag | 3 +++ .../vulkan/shaders/legacy/tex.common.glsl | 1 + src/gfx_apis/vulkan/shaders/legacy/tex.frag | 3 +++ .../vulkan/shaders/rounded_tex.common.glsl | 15 ++++++++------- src/gfx_apis/vulkan/shaders/rounded_tex.frag | 3 +++ src/gfx_apis/vulkan/shaders/tex.common.glsl | 1 + src/gfx_apis/vulkan/shaders/tex.frag | 3 +++ .../shaders_bin/legacy_rounded_tex.frag.spv | Bin 6648 -> 6860 bytes .../shaders_bin/legacy_rounded_tex.vert.spv | Bin 2804 -> 2876 bytes .../vulkan/shaders_bin/legacy_tex.frag.spv | Bin 1852 -> 2096 bytes .../vulkan/shaders_bin/legacy_tex.vert.spv | Bin 1924 -> 1980 bytes .../vulkan/shaders_bin/rounded_tex.frag.spv | Bin 19700 -> 19912 bytes .../vulkan/shaders_bin/rounded_tex.vert.spv | Bin 3580 -> 3652 bytes src/gfx_apis/vulkan/shaders_bin/tex.frag.spv | Bin 15032 -> 15228 bytes src/gfx_apis/vulkan/shaders_bin/tex.vert.spv | Bin 2572 -> 2628 bytes src/gfx_apis/vulkan/shaders_hash.txt | 16 ++++++++-------- 17 files changed, 38 insertions(+), 22 deletions(-) diff --git a/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl b/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl index f221ff6a..1e95d980 100644 --- a/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl +++ b/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl @@ -2,11 +2,12 @@ layout(push_constant, std430) uniform Data { layout(offset = 0) vec2 pos[4]; layout(offset = 32) vec2 tex_pos[4]; layout(offset = 64) float mul; - layout(offset = 68) float size_x; - layout(offset = 72) float size_y; - layout(offset = 76) float corner_radius_tl; - layout(offset = 80) float corner_radius_tr; - layout(offset = 84) float corner_radius_br; - layout(offset = 88) float corner_radius_bl; - layout(offset = 92) float scale; + layout(offset = 68) float discard_threshold; + layout(offset = 72) float size_x; + layout(offset = 76) float size_y; + layout(offset = 80) float corner_radius_tl; + layout(offset = 84) float corner_radius_tr; + layout(offset = 88) float corner_radius_br; + layout(offset = 92) float corner_radius_bl; + layout(offset = 96) float scale; } data; diff --git a/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag b/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag index cec6f001..8c84529f 100644 --- a/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag +++ b/src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag @@ -38,6 +38,9 @@ void main() { vec2 size = vec2(data.size_x, data.size_y); vec4 corner_radius = vec4(data.corner_radius_tl, data.corner_radius_tr, data.corner_radius_br, data.corner_radius_bl); vec4 c = textureLod(tex, tex_pos, 0); + if (c.a < data.discard_threshold) { + discard; + } if (has_alpha_multiplier) { if (src_has_alpha) { c *= data.mul; diff --git a/src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl b/src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl index 61f3ef3c..82ec59ba 100644 --- a/src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl +++ b/src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl @@ -2,4 +2,5 @@ layout(push_constant, std430) uniform Data { layout(offset = 0) vec2 pos[4]; layout(offset = 32) vec2 tex_pos[4]; layout(offset = 64) float mul; + layout(offset = 68) float discard_threshold; } data; diff --git a/src/gfx_apis/vulkan/shaders/legacy/tex.frag b/src/gfx_apis/vulkan/shaders/legacy/tex.frag index 2896bc87..ab862b32 100644 --- a/src/gfx_apis/vulkan/shaders/legacy/tex.frag +++ b/src/gfx_apis/vulkan/shaders/legacy/tex.frag @@ -9,6 +9,9 @@ layout(location = 0) out vec4 out_color; void main() { vec4 c = textureLod(tex, tex_pos, 0); + if (c.a < data.discard_threshold) { + discard; + } if (has_alpha_multiplier) { if (src_has_alpha) { c *= data.mul; diff --git a/src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl b/src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl index 9a07f0b0..62c11e74 100644 --- a/src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl +++ b/src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl @@ -12,11 +12,12 @@ layout(buffer_reference, buffer_reference_align = 8, std430) readonly buffer Ver layout(push_constant, std430) uniform Data { layout(offset = 0) Vertices vertices; layout(offset = 8) float mul; - layout(offset = 12) float size_x; - layout(offset = 16) float size_y; - layout(offset = 20) float corner_radius_tl; - layout(offset = 24) float corner_radius_tr; - layout(offset = 28) float corner_radius_br; - layout(offset = 32) float corner_radius_bl; - layout(offset = 36) float scale; + layout(offset = 12) float discard_threshold; + layout(offset = 16) float size_x; + layout(offset = 20) float size_y; + layout(offset = 24) float corner_radius_tl; + layout(offset = 28) float corner_radius_tr; + layout(offset = 32) float corner_radius_br; + layout(offset = 36) float corner_radius_bl; + layout(offset = 40) float scale; } data; diff --git a/src/gfx_apis/vulkan/shaders/rounded_tex.frag b/src/gfx_apis/vulkan/shaders/rounded_tex.frag index 0c506bc2..aebbdb32 100644 --- a/src/gfx_apis/vulkan/shaders/rounded_tex.frag +++ b/src/gfx_apis/vulkan/shaders/rounded_tex.frag @@ -45,6 +45,9 @@ void main() { vec2 size = vec2(data.size_x, data.size_y); vec4 corner_radius = vec4(data.corner_radius_tl, data.corner_radius_tr, data.corner_radius_br, data.corner_radius_bl); vec4 c = textureLod(sampler2D(tex, sam), tex_pos, 0); + if (c.a < data.discard_threshold) { + discard; + } if (eotf != inv_eotf || has_matrix || alpha_mode != AM_PREMULTIPLIED_ELECTRICAL) { vec3 rgb = c.rgb; if (src_has_alpha && alpha_mode == AM_PREMULTIPLIED_ELECTRICAL) { diff --git a/src/gfx_apis/vulkan/shaders/tex.common.glsl b/src/gfx_apis/vulkan/shaders/tex.common.glsl index 8576231b..45b7119a 100644 --- a/src/gfx_apis/vulkan/shaders/tex.common.glsl +++ b/src/gfx_apis/vulkan/shaders/tex.common.glsl @@ -12,4 +12,5 @@ layout(buffer_reference, buffer_reference_align = 8, std430) readonly buffer Ver layout(push_constant, std430) uniform Data { Vertices vertices; float mul; + float discard_threshold; } data; diff --git a/src/gfx_apis/vulkan/shaders/tex.frag b/src/gfx_apis/vulkan/shaders/tex.frag index e1ccacda..2e09c32c 100644 --- a/src/gfx_apis/vulkan/shaders/tex.frag +++ b/src/gfx_apis/vulkan/shaders/tex.frag @@ -16,6 +16,9 @@ layout(location = 0) out vec4 out_color; void main() { vec4 c = textureLod(sampler2D(tex, sam), tex_pos, 0); + if (c.a < data.discard_threshold) { + discard; + } if (eotf != inv_eotf || has_matrix || alpha_mode != AM_PREMULTIPLIED_ELECTRICAL) { vec3 rgb = c.rgb; if (src_has_alpha && alpha_mode == AM_PREMULTIPLIED_ELECTRICAL) { diff --git a/src/gfx_apis/vulkan/shaders_bin/legacy_rounded_tex.frag.spv b/src/gfx_apis/vulkan/shaders_bin/legacy_rounded_tex.frag.spv index 9fd78f9b1dae52aaa046ef054e720e1f65c74942..300db829a22f4d8ea1c0b1e47a9a95e8ee48f3d8 100644 GIT binary patch delta 1600 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 literal 1852 zcmZQ(Qf6mhU}WHC;AOC5fB-=TCI&_Z1_o{hHZbk(6YQf`T#}+^Vrl?V!NaQBIK_xE@A zag9$dD2OjEsmw`@&&kY7jZeueN=+`wEK3Ec<3LiEnU|bXnu4r=m4O9pKFnTL24)6M z1_p*?1_lNYo0oxsp(M3}0i+J(rjpc(_=5am237_R1~CQ(hK$7G_{5xojKuid(wvga zf}G6MB9Qx88Q2&k85kIfi<0BvYQSc)FeorEFt{X^B!bkjF+lhrHppBy23D{*mj1_p-A zys~&?F&n5KauZ96GAlrSW@WHtU|@jyDL*BZfx(@Dg#i=}iXej+5PXmuKtdpSP}s|*ns>1!XSB2Sb*3dB_KXXEgJ&^0|!*SJOcv*g3k;N1CW0`py2`1rwk$(7#Lt; zAoDJ48jad;Pj^mPKgX)wip95*xevEh%>M-fYK?*A0Yh-3@l*(fy6*ql7W+f3+hjh znIJd8FpMwFz|6qSzyMYU($51`01~riU||69L2&^R2HD3CH4o$;ka__IP)=lE0EvUt zgZQAh0hzDOzyfxwFi0~41A_0P{H-h+}v;-0Z*$Ik2 zkQ~g-AifF%B)mcTRT&t-c@$(GC=9frVE~Flki0p#tY84g1;~65ACwM2@rGVcci69Xu1fb0RKWso00ac#@M0**&M z1_p560r5fMBE-PJ0E&+Y26nLfL>L$tKx#nZpg07@jUBWM0?B=6U}lg2S;oM?@QZ;3 zT;_-~Fo4BCc7xa;HPT3GKyfFy z3=AM~5Fg}r4QTlGF|dN&sL8;<01^YKgSibP_LG5$0c0=84v<|i{W?(n{tO%ppt#Xx zU|;}=fiTFKpm+uO73L;AEN;?gU|;}=gWLcz15{~%%mInR^ciB&X9P~q3=Dw`pc0sY z!I*)80i+jXFHFn?Dh6@~Ow1H2269&bG;YioAo@Y-LGmE8Vg3inA^RT`4j?`#u0Y`d aqG91-2@MaBUQjv&@&7U~GFUJ$G5`R7vV+qA diff --git a/src/gfx_apis/vulkan/shaders_bin/legacy_tex.vert.spv b/src/gfx_apis/vulkan/shaders_bin/legacy_tex.vert.spv index edf86be6cb7970c8b0cdb14e9c7b1849d474572b..7361189a9ba7fbe35f16840989025e94add16eb7 100644 GIT binary patch delta 88 zcmZqS-^0H_hf$u5frCMufq{XUfq@|Yqb8%E2Lmfy hkun1VgUjYXCPhYmHn5;50|SE?0|Nv9=2~WU769}A4m|(> delta 34 pcmdnP-@?B^hjFtHqXy&V4kkH9ZdL|y1_lOE1_lPP&0Cq-SpbZx28jRw diff --git a/src/gfx_apis/vulkan/shaders_bin/rounded_tex.frag.spv b/src/gfx_apis/vulkan/shaders_bin/rounded_tex.frag.spv index 2bdd1fd3d7ebba2a94274472943b04e4b3f8b6b2..3ff5c2805930082a7b35669c2b7e92c5b9818de6 100644 GIT binary patch delta 3801 zcmew|lkvoCMqXwnWp)MzMh0#MUWV9-yv3YPnHU)SnHdkxG*NVNFj!7*s4R}rl1_osY1_q7E z7rFcEL7}Axb|eFXI|B;?h_A!|id_gF6oSa|AU;SQqy?lN6smF{4g*9zC{!647#Khi z3z7$gD2UGrl?MeNh!4`@&cJNM016{eTJd0D0kc68Ak84>g5*Gab_NCp0R{#Ju-Ifl zUSUU2D1w{?G74l3h!1iWjBm*d@dAtwN}V8Q!uZjfQ+ZEvF!D^+7t@>^AjUE|LTm~n z=j69y(!R%;AgSQtQjP&k9UCdI(SaF2;0~^C#1_p)?ObiUG85kx%7Z5TrmJssN+`=5kPS0VxKBA}FbVLJ_1kikX1{ zl!rlSTLuPj2?XPVVjom$AoD>51Tr6#?O}W`1_lODhKKR3 z85qEs9GMTwKQ;e0;cF969WTC0;cFPL=gihm%!9qVPaqaiNn-fgQ@}L9GIHxObiSl@c;&P za8%!5VqgF{0AxN$KS&N?`W&qd00Ss(lU$HYYFn|=pa0de`Se%2IfdQlzBoFf;NbDyA6WlW(Pr=OP zf|?6b3(B1!z9q=4dIkmtZe|7sQw9cby$(_U3NDZsD7g4RK86MtsC43EW?%q`fkF$! zhJ}^@mXHu+W?%q`!_)|2QByC>%)kJWfCZNbGXn!i3^}+&nHd;B;%*EK3?M^cz7m7_ z3Km-8%nS@5wJ;0|EeU1@29R2iJj{b2v7Zb~^>E*Sd|b9nl9$nhXpKhRh5MATf|Sn8hG5 zkSAc4fM}S0BdC6;r3}VUJB2|7CoF7Dm>C#A3PF(oG8Ci;BnH!D3e^Ovm|=R%pn5=Y z1kwXi0}_MjF^B5OWMW`|>9K(70mY$R4g)g-ND)X7EK4xHI0I@-i0Tse_lM5Av>+P8t80?rK#W1MAbbvY$ z6t*C~BQpa7NDQnF+N}VIfm{c&31lOt}#vqA9&s?mANM;7Ni$IbfLqN4_I5VWJ1mc4Xjetf0C@ewzNM;5GkQhiE$Rd#MKw>cUF;Mj& PxoBnvhM3K=%GWgkPTR^t delta 3637 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 delta 30 mcmX>i(j&5=hjH^7#tO#G7R-wn*;yF)85kJ&Ha}&FX9WP3FbGHh diff --git a/src/gfx_apis/vulkan/shaders_hash.txt b/src/gfx_apis/vulkan/shaders_hash.txt index 2fde0603..f8b7f0e8 100644 --- a/src/gfx_apis/vulkan/shaders_hash.txt +++ b/src/gfx_apis/vulkan/shaders_hash.txt @@ -15,11 +15,11 @@ ad22a79e1a88a12daa40c0a2b953084c129a408297c8ca544d60e0b6001470b9 src/gfx_apis/vu b77838c0aac9ec90ae76cd0d94d3891d72d9a30b09ce77009afd9f4e567dd042 src/gfx_apis/vulkan/shaders/legacy/rounded_fill.common.glsl fa39734aea1c96960f5dc95b999ae2fa5576ecf4b527fd70ee0f643c8ddcc452 src/gfx_apis/vulkan/shaders/legacy/rounded_fill.frag c1914cc00fb4827f65cd55bd0737d159fe44a098a3085a500822fc91cc2bfcad src/gfx_apis/vulkan/shaders/legacy/rounded_fill.vert -bd249cf170b72cd833e92a7719e88da0a91e563956579707e693679b443d73d5 src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl -28f3249e0d974a332b2926fb7565930627a093d6ac21ca17f2bf191740d299bd src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag +0305f0bf2ab87de4280e32adfda21906304db595590baa0f024d4e5e67d80d9c src/gfx_apis/vulkan/shaders/legacy/rounded_tex.common.glsl +02405debc59f254cd95f6b7f94df27438c952b22f357f411359898f430bcd770 src/gfx_apis/vulkan/shaders/legacy/rounded_tex.frag 6ef0bde549dc163cd08f68d975071f5d74213c07ccc4a06b30c6f179b2f848ae src/gfx_apis/vulkan/shaders/legacy/rounded_tex.vert -e0a8769dd7938dd02e66db9e9048ed6bef8f8c42671f2e2c7a7976a6d498f685 src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl -0e7c72ea11671065842c8b4ad4131a7df33b427dc0ea76bf5a896546f6636cb0 src/gfx_apis/vulkan/shaders/legacy/tex.frag +f5bfdb445c501ab97a19c7d435996a03ed45d31e8e54e29143f1daad8fa60d5b src/gfx_apis/vulkan/shaders/legacy/tex.common.glsl +3a9b36f72c82067e1892481054acb0948097d6c766e62e8bfad766fa2c2e3de6 src/gfx_apis/vulkan/shaders/legacy/tex.frag 4402f7ccdbb9fb52fb6cda3aab13cf89e2980c79b541f8be0463efd64a5f98ed src/gfx_apis/vulkan/shaders/legacy/tex.vert 3ba5d05c2b95099e5424b3ade5d1c31d431f5730b1d0b51a9fb5f8afc4ea14b4 src/gfx_apis/vulkan/shaders/out.common.glsl 5069f619c7d722815a022e2d84720a2d8290af49a3ed49ea0cd26b52115cc39a src/gfx_apis/vulkan/shaders/out.frag @@ -27,10 +27,10 @@ e0a8769dd7938dd02e66db9e9048ed6bef8f8c42671f2e2c7a7976a6d498f685 src/gfx_apis/vu 9202d5c9fc4ce0d5f40ed147f245bd037728c9e060ea46a0f0a1767ca55e6c48 src/gfx_apis/vulkan/shaders/rounded_fill.common.glsl 9085625d2afb1365685ae79a58108bf6566573ed94d9913397cf74dc6ef9b6e8 src/gfx_apis/vulkan/shaders/rounded_fill.frag 7665319a706e514f125d80f51f10b643f01cdae54d8a6ea56c218f78de7c0ecb src/gfx_apis/vulkan/shaders/rounded_fill.vert -dd100d048c0b380c913cffd7ac48fed3a341b3cb052302a11c369967f38aba9a src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl -454f34754ea4102190821c2d168dedd8c6bf624f1712b6136d902428f801a1e9 src/gfx_apis/vulkan/shaders/rounded_tex.frag +0fa53622bbee536bdf0b32438c276b9e5231e1fe5fac93ed395426da3893bd74 src/gfx_apis/vulkan/shaders/rounded_tex.common.glsl +adeba99236ee7606170bfb48e62c0df11c71a83018d8a201cde760c4f569fe5e src/gfx_apis/vulkan/shaders/rounded_tex.frag 21b18ba369b505b9aedb8cf2e7e31bc417f6704fd2daac353b0db52f9ae44c70 src/gfx_apis/vulkan/shaders/rounded_tex.vert -e22d4d3318a350def8ef19c7b27dc6a308a84c2fe9d7c02b81107f72073cd481 src/gfx_apis/vulkan/shaders/tex.common.glsl -1f196cee646a934072beb3e5648a5042c035953d9a0c26b0a22e330c2f8bb994 src/gfx_apis/vulkan/shaders/tex.frag +6ebf70abd2a06cb8a14cea7022a19d5d4bc95b1ef5e5a7ca22ab4c5fa37b6244 src/gfx_apis/vulkan/shaders/tex.common.glsl +fdfc60c64a22e7745dc82642ea23ef214dbd3b92d6a4f0ae1d75d33e89ae6a6a src/gfx_apis/vulkan/shaders/tex.frag 423cf327c9fcc4070dbf75321c1224a1589b6cf3d2f1ea5e8bd0362e1a9f3aa1 src/gfx_apis/vulkan/shaders/tex.vert b982f7101c22931a33b32dce3408387f3392c0f0ad0ca5852da265b0d12856bb src/gfx_apis/vulkan/shaders/tex_set.glsl