tint/writer/glsl: Fix vector `select`
mix of ivec is not core until later GLSL versions. Just polyfill in the writer with ternary ops. Change-Id: Ia0c35bf95842e03ef8447019f3264d01c11fd384 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123240 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org> Kokoro: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
da353b4b39
commit
2657b923c9
|
@ -780,7 +780,7 @@ bool GeneratorImpl::EmitBuiltinCall(utils::StringStream& out,
|
||||||
return EmitCountOneBitsCall(out, expr);
|
return EmitCountOneBitsCall(out, expr);
|
||||||
}
|
}
|
||||||
if (builtin->Type() == sem::BuiltinType::kSelect) {
|
if (builtin->Type() == sem::BuiltinType::kSelect) {
|
||||||
return EmitSelectCall(out, expr);
|
return EmitSelectCall(out, expr, builtin);
|
||||||
}
|
}
|
||||||
if (builtin->Type() == sem::BuiltinType::kDot) {
|
if (builtin->Type() == sem::BuiltinType::kDot) {
|
||||||
return EmitDotCall(out, expr, builtin);
|
return EmitDotCall(out, expr, builtin);
|
||||||
|
@ -1100,28 +1100,39 @@ bool GeneratorImpl::EmitCountOneBitsCall(utils::StringStream& out,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GeneratorImpl::EmitSelectCall(utils::StringStream& out, const ast::CallExpression* expr) {
|
bool GeneratorImpl::EmitSelectCall(utils::StringStream& out,
|
||||||
|
const ast::CallExpression* expr,
|
||||||
|
const sem::Builtin* builtin) {
|
||||||
|
// GLSL does not support ternary expressions with a bool vector conditional,
|
||||||
|
// so polyfill with a helper.
|
||||||
|
if (auto* vec = builtin->Parameters()[2]->Type()->As<type::Vector>()) {
|
||||||
|
return CallBuiltinHelper(
|
||||||
|
out, expr, builtin, [&](TextBuffer* b, const std::vector<std::string>& params) {
|
||||||
|
auto l = line(b);
|
||||||
|
l << " return ";
|
||||||
|
if (!EmitType(l, builtin->ReturnType(), builtin::AddressSpace::kUndefined,
|
||||||
|
builtin::Access::kUndefined, "")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
ScopedParen sp(l);
|
||||||
|
for (uint32_t i = 0; i < vec->Width(); i++) {
|
||||||
|
if (i > 0) {
|
||||||
|
l << ", ";
|
||||||
|
}
|
||||||
|
l << params[2] << "[" << i << "] ? " << params[1] << "[" << i
|
||||||
|
<< "] : " << params[0] << "[" << i << "]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
l << ";";
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
auto* expr_false = expr->args[0];
|
auto* expr_false = expr->args[0];
|
||||||
auto* expr_true = expr->args[1];
|
auto* expr_true = expr->args[1];
|
||||||
auto* expr_cond = expr->args[2];
|
auto* expr_cond = expr->args[2];
|
||||||
// GLSL does not support ternary expressions with a bool vector conditional,
|
|
||||||
// but it does support mix() with same.
|
|
||||||
if (TypeOf(expr_cond)->UnwrapRef()->is_bool_vector()) {
|
|
||||||
out << "mix(";
|
|
||||||
if (!EmitExpression(out, expr_false)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
out << ", ";
|
|
||||||
if (!EmitExpression(out, expr_true)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
out << ", ";
|
|
||||||
if (!EmitExpression(out, expr_cond)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
out << ")";
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
ScopedParen paren(out);
|
ScopedParen paren(out);
|
||||||
if (!EmitExpression(out, expr_cond)) {
|
if (!EmitExpression(out, expr_cond)) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -234,8 +234,11 @@ class GeneratorImpl : public TextGenerator {
|
||||||
/// Handles generating a call to the `countOneBits()` builtin
|
/// Handles generating a call to the `countOneBits()` builtin
|
||||||
/// @param out the output of the expression stream
|
/// @param out the output of the expression stream
|
||||||
/// @param expr the call expression
|
/// @param expr the call expression
|
||||||
|
/// @param builtin the semantic information for the builtin
|
||||||
/// @returns true if the call expression is emitted
|
/// @returns true if the call expression is emitted
|
||||||
bool EmitSelectCall(utils::StringStream& out, const ast::CallExpression* expr);
|
bool EmitSelectCall(utils::StringStream& out,
|
||||||
|
const ast::CallExpression* expr,
|
||||||
|
const sem::Builtin* builtin);
|
||||||
/// Handles generating a call to the `dot()` builtin
|
/// Handles generating a call to the `dot()` builtin
|
||||||
/// @param out the output of the expression stream
|
/// @param out the output of the expression stream
|
||||||
/// @param expr the call expression
|
/// @param expr the call expression
|
||||||
|
|
|
@ -379,7 +379,7 @@ TEST_F(GlslGeneratorImplTest_Builtin, Select_Vector) {
|
||||||
gen.increment_indent();
|
gen.increment_indent();
|
||||||
utils::StringStream out;
|
utils::StringStream out;
|
||||||
ASSERT_TRUE(gen.EmitExpression(out, call)) << gen.error();
|
ASSERT_TRUE(gen.EmitExpression(out, call)) << gen.error();
|
||||||
EXPECT_EQ(out.str(), "mix(a, b, bvec2(true, false))");
|
EXPECT_EQ(out.str(), "tint_select(a, b, bvec2(true, false))");
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(GlslGeneratorImplTest_Builtin, FMA_f32) {
|
TEST_F(GlslGeneratorImplTest_Builtin, FMA_f32) {
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(location = 0) in vec4 vcolor_S0_param_1;
|
layout(location = 0) in vec4 vcolor_S0_param_1;
|
||||||
layout(location = 0) out vec4 sk_FragColor_1_1;
|
layout(location = 0) out vec4 sk_FragColor_1_1;
|
||||||
struct UniformBuffer {
|
struct UniformBuffer {
|
||||||
|
@ -25,7 +30,7 @@ vec4 sk_FragColor = vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||||
bool sk_Clockwise = false;
|
bool sk_Clockwise = false;
|
||||||
vec4 vcolor_S0 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
vec4 vcolor_S0 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||||
ivec4 tint_div(ivec4 lhs, ivec4 rhs) {
|
ivec4 tint_div(ivec4 lhs, ivec4 rhs) {
|
||||||
return (lhs / mix(rhs, ivec4(1), bvec4(uvec4(equal(rhs, ivec4(0))) | uvec4(bvec4(uvec4(equal(lhs, ivec4((-2147483647 - 1)))) & uvec4(equal(rhs, ivec4(-1))))))));
|
return (lhs / tint_select(rhs, ivec4(1), bvec4(uvec4(equal(rhs, ivec4(0))) | uvec4(bvec4(uvec4(equal(lhs, ivec4((-2147483647 - 1)))) & uvec4(equal(rhs, ivec4(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool test_int_S1_c0_b() {
|
bool test_int_S1_c0_b() {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -99,6 +104,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -148,7 +158,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -192,6 +202,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -241,7 +256,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -99,6 +104,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -148,7 +158,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -192,6 +202,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -241,7 +256,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,6 +113,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -157,7 +167,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -210,6 +220,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -259,7 +274,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_acosh(f16vec2 x) {
|
f16vec2 tint_acosh(f16vec2 x) {
|
||||||
return mix(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
return tint_select(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_acosh(f16vec2 x) {
|
f16vec2 tint_acosh(f16vec2 x) {
|
||||||
return mix(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
return tint_select(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_acosh(f16vec2 x) {
|
f16vec2 tint_acosh(f16vec2 x) {
|
||||||
return mix(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
return tint_select(acosh(x), f16vec2(0.0hf), lessThan(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_acosh(vec2 x) {
|
vec2 tint_acosh(vec2 x) {
|
||||||
return mix(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
return tint_select(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_acosh(vec2 x) {
|
vec2 tint_acosh(vec2 x) {
|
||||||
return mix(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
return tint_select(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_acosh(vec2 x) {
|
vec2 tint_acosh(vec2 x) {
|
||||||
return mix(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
return tint_select(acosh(x), vec2(0.0f), lessThan(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_acosh(vec4 x) {
|
vec4 tint_acosh(vec4 x) {
|
||||||
return mix(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
return tint_select(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_acosh(vec4 x) {
|
vec4 tint_acosh(vec4 x) {
|
||||||
return mix(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
return tint_select(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_acosh(vec4 x) {
|
vec4 tint_acosh(vec4 x) {
|
||||||
return mix(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
return tint_select(acosh(x), vec4(0.0f), lessThan(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_acosh(f16vec4 x) {
|
f16vec4 tint_acosh(f16vec4 x) {
|
||||||
return mix(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
return tint_select(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_acosh(f16vec4 x) {
|
f16vec4 tint_acosh(f16vec4 x) {
|
||||||
return mix(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
return tint_select(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_acosh(f16vec4 x) {
|
f16vec4 tint_acosh(f16vec4 x) {
|
||||||
return mix(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
return tint_select(acosh(x), f16vec4(0.0hf), lessThan(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_acosh(vec3 x) {
|
vec3 tint_acosh(vec3 x) {
|
||||||
return mix(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
return tint_select(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_acosh(vec3 x) {
|
vec3 tint_acosh(vec3 x) {
|
||||||
return mix(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
return tint_select(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_acosh(vec3 x) {
|
vec3 tint_acosh(vec3 x) {
|
||||||
return mix(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
return tint_select(acosh(x), vec3(0.0f), lessThan(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_acosh(f16vec3 x) {
|
f16vec3 tint_acosh(f16vec3 x) {
|
||||||
return mix(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
return tint_select(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_acosh(f16vec3 x) {
|
f16vec3 tint_acosh(f16vec3 x) {
|
||||||
return mix(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
return tint_select(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_acosh(f16vec3 x) {
|
f16vec3 tint_acosh(f16vec3 x) {
|
||||||
return mix(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
return tint_select(acosh(x), f16vec3(0.0hf), lessThan(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_atanh(vec3 x) {
|
vec3 tint_atanh(vec3 x) {
|
||||||
return mix(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
return tint_select(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_atanh(vec3 x) {
|
vec3 tint_atanh(vec3 x) {
|
||||||
return mix(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
return tint_select(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec3 tint_atanh(vec3 x) {
|
vec3 tint_atanh(vec3 x) {
|
||||||
return mix(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
return tint_select(atanh(x), vec3(0.0f), greaterThanEqual(x, vec3(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_atanh(f16vec2 x) {
|
f16vec2 tint_atanh(f16vec2 x) {
|
||||||
return mix(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
return tint_select(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_atanh(f16vec2 x) {
|
f16vec2 tint_atanh(f16vec2 x) {
|
||||||
return mix(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
return tint_select(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec2 tint_atanh(f16vec2 x) {
|
f16vec2 tint_atanh(f16vec2 x) {
|
||||||
return mix(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
return tint_select(atanh(x), f16vec2(0.0hf), greaterThanEqual(x, f16vec2(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_atanh(vec2 x) {
|
vec2 tint_atanh(vec2 x) {
|
||||||
return mix(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
return tint_select(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_atanh(vec2 x) {
|
vec2 tint_atanh(vec2 x) {
|
||||||
return mix(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
return tint_select(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec2 tint_atanh(vec2 x) {
|
vec2 tint_atanh(vec2 x) {
|
||||||
return mix(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
return tint_select(atanh(x), vec2(0.0f), greaterThanEqual(x, vec2(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_atanh(f16vec4 x) {
|
f16vec4 tint_atanh(f16vec4 x) {
|
||||||
return mix(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
return tint_select(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_atanh(f16vec4 x) {
|
f16vec4 tint_atanh(f16vec4 x) {
|
||||||
return mix(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
return tint_select(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec4 tint_atanh(f16vec4 x) {
|
f16vec4 tint_atanh(f16vec4 x) {
|
||||||
return mix(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
return tint_select(atanh(x), f16vec4(0.0hf), greaterThanEqual(x, f16vec4(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_atanh(f16vec3 x) {
|
f16vec3 tint_atanh(f16vec3 x) {
|
||||||
return mix(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
return tint_select(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -32,8 +37,13 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_atanh(f16vec3 x) {
|
f16vec3 tint_atanh(f16vec3 x) {
|
||||||
return mix(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
return tint_select(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -57,8 +67,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
f16vec3 tint_atanh(f16vec3 x) {
|
f16vec3 tint_atanh(f16vec3 x) {
|
||||||
return mix(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
return tint_select(atanh(x), f16vec3(0.0hf), greaterThanEqual(x, f16vec3(1.0hf)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_atanh(vec4 x) {
|
vec4 tint_atanh(vec4 x) {
|
||||||
return mix(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
return tint_select(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -30,8 +35,13 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_atanh(vec4 x) {
|
vec4 tint_atanh(vec4 x) {
|
||||||
return mix(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
return tint_select(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
@ -54,8 +64,13 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vec4 tint_atanh(vec4 x) {
|
vec4 tint_atanh(vec4 x) {
|
||||||
return mix(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
return tint_select(atanh(x), vec4(0.0f), greaterThanEqual(x, vec4(1.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_leading_zeros(uvec2 v) {
|
uvec2 tint_count_leading_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_leading_zeros(uvec2 v) {
|
uvec2 tint_count_leading_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_leading_zeros(uvec2 v) {
|
uvec2 tint_count_leading_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_leading_zeros(ivec3 v) {
|
ivec3 tint_count_leading_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_leading_zeros(ivec3 v) {
|
ivec3 tint_count_leading_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_leading_zeros(ivec3 v) {
|
ivec3 tint_count_leading_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_leading_zeros(ivec2 v) {
|
ivec2 tint_count_leading_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_leading_zeros(ivec2 v) {
|
ivec2 tint_count_leading_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_leading_zeros(ivec2 v) {
|
ivec2 tint_count_leading_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), lessThanEqual(x, uvec2(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), lessThanEqual(x, uvec2(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), lessThanEqual(x, uvec2(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), lessThanEqual(x, uvec2(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), lessThanEqual(x, uvec2(2147483647u)));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_leading_zeros(uvec3 v) {
|
uvec3 tint_count_leading_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_leading_zeros(uvec3 v) {
|
uvec3 tint_count_leading_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_leading_zeros(uvec3 v) {
|
uvec3 tint_count_leading_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), lessThanEqual(x, uvec3(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), lessThanEqual(x, uvec3(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), lessThanEqual(x, uvec3(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), lessThanEqual(x, uvec3(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), lessThanEqual(x, uvec3(2147483647u)));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_leading_zeros(ivec4 v) {
|
ivec4 tint_count_leading_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_leading_zeros(ivec4 v) {
|
ivec4 tint_count_leading_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_leading_zeros(ivec4 v) {
|
ivec4 tint_count_leading_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_leading_zeros(uvec4 v) {
|
uvec4 tint_count_leading_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_leading_zeros(uvec4 v) {
|
uvec4 tint_count_leading_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_leading_zeros(uvec4 v) {
|
uvec4 tint_count_leading_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), lessThanEqual(x, uvec4(65535u)));
|
||||||
x = (x << b16);
|
x = (x << b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), lessThanEqual(x, uvec4(16777215u)));
|
||||||
x = (x << b8);
|
x = (x << b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), lessThanEqual(x, uvec4(268435455u)));
|
||||||
x = (x << b4);
|
x = (x << b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), lessThanEqual(x, uvec4(1073741823u)));
|
||||||
x = (x << b2);
|
x = (x << b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), lessThanEqual(x, uvec4(2147483647u)));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
uvec2 tint_count_trailing_zeros(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
ivec4 tint_count_trailing_zeros(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
ivec2 tint_count_trailing_zeros(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(1u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
uvec3 tint_count_trailing_zeros(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
ivec3 tint_count_trailing_zeros(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(1u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
uvec4 tint_count_trailing_zeros(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(1u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) + is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_leading_bit(uvec4 v) {
|
uvec4 tint_first_leading_bit(uvec4 v) {
|
||||||
uvec4 x = v;
|
uvec4 x = v;
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_leading_bit(uvec4 v) {
|
uvec4 tint_first_leading_bit(uvec4 v) {
|
||||||
uvec4 x = v;
|
uvec4 x = v;
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_leading_bit(uvec4 v) {
|
uvec4 tint_first_leading_bit(uvec4 v) {
|
||||||
uvec4 x = v;
|
uvec4 x = v;
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_leading_bit(ivec3 v) {
|
ivec3 tint_first_leading_bit(ivec3 v) {
|
||||||
uvec3 x = mix(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
uvec3 x = tint_select(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_leading_bit(ivec3 v) {
|
ivec3 tint_first_leading_bit(ivec3 v) {
|
||||||
uvec3 x = mix(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
uvec3 x = tint_select(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_leading_bit(ivec3 v) {
|
ivec3 tint_first_leading_bit(ivec3 v) {
|
||||||
uvec3 x = mix(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
uvec3 x = tint_select(uvec3(v), uvec3(~(v)), lessThan(v, ivec3(0)));
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_leading_bit(uvec3 v) {
|
uvec3 tint_first_leading_bit(uvec3 v) {
|
||||||
uvec3 x = v;
|
uvec3 x = v;
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_leading_bit(uvec3 v) {
|
uvec3 tint_first_leading_bit(uvec3 v) {
|
||||||
uvec3 x = v;
|
uvec3 x = v;
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_leading_bit(uvec3 v) {
|
uvec3 tint_first_leading_bit(uvec3 v) {
|
||||||
uvec3 x = v;
|
uvec3 x = v;
|
||||||
uvec3 b16 = mix(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
uvec3 b16 = tint_select(uvec3(0u), uvec3(16u), bvec3((x & uvec3(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
uvec3 b8 = tint_select(uvec3(0u), uvec3(8u), bvec3((x & uvec3(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
uvec3 b4 = tint_select(uvec3(0u), uvec3(4u), bvec3((x & uvec3(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
uvec3 b2 = tint_select(uvec3(0u), uvec3(2u), bvec3((x & uvec3(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
uvec3 b1 = tint_select(uvec3(0u), uvec3(1u), bvec3((x & uvec3(2u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_leading_bit(uvec2 v) {
|
uvec2 tint_first_leading_bit(uvec2 v) {
|
||||||
uvec2 x = v;
|
uvec2 x = v;
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_leading_bit(uvec2 v) {
|
uvec2 tint_first_leading_bit(uvec2 v) {
|
||||||
uvec2 x = v;
|
uvec2 x = v;
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_leading_bit(uvec2 v) {
|
uvec2 tint_first_leading_bit(uvec2 v) {
|
||||||
uvec2 x = v;
|
uvec2 x = v;
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_leading_bit(ivec2 v) {
|
ivec2 tint_first_leading_bit(ivec2 v) {
|
||||||
uvec2 x = mix(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
uvec2 x = tint_select(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_leading_bit(ivec2 v) {
|
ivec2 tint_first_leading_bit(ivec2 v) {
|
||||||
uvec2 x = mix(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
uvec2 x = tint_select(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_leading_bit(ivec2 v) {
|
ivec2 tint_first_leading_bit(ivec2 v) {
|
||||||
uvec2 x = mix(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
uvec2 x = tint_select(uvec2(v), uvec2(~(v)), lessThan(v, ivec2(0)));
|
||||||
uvec2 b16 = mix(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
uvec2 b16 = tint_select(uvec2(0u), uvec2(16u), bvec2((x & uvec2(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
uvec2 b8 = tint_select(uvec2(0u), uvec2(8u), bvec2((x & uvec2(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
uvec2 b4 = tint_select(uvec2(0u), uvec2(4u), bvec2((x & uvec2(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
uvec2 b2 = tint_select(uvec2(0u), uvec2(2u), bvec2((x & uvec2(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
uvec2 b1 = tint_select(uvec2(0u), uvec2(1u), bvec2((x & uvec2(2u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_leading_bit(ivec4 v) {
|
ivec4 tint_first_leading_bit(ivec4 v) {
|
||||||
uvec4 x = mix(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
uvec4 x = tint_select(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_leading_bit(ivec4 v) {
|
ivec4 tint_first_leading_bit(ivec4 v) {
|
||||||
uvec4 x = mix(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
uvec4 x = tint_select(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_leading_bit(ivec4 v) {
|
ivec4 tint_first_leading_bit(ivec4 v) {
|
||||||
uvec4 x = mix(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
uvec4 x = tint_select(uvec4(v), uvec4(~(v)), lessThan(v, ivec4(0)));
|
||||||
uvec4 b16 = mix(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
uvec4 b16 = tint_select(uvec4(0u), uvec4(16u), bvec4((x & uvec4(4294901760u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
uvec4 b8 = tint_select(uvec4(0u), uvec4(8u), bvec4((x & uvec4(65280u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
uvec4 b4 = tint_select(uvec4(0u), uvec4(4u), bvec4((x & uvec4(240u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
uvec4 b2 = tint_select(uvec4(0u), uvec4(2u), bvec4((x & uvec4(12u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
uvec4 b1 = tint_select(uvec4(0u), uvec4(1u), bvec4((x & uvec4(2u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_trailing_bit(uvec4 v) {
|
uvec4 tint_first_trailing_bit(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_trailing_bit(uvec4 v) {
|
uvec4 tint_first_trailing_bit(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec4 tint_first_trailing_bit(uvec4 v) {
|
uvec4 tint_first_trailing_bit(uvec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_trailing_bit(uvec2 v) {
|
uvec2 tint_first_trailing_bit(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_trailing_bit(uvec2 v) {
|
uvec2 tint_first_trailing_bit(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec2 tint_first_trailing_bit(uvec2 v) {
|
uvec2 tint_first_trailing_bit(uvec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_trailing_bit(ivec2 v) {
|
ivec2 tint_first_trailing_bit(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_trailing_bit(ivec2 v) {
|
ivec2 tint_first_trailing_bit(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec2 tint_first_trailing_bit(ivec2 v) {
|
ivec2 tint_first_trailing_bit(ivec2 v) {
|
||||||
uvec2 x = uvec2(v);
|
uvec2 x = uvec2(v);
|
||||||
uvec2 b16 = mix(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
uvec2 b16 = tint_select(uvec2(16u), uvec2(0u), bvec2((x & uvec2(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec2 b8 = mix(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
uvec2 b8 = tint_select(uvec2(8u), uvec2(0u), bvec2((x & uvec2(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec2 b4 = mix(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
uvec2 b4 = tint_select(uvec2(4u), uvec2(0u), bvec2((x & uvec2(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec2 b2 = mix(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
uvec2 b2 = tint_select(uvec2(2u), uvec2(0u), bvec2((x & uvec2(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec2 b1 = mix(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
uvec2 b1 = tint_select(uvec2(1u), uvec2(0u), bvec2((x & uvec2(1u))));
|
||||||
uvec2 is_zero = mix(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
uvec2 is_zero = tint_select(uvec2(0u), uvec2(4294967295u), equal(x, uvec2(0u)));
|
||||||
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_trailing_bit(ivec3 v) {
|
ivec3 tint_first_trailing_bit(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_trailing_bit(ivec3 v) {
|
ivec3 tint_first_trailing_bit(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_first_trailing_bit(ivec3 v) {
|
ivec3 tint_first_trailing_bit(ivec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_trailing_bit(ivec4 v) {
|
ivec4 tint_first_trailing_bit(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_trailing_bit(ivec4 v) {
|
ivec4 tint_first_trailing_bit(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec4 tint_first_trailing_bit(ivec4 v) {
|
ivec4 tint_first_trailing_bit(ivec4 v) {
|
||||||
uvec4 x = uvec4(v);
|
uvec4 x = uvec4(v);
|
||||||
uvec4 b16 = mix(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
uvec4 b16 = tint_select(uvec4(16u), uvec4(0u), bvec4((x & uvec4(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec4 b8 = mix(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
uvec4 b8 = tint_select(uvec4(8u), uvec4(0u), bvec4((x & uvec4(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec4 b4 = mix(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
uvec4 b4 = tint_select(uvec4(4u), uvec4(0u), bvec4((x & uvec4(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec4 b2 = mix(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
uvec4 b2 = tint_select(uvec4(2u), uvec4(0u), bvec4((x & uvec4(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec4 b1 = mix(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
uvec4 b1 = tint_select(uvec4(1u), uvec4(0u), bvec4((x & uvec4(1u))));
|
||||||
uvec4 is_zero = mix(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
uvec4 is_zero = tint_select(uvec4(0u), uvec4(4294967295u), equal(x, uvec4(0u)));
|
||||||
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return ivec4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_trailing_bit(uvec3 v) {
|
uvec3 tint_first_trailing_bit(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,18 +46,23 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_trailing_bit(uvec3 v) {
|
uvec3 tint_first_trailing_bit(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,18 +86,23 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_first_trailing_bit(uvec3 v) {
|
uvec3 tint_first_trailing_bit(uvec3 v) {
|
||||||
uvec3 x = uvec3(v);
|
uvec3 x = uvec3(v);
|
||||||
uvec3 b16 = mix(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
uvec3 b16 = tint_select(uvec3(16u), uvec3(0u), bvec3((x & uvec3(65535u))));
|
||||||
x = (x >> b16);
|
x = (x >> b16);
|
||||||
uvec3 b8 = mix(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
uvec3 b8 = tint_select(uvec3(8u), uvec3(0u), bvec3((x & uvec3(255u))));
|
||||||
x = (x >> b8);
|
x = (x >> b8);
|
||||||
uvec3 b4 = mix(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
uvec3 b4 = tint_select(uvec3(4u), uvec3(0u), bvec3((x & uvec3(15u))));
|
||||||
x = (x >> b4);
|
x = (x >> b4);
|
||||||
uvec3 b2 = mix(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
uvec3 b2 = tint_select(uvec3(2u), uvec3(0u), bvec3((x & uvec3(3u))));
|
||||||
x = (x >> b2);
|
x = (x >> b2);
|
||||||
uvec3 b1 = mix(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
uvec3 b1 = tint_select(uvec3(1u), uvec3(0u), bvec3((x & uvec3(1u))));
|
||||||
uvec3 is_zero = mix(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
uvec3 is_zero = tint_select(uvec3(0u), uvec3(4294967295u), equal(x, uvec3(0u)));
|
||||||
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
return uvec3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec2 inner;
|
ivec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_00b848() {
|
||||||
ivec2 arg_0 = ivec2(1);
|
ivec2 arg_0 = ivec2(1);
|
||||||
ivec2 arg_1 = ivec2(1);
|
ivec2 arg_1 = ivec2(1);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(arg_0, arg_1, arg_2);
|
ivec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec2 inner;
|
ivec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_00b848() {
|
||||||
ivec2 arg_0 = ivec2(1);
|
ivec2 arg_0 = ivec2(1);
|
||||||
ivec2 arg_1 = ivec2(1);
|
ivec2 arg_1 = ivec2(1);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(arg_0, arg_1, arg_2);
|
ivec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec2 inner;
|
ivec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_00b848() {
|
||||||
ivec2 arg_0 = ivec2(1);
|
ivec2 arg_0 = ivec2(1);
|
||||||
ivec2 arg_1 = ivec2(1);
|
ivec2 arg_1 = ivec2(1);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(arg_0, arg_1, arg_2);
|
ivec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec3 inner;
|
ivec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_01e2cd() {
|
||||||
ivec3 arg_0 = ivec3(1);
|
ivec3 arg_0 = ivec3(1);
|
||||||
ivec3 arg_1 = ivec3(1);
|
ivec3 arg_1 = ivec3(1);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(arg_0, arg_1, arg_2);
|
ivec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec3 inner;
|
ivec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_01e2cd() {
|
||||||
ivec3 arg_0 = ivec3(1);
|
ivec3 arg_0 = ivec3(1);
|
||||||
ivec3 arg_1 = ivec3(1);
|
ivec3 arg_1 = ivec3(1);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(arg_0, arg_1, arg_2);
|
ivec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec3 inner;
|
ivec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_01e2cd() {
|
||||||
ivec3 arg_0 = ivec3(1);
|
ivec3 arg_0 = ivec3(1);
|
||||||
ivec3 arg_1 = ivec3(1);
|
ivec3 arg_1 = ivec3(1);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(arg_0, arg_1, arg_2);
|
ivec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec2 inner;
|
uvec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_1e960b() {
|
||||||
uvec2 arg_0 = uvec2(1u);
|
uvec2 arg_0 = uvec2(1u);
|
||||||
uvec2 arg_1 = uvec2(1u);
|
uvec2 arg_1 = uvec2(1u);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
uvec2 res = mix(arg_0, arg_1, arg_2);
|
uvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec2 inner;
|
uvec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_1e960b() {
|
||||||
uvec2 arg_0 = uvec2(1u);
|
uvec2 arg_0 = uvec2(1u);
|
||||||
uvec2 arg_1 = uvec2(1u);
|
uvec2 arg_1 = uvec2(1u);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
uvec2 res = mix(arg_0, arg_1, arg_2);
|
uvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec2 tint_select(uvec2 param_0, uvec2 param_1, bvec2 param_2) {
|
||||||
|
return uvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec2 inner;
|
uvec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_1e960b() {
|
||||||
uvec2 arg_0 = uvec2(1u);
|
uvec2 arg_0 = uvec2(1u);
|
||||||
uvec2 arg_1 = uvec2(1u);
|
uvec2 arg_1 = uvec2(1u);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
uvec2 res = mix(arg_0, arg_1, arg_2);
|
uvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_1f4d93() {
|
void select_1f4d93() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(vec2(1.0f), vec2(1.0f), arg_2);
|
vec2 res = tint_select(vec2(1.0f), vec2(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_1f4d93() {
|
void select_1f4d93() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(vec2(1.0f), vec2(1.0f), arg_2);
|
vec2 res = tint_select(vec2(1.0f), vec2(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_1f4d93() {
|
void select_1f4d93() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(vec2(1.0f), vec2(1.0f), arg_2);
|
vec2 res = tint_select(vec2(1.0f), vec2(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec2 inner;
|
vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_266aff() {
|
||||||
vec2 arg_0 = vec2(1.0f);
|
vec2 arg_0 = vec2(1.0f);
|
||||||
vec2 arg_1 = vec2(1.0f);
|
vec2 arg_1 = vec2(1.0f);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(arg_0, arg_1, arg_2);
|
vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec2 inner;
|
vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_266aff() {
|
||||||
vec2 arg_0 = vec2(1.0f);
|
vec2 arg_0 = vec2(1.0f);
|
||||||
vec2 arg_1 = vec2(1.0f);
|
vec2 arg_1 = vec2(1.0f);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(arg_0, arg_1, arg_2);
|
vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec2 tint_select(vec2 param_0, vec2 param_1, bvec2 param_2) {
|
||||||
|
return vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec2 inner;
|
vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_266aff() {
|
||||||
vec2 arg_0 = vec2(1.0f);
|
vec2 arg_0 = vec2(1.0f);
|
||||||
vec2 arg_1 = vec2(1.0f);
|
vec2 arg_1 = vec2(1.0f);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
vec2 res = mix(arg_0, arg_1, arg_2);
|
vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec3 inner;
|
uvec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_28a27e() {
|
||||||
uvec3 arg_0 = uvec3(1u);
|
uvec3 arg_0 = uvec3(1u);
|
||||||
uvec3 arg_1 = uvec3(1u);
|
uvec3 arg_1 = uvec3(1u);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
uvec3 res = mix(arg_0, arg_1, arg_2);
|
uvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec3 inner;
|
uvec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_28a27e() {
|
||||||
uvec3 arg_0 = uvec3(1u);
|
uvec3 arg_0 = uvec3(1u);
|
||||||
uvec3 arg_1 = uvec3(1u);
|
uvec3 arg_1 = uvec3(1u);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
uvec3 res = mix(arg_0, arg_1, arg_2);
|
uvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec3 inner;
|
uvec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_28a27e() {
|
||||||
uvec3 arg_0 = uvec3(1u);
|
uvec3 arg_0 = uvec3(1u);
|
||||||
uvec3 arg_1 = uvec3(1u);
|
uvec3 arg_1 = uvec3(1u);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
uvec3 res = mix(arg_0, arg_1, arg_2);
|
uvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_2c96d4() {
|
void select_2c96d4() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(vec3(1.0f), vec3(1.0f), arg_2);
|
vec3 res = tint_select(vec3(1.0f), vec3(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_2c96d4() {
|
void select_2c96d4() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(vec3(1.0f), vec3(1.0f), arg_2);
|
vec3 res = tint_select(vec3(1.0f), vec3(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_2c96d4() {
|
void select_2c96d4() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(vec3(1.0f), vec3(1.0f), arg_2);
|
vec3 res = tint_select(vec3(1.0f), vec3(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_431dfb() {
|
void select_431dfb() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(ivec2(1), ivec2(1), arg_2);
|
ivec2 res = tint_select(ivec2(1), ivec2(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_431dfb() {
|
void select_431dfb() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(ivec2(1), ivec2(1), arg_2);
|
ivec2 res = tint_select(ivec2(1), ivec2(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec2 tint_select(ivec2 param_0, ivec2 param_1, bvec2 param_2) {
|
||||||
|
return ivec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_431dfb() {
|
void select_431dfb() {
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
ivec2 res = mix(ivec2(1), ivec2(1), arg_2);
|
ivec2 res = tint_select(ivec2(1), ivec2(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_43741e() {
|
void select_43741e() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(vec4(1.0f), vec4(1.0f), arg_2);
|
vec4 res = tint_select(vec4(1.0f), vec4(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_43741e() {
|
void select_43741e() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(vec4(1.0f), vec4(1.0f), arg_2);
|
vec4 res = tint_select(vec4(1.0f), vec4(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_43741e() {
|
void select_43741e() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(vec4(1.0f), vec4(1.0f), arg_2);
|
vec4 res = tint_select(vec4(1.0f), vec4(1.0f), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_4c4738() {
|
void select_4c4738() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(ivec4(1), ivec4(1), arg_2);
|
ivec4 res = tint_select(ivec4(1), ivec4(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_4c4738() {
|
void select_4c4738() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(ivec4(1), ivec4(1), arg_2);
|
ivec4 res = tint_select(ivec4(1), ivec4(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_4c4738() {
|
void select_4c4738() {
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(ivec4(1), ivec4(1), arg_2);
|
ivec4 res = tint_select(ivec4(1), ivec4(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec3 inner;
|
f16vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -9,7 +14,7 @@ void select_53d518() {
|
||||||
f16vec3 arg_0 = f16vec3(1.0hf);
|
f16vec3 arg_0 = f16vec3(1.0hf);
|
||||||
f16vec3 arg_1 = f16vec3(1.0hf);
|
f16vec3 arg_1 = f16vec3(1.0hf);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
f16vec3 res = mix(arg_0, arg_1, arg_2);
|
f16vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +35,11 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec3 inner;
|
f16vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -38,7 +48,7 @@ void select_53d518() {
|
||||||
f16vec3 arg_0 = f16vec3(1.0hf);
|
f16vec3 arg_0 = f16vec3(1.0hf);
|
||||||
f16vec3 arg_1 = f16vec3(1.0hf);
|
f16vec3 arg_1 = f16vec3(1.0hf);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
f16vec3 res = mix(arg_0, arg_1, arg_2);
|
f16vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +63,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec3 tint_select(f16vec3 param_0, f16vec3 param_1, bvec3 param_2) {
|
||||||
|
return f16vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec3 inner;
|
f16vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -61,7 +76,7 @@ void select_53d518() {
|
||||||
f16vec3 arg_0 = f16vec3(1.0hf);
|
f16vec3 arg_0 = f16vec3(1.0hf);
|
||||||
f16vec3 arg_1 = f16vec3(1.0hf);
|
f16vec3 arg_1 = f16vec3(1.0hf);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
f16vec3 res = mix(arg_0, arg_1, arg_2);
|
f16vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec3 tint_select(bvec3 param_0, bvec3 param_1, bvec3 param_2) {
|
||||||
|
return bvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_80a9a9() {
|
||||||
bvec3 arg_0 = bvec3(true);
|
bvec3 arg_0 = bvec3(true);
|
||||||
bvec3 arg_1 = bvec3(true);
|
bvec3 arg_1 = bvec3(true);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
bvec3 res = mix(arg_0, arg_1, arg_2);
|
bvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
bvec3 tint_select(bvec3 param_0, bvec3 param_1, bvec3 param_2) {
|
||||||
|
return bvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_80a9a9() {
|
||||||
bvec3 arg_0 = bvec3(true);
|
bvec3 arg_0 = bvec3(true);
|
||||||
bvec3 arg_1 = bvec3(true);
|
bvec3 arg_1 = bvec3(true);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
bvec3 res = mix(arg_0, arg_1, arg_2);
|
bvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec3 tint_select(bvec3 param_0, bvec3 param_1, bvec3 param_2) {
|
||||||
|
return bvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_80a9a9() {
|
||||||
bvec3 arg_0 = bvec3(true);
|
bvec3 arg_0 = bvec3(true);
|
||||||
bvec3 arg_1 = bvec3(true);
|
bvec3 arg_1 = bvec3(true);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
bvec3 res = mix(arg_0, arg_1, arg_2);
|
bvec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec3(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec4 inner;
|
f16vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -9,7 +14,7 @@ void select_a081f1() {
|
||||||
f16vec4 arg_0 = f16vec4(1.0hf);
|
f16vec4 arg_0 = f16vec4(1.0hf);
|
||||||
f16vec4 arg_1 = f16vec4(1.0hf);
|
f16vec4 arg_1 = f16vec4(1.0hf);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
f16vec4 res = mix(arg_0, arg_1, arg_2);
|
f16vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +35,11 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec4 inner;
|
f16vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -38,7 +48,7 @@ void select_a081f1() {
|
||||||
f16vec4 arg_0 = f16vec4(1.0hf);
|
f16vec4 arg_0 = f16vec4(1.0hf);
|
||||||
f16vec4 arg_1 = f16vec4(1.0hf);
|
f16vec4 arg_1 = f16vec4(1.0hf);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
f16vec4 res = mix(arg_0, arg_1, arg_2);
|
f16vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +63,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec4 tint_select(f16vec4 param_0, f16vec4 param_1, bvec4 param_2) {
|
||||||
|
return f16vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec4 inner;
|
f16vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -61,7 +76,7 @@ void select_a081f1() {
|
||||||
f16vec4 arg_0 = f16vec4(1.0hf);
|
f16vec4 arg_0 = f16vec4(1.0hf);
|
||||||
f16vec4 arg_1 = f16vec4(1.0hf);
|
f16vec4 arg_1 = f16vec4(1.0hf);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
f16vec4 res = mix(arg_0, arg_1, arg_2);
|
f16vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec4 inner;
|
ivec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_a2860e() {
|
||||||
ivec4 arg_0 = ivec4(1);
|
ivec4 arg_0 = ivec4(1);
|
||||||
ivec4 arg_1 = ivec4(1);
|
ivec4 arg_1 = ivec4(1);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(arg_0, arg_1, arg_2);
|
ivec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec4 inner;
|
ivec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_a2860e() {
|
||||||
ivec4 arg_0 = ivec4(1);
|
ivec4 arg_0 = ivec4(1);
|
||||||
ivec4 arg_1 = ivec4(1);
|
ivec4 arg_1 = ivec4(1);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(arg_0, arg_1, arg_2);
|
ivec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec4 tint_select(ivec4 param_0, ivec4 param_1, bvec4 param_2) {
|
||||||
|
return ivec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
ivec4 inner;
|
ivec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_a2860e() {
|
||||||
ivec4 arg_0 = ivec4(1);
|
ivec4 arg_0 = ivec4(1);
|
||||||
ivec4 arg_1 = ivec4(1);
|
ivec4 arg_1 = ivec4(1);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
ivec4 res = mix(arg_0, arg_1, arg_2);
|
ivec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_b93806() {
|
void select_b93806() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(ivec3(1), ivec3(1), arg_2);
|
ivec3 res = tint_select(ivec3(1), ivec3(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 vertex_main() {
|
vec4 vertex_main() {
|
||||||
|
@ -21,9 +26,14 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_b93806() {
|
void select_b93806() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(ivec3(1), ivec3(1), arg_2);
|
ivec3 res = tint_select(ivec3(1), ivec3(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment_main() {
|
void fragment_main() {
|
||||||
|
@ -36,9 +46,14 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void select_b93806() {
|
void select_b93806() {
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
ivec3 res = mix(ivec3(1), ivec3(1), arg_2);
|
ivec3 res = tint_select(ivec3(1), ivec3(1), arg_2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void compute_main() {
|
void compute_main() {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec4 inner;
|
vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_bb8aae() {
|
||||||
vec4 arg_0 = vec4(1.0f);
|
vec4 arg_0 = vec4(1.0f);
|
||||||
vec4 arg_1 = vec4(1.0f);
|
vec4 arg_1 = vec4(1.0f);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(arg_0, arg_1, arg_2);
|
vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec4 inner;
|
vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_bb8aae() {
|
||||||
vec4 arg_0 = vec4(1.0f);
|
vec4 arg_0 = vec4(1.0f);
|
||||||
vec4 arg_1 = vec4(1.0f);
|
vec4 arg_1 = vec4(1.0f);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(arg_0, arg_1, arg_2);
|
vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec4 tint_select(vec4 param_0, vec4 param_1, bvec4 param_2) {
|
||||||
|
return vec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec4 inner;
|
vec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_bb8aae() {
|
||||||
vec4 arg_0 = vec4(1.0f);
|
vec4 arg_0 = vec4(1.0f);
|
||||||
vec4 arg_1 = vec4(1.0f);
|
vec4 arg_1 = vec4(1.0f);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
vec4 res = mix(arg_0, arg_1, arg_2);
|
vec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec4 inner;
|
uvec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_c4a4ef() {
|
||||||
uvec4 arg_0 = uvec4(1u);
|
uvec4 arg_0 = uvec4(1u);
|
||||||
uvec4 arg_1 = uvec4(1u);
|
uvec4 arg_1 = uvec4(1u);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
uvec4 res = mix(arg_0, arg_1, arg_2);
|
uvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec4 inner;
|
uvec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_c4a4ef() {
|
||||||
uvec4 arg_0 = uvec4(1u);
|
uvec4 arg_0 = uvec4(1u);
|
||||||
uvec4 arg_1 = uvec4(1u);
|
uvec4 arg_1 = uvec4(1u);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
uvec4 res = mix(arg_0, arg_1, arg_2);
|
uvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec4 tint_select(uvec4 param_0, uvec4 param_1, bvec4 param_2) {
|
||||||
|
return uvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
uvec4 inner;
|
uvec4 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_c4a4ef() {
|
||||||
uvec4 arg_0 = uvec4(1u);
|
uvec4 arg_0 = uvec4(1u);
|
||||||
uvec4 arg_1 = uvec4(1u);
|
uvec4 arg_1 = uvec4(1u);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
uvec4 res = mix(arg_0, arg_1, arg_2);
|
uvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec2 tint_select(bvec2 param_0, bvec2 param_1, bvec2 param_2) {
|
||||||
|
return bvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_cb9301() {
|
||||||
bvec2 arg_0 = bvec2(true);
|
bvec2 arg_0 = bvec2(true);
|
||||||
bvec2 arg_1 = bvec2(true);
|
bvec2 arg_1 = bvec2(true);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
bvec2 res = mix(arg_0, arg_1, arg_2);
|
bvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
bvec2 tint_select(bvec2 param_0, bvec2 param_1, bvec2 param_2) {
|
||||||
|
return bvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_cb9301() {
|
||||||
bvec2 arg_0 = bvec2(true);
|
bvec2 arg_0 = bvec2(true);
|
||||||
bvec2 arg_1 = bvec2(true);
|
bvec2 arg_1 = bvec2(true);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
bvec2 res = mix(arg_0, arg_1, arg_2);
|
bvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec2 tint_select(bvec2 param_0, bvec2 param_1, bvec2 param_2) {
|
||||||
|
return bvec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_cb9301() {
|
||||||
bvec2 arg_0 = bvec2(true);
|
bvec2 arg_0 = bvec2(true);
|
||||||
bvec2 arg_1 = bvec2(true);
|
bvec2 arg_1 = bvec2(true);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
bvec2 res = mix(arg_0, arg_1, arg_2);
|
bvec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec2(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec4 tint_select(bvec4 param_0, bvec4 param_1, bvec4 param_2) {
|
||||||
|
return bvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_e3e028() {
|
||||||
bvec4 arg_0 = bvec4(true);
|
bvec4 arg_0 = bvec4(true);
|
||||||
bvec4 arg_1 = bvec4(true);
|
bvec4 arg_1 = bvec4(true);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
bvec4 res = mix(arg_0, arg_1, arg_2);
|
bvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
bvec4 tint_select(bvec4 param_0, bvec4 param_1, bvec4 param_2) {
|
||||||
|
return bvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_e3e028() {
|
||||||
bvec4 arg_0 = bvec4(true);
|
bvec4 arg_0 = bvec4(true);
|
||||||
bvec4 arg_1 = bvec4(true);
|
bvec4 arg_1 = bvec4(true);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
bvec4 res = mix(arg_0, arg_1, arg_2);
|
bvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
bvec4 tint_select(bvec4 param_0, bvec4 param_1, bvec4 param_2) {
|
||||||
|
return bvec4(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2], param_2[3] ? param_1[3] : param_0[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
int inner;
|
int inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_e3e028() {
|
||||||
bvec4 arg_0 = bvec4(true);
|
bvec4 arg_0 = bvec4(true);
|
||||||
bvec4 arg_1 = bvec4(true);
|
bvec4 arg_1 = bvec4(true);
|
||||||
bvec4 arg_2 = bvec4(true);
|
bvec4 arg_2 = bvec4(true);
|
||||||
bvec4 res = mix(arg_0, arg_1, arg_2);
|
bvec4 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
prevent_dce.inner = (all(equal(res, bvec4(false))) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec3 inner;
|
vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -8,7 +13,7 @@ void select_ebfea2() {
|
||||||
vec3 arg_0 = vec3(1.0f);
|
vec3 arg_0 = vec3(1.0f);
|
||||||
vec3 arg_1 = vec3(1.0f);
|
vec3 arg_1 = vec3(1.0f);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(arg_0, arg_1, arg_2);
|
vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +33,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec3 inner;
|
vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -36,7 +46,7 @@ void select_ebfea2() {
|
||||||
vec3 arg_0 = vec3(1.0f);
|
vec3 arg_0 = vec3(1.0f);
|
||||||
vec3 arg_1 = vec3(1.0f);
|
vec3 arg_1 = vec3(1.0f);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(arg_0, arg_1, arg_2);
|
vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +60,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
vec3 inner;
|
vec3 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -58,7 +73,7 @@ void select_ebfea2() {
|
||||||
vec3 arg_0 = vec3(1.0f);
|
vec3 arg_0 = vec3(1.0f);
|
||||||
vec3 arg_1 = vec3(1.0f);
|
vec3 arg_1 = vec3(1.0f);
|
||||||
bvec3 arg_2 = bvec3(true);
|
bvec3 arg_2 = bvec3(true);
|
||||||
vec3 res = mix(arg_0, arg_1, arg_2);
|
vec3 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec2 inner;
|
f16vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -9,7 +14,7 @@ void select_ed7c13() {
|
||||||
f16vec2 arg_0 = f16vec2(1.0hf);
|
f16vec2 arg_0 = f16vec2(1.0hf);
|
||||||
f16vec2 arg_1 = f16vec2(1.0hf);
|
f16vec2 arg_1 = f16vec2(1.0hf);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
f16vec2 res = mix(arg_0, arg_1, arg_2);
|
f16vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +35,11 @@ void main() {
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec2 inner;
|
f16vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -38,7 +48,7 @@ void select_ed7c13() {
|
||||||
f16vec2 arg_0 = f16vec2(1.0hf);
|
f16vec2 arg_0 = f16vec2(1.0hf);
|
||||||
f16vec2 arg_1 = f16vec2(1.0hf);
|
f16vec2 arg_1 = f16vec2(1.0hf);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
f16vec2 res = mix(arg_0, arg_1, arg_2);
|
f16vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +63,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
#extension GL_AMD_gpu_shader_half_float : require
|
#extension GL_AMD_gpu_shader_half_float : require
|
||||||
|
|
||||||
|
f16vec2 tint_select(f16vec2 param_0, f16vec2 param_1, bvec2 param_2) {
|
||||||
|
return f16vec2(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
layout(binding = 0, std430) buffer prevent_dce_block_ssbo {
|
||||||
f16vec2 inner;
|
f16vec2 inner;
|
||||||
} prevent_dce;
|
} prevent_dce;
|
||||||
|
@ -61,7 +76,7 @@ void select_ed7c13() {
|
||||||
f16vec2 arg_0 = f16vec2(1.0hf);
|
f16vec2 arg_0 = f16vec2(1.0hf);
|
||||||
f16vec2 arg_1 = f16vec2(1.0hf);
|
f16vec2 arg_1 = f16vec2(1.0hf);
|
||||||
bvec2 arg_2 = bvec2(true);
|
bvec2 arg_2 = bvec2(true);
|
||||||
f16vec2 res = mix(arg_0, arg_1, arg_2);
|
f16vec2 res = tint_select(arg_0, arg_1, arg_2);
|
||||||
prevent_dce.inner = res;
|
prevent_dce.inner = res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -100,6 +105,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -149,7 +159,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -194,6 +204,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -243,7 +258,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, uvec2 coord, ExternalTextureParams params) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -100,6 +105,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -149,7 +159,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -194,6 +204,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -243,7 +258,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,6 +114,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -158,7 +168,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -212,6 +222,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -261,7 +276,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -49,7 +54,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -98,6 +103,11 @@ void main() {
|
||||||
#version 310 es
|
#version 310 es
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -147,7 +157,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
@ -190,6 +200,11 @@ void main() {
|
||||||
}
|
}
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
vec3 tint_select(vec3 param_0, vec3 param_1, bvec3 param_2) {
|
||||||
|
return vec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct GammaTransferParams {
|
struct GammaTransferParams {
|
||||||
float G;
|
float G;
|
||||||
float A;
|
float A;
|
||||||
|
@ -239,7 +254,7 @@ vec3 gammaCorrection(vec3 v, GammaTransferParams params) {
|
||||||
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
bvec3 cond = lessThan(abs(v), vec3(params.D));
|
||||||
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
vec3 t = (sign(v) * ((params.C * abs(v)) + params.F));
|
||||||
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
vec3 f = (sign(v) * (pow(((params.A * abs(v)) + params.B), vec3(params.G)) + params.E));
|
||||||
return mix(f, t, cond);
|
return tint_select(f, t, cond);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
vec4 textureLoadExternal(highp sampler2D plane0_1, highp sampler2D plane1_1, ivec2 coord, ExternalTextureParams params) {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(int lhs, ivec3 rhs) {
|
ivec3 tint_div(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
return (l / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (l / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, int rhs) {
|
ivec3 tint_div(ivec3 lhs, int rhs) {
|
||||||
ivec3 r = ivec3(rhs);
|
ivec3 r = ivec3(rhs);
|
||||||
return (lhs / mix(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
return (lhs / tint_select(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
||||||
uvec3 r = uvec3(rhs);
|
uvec3 r = uvec3(rhs);
|
||||||
return (lhs / mix(r, uvec3(1u), equal(r, uvec3(0u))));
|
return (lhs / tint_select(r, uvec3(1u), equal(r, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
||||||
return (lhs / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (lhs / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
||||||
return (lhs / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (lhs / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(int lhs, ivec3 rhs) {
|
ivec3 tint_div(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
return (l / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (l / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, int rhs) {
|
ivec3 tint_div(ivec3 lhs, int rhs) {
|
||||||
ivec3 r = ivec3(rhs);
|
ivec3 r = ivec3(rhs);
|
||||||
return (lhs / mix(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
return (lhs / tint_select(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
||||||
uvec3 r = uvec3(rhs);
|
uvec3 r = uvec3(rhs);
|
||||||
return (lhs / mix(r, uvec3(1u), equal(r, uvec3(0u))));
|
return (lhs / tint_select(r, uvec3(1u), equal(r, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
||||||
return (lhs / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (lhs / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
||||||
return (lhs / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (lhs / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(int lhs, ivec3 rhs) {
|
ivec3 tint_div(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
return (l / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (l / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, int rhs) {
|
ivec3 tint_div(ivec3 lhs, int rhs) {
|
||||||
ivec3 r = ivec3(rhs);
|
ivec3 r = ivec3(rhs);
|
||||||
return (lhs / mix(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
return (lhs / tint_select(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
||||||
uvec3 r = uvec3(rhs);
|
uvec3 r = uvec3(rhs);
|
||||||
return (lhs / mix(r, uvec3(1u), equal(r, uvec3(0u))));
|
return (lhs / tint_select(r, uvec3(1u), equal(r, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
||||||
return (lhs / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (lhs / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
||||||
return (lhs / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (lhs / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(int lhs, ivec3 rhs) {
|
ivec3 tint_div(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
return (l / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (l / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
uvec3 tint_div(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, int rhs) {
|
ivec3 tint_div(ivec3 lhs, int rhs) {
|
||||||
ivec3 r = ivec3(rhs);
|
ivec3 r = ivec3(rhs);
|
||||||
return (lhs / mix(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
return (lhs / tint_select(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
uvec3 tint_div(uvec3 lhs, uint rhs) {
|
||||||
uvec3 r = uvec3(rhs);
|
uvec3 r = uvec3(rhs);
|
||||||
return (lhs / mix(r, uvec3(1u), equal(r, uvec3(0u))));
|
return (lhs / tint_select(r, uvec3(1u), equal(r, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
ivec3 tint_div(ivec3 lhs, ivec3 rhs) {
|
||||||
return (lhs / mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
return (lhs / tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1))))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
uvec3 tint_div(uvec3 lhs, uvec3 rhs) {
|
||||||
return (lhs / mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (lhs / tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_mod(int lhs, ivec3 rhs) {
|
ivec3 tint_mod(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
ivec3 rhs_or_one = mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
ivec3 rhs_or_one = tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
||||||
if (any(notEqual((uvec3((l | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
if (any(notEqual((uvec3((l | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
||||||
return (l - ((l / rhs_or_one) * rhs_or_one));
|
return (l - ((l / rhs_or_one) * rhs_or_one));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_mod(uint lhs, uvec3 rhs) {
|
uvec3 tint_mod(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l % mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l % tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_mod(ivec3 lhs, int rhs) {
|
ivec3 tint_mod(ivec3 lhs, int rhs) {
|
||||||
ivec3 r = ivec3(rhs);
|
ivec3 r = ivec3(rhs);
|
||||||
ivec3 rhs_or_one = mix(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1)))))));
|
ivec3 rhs_or_one = tint_select(r, ivec3(1), bvec3(uvec3(equal(r, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(r, ivec3(-1)))))));
|
||||||
if (any(notEqual((uvec3((lhs | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
if (any(notEqual((uvec3((lhs | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
||||||
return (lhs - ((lhs / rhs_or_one) * rhs_or_one));
|
return (lhs - ((lhs / rhs_or_one) * rhs_or_one));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_mod(uvec3 lhs, uint rhs) {
|
uvec3 tint_mod(uvec3 lhs, uint rhs) {
|
||||||
uvec3 r = uvec3(rhs);
|
uvec3 r = uvec3(rhs);
|
||||||
return (lhs % mix(r, uvec3(1u), equal(r, uvec3(0u))));
|
return (lhs % tint_select(r, uvec3(1u), equal(r, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_mod(ivec3 lhs, ivec3 rhs) {
|
ivec3 tint_mod(ivec3 lhs, ivec3 rhs) {
|
||||||
ivec3 rhs_or_one = mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
ivec3 rhs_or_one = tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(lhs, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
||||||
if (any(notEqual((uvec3((lhs | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
if (any(notEqual((uvec3((lhs | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
||||||
return (lhs - ((lhs / rhs_or_one) * rhs_or_one));
|
return (lhs - ((lhs / rhs_or_one) * rhs_or_one));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_mod(uvec3 lhs, uvec3 rhs) {
|
uvec3 tint_mod(uvec3 lhs, uvec3 rhs) {
|
||||||
return (lhs % mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (lhs % tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
ivec3 tint_select(ivec3 param_0, ivec3 param_1, bvec3 param_2) {
|
||||||
|
return ivec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ivec3 tint_mod(int lhs, ivec3 rhs) {
|
ivec3 tint_mod(int lhs, ivec3 rhs) {
|
||||||
ivec3 l = ivec3(lhs);
|
ivec3 l = ivec3(lhs);
|
||||||
ivec3 rhs_or_one = mix(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
ivec3 rhs_or_one = tint_select(rhs, ivec3(1), bvec3(uvec3(equal(rhs, ivec3(0))) | uvec3(bvec3(uvec3(equal(l, ivec3((-2147483647 - 1)))) & uvec3(equal(rhs, ivec3(-1)))))));
|
||||||
if (any(notEqual((uvec3((l | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
if (any(notEqual((uvec3((l | rhs_or_one)) & uvec3(2147483648u)), uvec3(0u)))) {
|
||||||
return (l - ((l / rhs_or_one) * rhs_or_one));
|
return (l - ((l / rhs_or_one) * rhs_or_one));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
#version 310 es
|
#version 310 es
|
||||||
|
|
||||||
|
uvec3 tint_select(uvec3 param_0, uvec3 param_1, bvec3 param_2) {
|
||||||
|
return uvec3(param_2[0] ? param_1[0] : param_0[0], param_2[1] ? param_1[1] : param_0[1], param_2[2] ? param_1[2] : param_0[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uvec3 tint_mod(uint lhs, uvec3 rhs) {
|
uvec3 tint_mod(uint lhs, uvec3 rhs) {
|
||||||
uvec3 l = uvec3(lhs);
|
uvec3 l = uvec3(lhs);
|
||||||
return (l % mix(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
return (l % tint_select(rhs, uvec3(1u), equal(rhs, uvec3(0u))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void f() {
|
void f() {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue