Adds a discard_threshold push-constant to the tex / rounded_tex shaders
This commit is contained in:
parent
e2de688324
commit
bb43c238e3
17 changed files with 38 additions and 22 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue